views:

412

answers:

9

"Today is Friday and the Client needs the feature by Monday (There is a slip in project schedule but client needs it any how.), No developer is willing/coming to work on Saturday and Sunday. What will you do as a Team Leader?"

This was asked to my friend in interview.

And my friend answered "If no developer is willing/coming then i lead by example and will code so that the developers will understand what commitment is all about"

But the interviewer counter attacked by asking "It's not your responsibility to code"

So what could be the better answer?

+2  A: 

Explain to the customer or those higher up that they can't have the feature by Monday.

Andreas Brinck
+1  A: 

Just Say No!

Gonna design, code, test, and release a feature on the weekend by yourself? I doubt it.

Tim Drisdelle
+13  A: 

I think the Team Leader's responsibility is to push back to the client or to management if the request is unreasonable, because of the requirements or the time is too short.

A good team leader will need good communication skills so it can effectively communicate to the client or management that why is in their best interest to have this feature implemented and tested properly instead of quick as possible.

gyurisc
Your answer is right if the context were a client delivery/deployment. I had faced a similar situation as a developer, when we needed to cram a new feature into a "prototype" just in time for a major International conference.
Ashwin Prabhu
+7  A: 

So what could be the better answer?

I'd ask what the company had done to those developers that they would not be willing to help out when there's such an obvious need.

But there are more questions to be asked:

  • Who promised that the feature would be ready by Monday and who watched that the milestones were kept (or not)?
  • Had anybody thought of asking the developers whether there actually ever was a chance the promise could be kept?
  • Why do they detect only on Friday that the feature won't be done by Monday?
  • Who decided that the developers (or, given that they aren't willing, the team leader) must suffer for such obvious mismanagement?
  • Is it common that developers must compensate such failures? (Which would answer the question what they had done to them.)
sbi
+3  A: 

Your responsibility as a leader is to ensure that the job gets done. If that requires coding and no one else is around, then you have to do it.

Granted, if you frequently end up doing stuff that is really supposed to be done by someone else, then there's something wrong with the process and something should be done about it.

Joonas Pulakka
And punish lazy devs afterwards. :D
Arnis L.
That would only make management and the customer come back and ask for more. Simply say no.
Saying no is definitely an option, but it depends... What's the problem with your customer asking you to do stuff that you're paid for? If you're not flexible and your competitor is, then guess who's going to get the job next time?
Joonas Pulakka
+8  A: 

It is a dumb question. If you are in that position in the first place, you are a bad team leader. First of all, you need to have all the feature requirements in hand before even starting the project, if you work on a more scrum-based project where the managers, customers and others can push in / ad-hoc features, sure then you have a different perspective.

However, you always follow the documentation and the time plan. There is never room for a "We need this on monday"-statement. It smells bad management all over when that comes on the table.

But IF the customer would say something like this, you need to clearify that this is not how it works and buy more time for the project.

Also, if this is asked on an interview, you are most likely to be asked this later in your work, to come in on saturdays and such, which should be out of the question.

Filip Ekberg
...so do not join that company!!
Krunal
Sometimes companies work in a 'make it work', then patch it if needed [they get more $$ anyhow..]So when a company offers something a bit cheaper, in less time because a lot of good practices are forgotten, then it might be valued more by the customer.I saw a website that did not cache images on the server, it always resized the image real-time from the original for the user. That was extremely absurd..When they sold the platform, and it did not work properly on the new slow server, they revised it.
Yossi
Okay, bad management has happened. You are new on the company and are expected to fix it. The most important customer (accustomed by now to being able to ask unreasonable demands) now says "I have to have this on monday". The customer happens to actually really need it on monday or will lose big time (so buying more time is not an option). What do you do? And most importantly, how do you do it?
Vinko Vrsalovic
Push back. What's really going to happen if they don't get the feature? Will they drop us? What's the cost/benefit? Finally, what's it worth to ME to solve the problem that YOU caused?
KevinDTimm
You've been hired to solve the problems I caused. The customer would cash in a contract clause that will hurt badly the company.
Vinko Vrsalovic
See the accepted answer. You didn't answer my question (what's it worth to me, so I have no carrot to persuade people do what they don't want to do.) And, it's already been stated that I can't do the work myself. Now the company gets to learn what happens when they don't communicate. And maybe they can go after you for malfeasance.
KevinDTimm
+1  A: 

It might be nice in theory to ask that question, but in reality there are too many unknowns.

You should go to the manager with the priority of the organization, and explain the situation to them. They should come up with the right path for you to do your job.

Maybe the project can be postponed, maybe they will make the other developers stay or leave completely..

As a team leader, you should also know how to code - and code when needed.

Yossi
A: 

There're different types of a team leader.

He doesn't have to be the strongest and fastest warrior. His job is different and he must be very good in other things, such as team-world interaction, motivating, maintaining dull schedules.

However, in my company, I would never hire a team leader who is physically unable to set a positive example in the art of coding. Joel has an excellent article about a rather retarded discipline officer in Israeli Defense Forces about how leadership works.

Pavel Radzivilovsky
A: 

There are many different answers one could give but my initial smell on this is that it is a bit of a fishing question. Given such limited information, my natural inclination would be to ask more questions which would include:

  1. Is there a company-wide policy on these types of requests? If there is a policy, I'd follow that as my initial reaction.
  2. Is it within my discretion to get into the codebase? Or am I merely giving orders to my minions?
  3. How big is the feature? I can't build an entire search engine in a weekend, but if the feature was small then it may be a different story.
  4. Is the codebase structured in such a way to easily accomodate adding in this feature? It isn't always easy to get the last release and simply update that and ship it.
  5. What are the ramifications if the team lead jumps in and does code? Is there something in place to prevent a lead from coding such as access to version control or creating an environment on their box? This is the response to the "It's not your responsibility to code" comment.
  6. How important is the feature? Does the entire company's future rest on getting this done or is it merely the whim of someone on a power trip that wants it? Would the company be willing to pay overtime or give bonuses to get this done?
  7. Is it realistic to try to put this in on such a short timeline? For example, how well known are the requirements? What kind of QA resources are needed for this?

Some of these may have simple yes/no answers, but others are more likely to be a discussion point such as the last couple as the initial scenario is just the tip of an iceberg, at least to my mind.

JB King