Tim on Leadership

Musings on Management and Leadership from Tim Parker

Realistic Goal Setting

One of the biggest mistakes a manager can make is setting unrealistic goals.  Some executives think this is their role: to push the team to deliver more and more, working them to a frazzle, and always demanding more.  The number of times I've been told about a manager who asks how long something will take, gets an answer of "six months" and then demands it in one or two, is uncountable.  That's not management.  That's stupidity on the part of the manager.

Most technical people are pretty good at determining how long a task will take.  The more time they have in place, and the more development they have done, the more accurate their estimates are.  They know what they can do in a day, and, often, factor in for issues that arise, determining when they can reasonable hope to complete a task.  Over the years I have seen some engineers who are really good at estimating work, often within 10% of the actual time.  I've also seen some who were way off, but often the delays are because of conditions they did not expect.  Trusting your team and your people to give you a reasonable day's effort every day, and being good at keeping to schedules, is part of the role of a manager.  Pushing for the sake of showing how demanding you are is not just stupid, but it also damages the morale of the team.

Sure, there are times when pushing is necessary.  There are times when evening and weekend work is required to meet a deadline.  And motivating the team to work those extra hours to meet the deadline is part of the job.  Expecting that every day, all year, is a sure way to have people leave the company and look elsewhere.  How much can you expect to push?  As a general rule I don't like to ask for overtime without explaining why it's necessary and compensating the team in some way.  But, as usual, sometimes there's no compensation available and it comes down to asking the team to pitch in.  And when you do that, you'd better be there.  I've spent countless evenings and weekends at my desk while team members worked overtime.  It's not that I can do anything useful to help them, usually, but the simple rule is don't ask them to do something you're not willing to do.  Even if the compensation is small, anything is better than nothing.  When running teams "hot", expecting them to put in extra time, I always bring in munchies and beg management to allow me to get gift cards or some other token for showing up.  After all, a $100 gift certificate for a local electronics store means something to those who are putting in days on a weekend working, and it's a huge savings in labor costs for the company!

One of the measures of comfort in a new team is when I can with some degree of confidence predict how much can be done by each member and each team, so deliverables can be arranged properly.  Knowing who you can expect to deliver above-and-beyond and who can't (sometimes for personal reasons such as family) is an on-going task, which changes with time, and alters the deliverable formula, too.  Which also brings up the subject of pushing back.  I've had many bosses take what I tell them is a realistic delivery date and demand it faster.  Being able to stand up to them and argue that doing it faster will cost in terms of quality, attrition, sanity, and features is an important part of the job.  Arguing why the pushed deadlines are unrealistic (if they truly are) is a part of the job.  It's also a fight I sometimes lose, and have to try my best to convince the team to put in the effort.  But that should be the exception, not the rule.

I know how long it would take me to code most tasks.  And I know I code faster than the average developer, so when I estimate tasks I try to get several opinions and come up with an average.  And always add in a safety margin (a reasonable one, though) because things do go wrong at the most unexpected time. 

As time goes by and you deliver on your predicted targets, and the team is working smoothly, your estimates will be taken with less argument than when starting.  That's normal.  Being unrealistic about deliverables is probably the one mig mistake I see many new leaders make, and always at the cost of sanity to the team.  Treat the team well, and they will return the favor.