Observe that for the programmer, as for the chef, the urgency of the patron may govern the scheduled completion of the task, but it cannot govern the actual completion. – Frederick P. Brooks, The Mythical Man-Month
It’s time to think about a better way to get things done.
If you have worked on any project you’ve probably come to a point where there is too much to do.
You’re overwhelmed with the amount of things that needs to be done, there just isn’t enough time, the client is insisting on the finish date and stress levels are climbing.
So what do you do?
If you’re like most people you talk to your manager because it’s their job to help you out.
And they do try and help – usually by looking around to see who else has some capacity and can spend some time on your project.
Seems reasonable, right?
But this is probably the single worst thing you can do to yourself.
Adding people to a project, even experienced, skilled people is going to delay your project even more than it already is.
And Frederick Brooks explained why in The Mythical Man-Month.
Adding people only speeds thing up when those people don’t have to talk to each other.
If you’re picking rice then having more people picking rice will get the job done faster than having less people picking rice.
It doesn’t work that way with knowledge work.
And that’s because you need to get people up to speed with what needs doing – explain the data set, explain your design, train them in the stuff you’ve already done.
And by the time you do all that it’s past the deadline you’ve done less in the last two weeks than you did in the previous two when you were all by yourself.
So, say no to help.
The next thing your manager will suggest is whether there are any simple tasks you can hand over to an intern or a junior employee.
This again seems helpful and reasonable.
But it’s not.
Someone inexperienced working on something will suck up time and make mistakes – mistakes that you will need to fix in the now much less time you have available.
It’s far better to build a tool to get the task done – even if it takes you longer to build the tool and even if you have to throw it away.
This is wisdom from the Unix philosophy and it will help you immensely when you’re under pressure and the problem you have is a technical rather than human one.
One kind of problem you can solve – with the other, you can only hope.
The final thing your manager will insist on is that everything needs to get done – no cutting corners.
But then again if you’re up against it that’s what you need to do.
Not cut corners exactly but ruthlessly cut away at the scope of what you’re trying to do.
The point is that there will always be things that are more important and things that are less important.
Leave the less important ones for later – your client will be happier at getting core functionality that works than getting an incomplete product that doesn’t run at all.
Here’s the thing.
If you’re under pressure stay away from people – focus on the work.
Because that’s something you can actually do.