This post was originally published on my old blog: Spike the Poodle
I've heard a few people mention the dreaded "O" word on the project I'm working on (that's "overtime" in case you didn't guess) I believe very strongly in encouraging a sustainable pace instead of working overtime to get things done, and I think it's even more important on agile projects.
Here's a few reasons why, based on my experience:
- Agile projects are planned based on a team's velocity. If the team had to work overtime to achieve a certain velocity, they'll have to work overtime again to achieve the same velocity. This means planning is based on a greater capacity than is in the team, which is not good!
- The more time people spend working, the more tired they get. Tired people work slower, and make more mistakes, which ultimately means work takes longer. So the overtime doesn't really speed things up.
- People need to take time out of work to spend with their families, or on their own lives. A healthy work life balance can result in better motivation, which ultimately helps team motivation, and the work goes faster.
- In agile projects in particular, the iterations form a steady cycle. Unlike waterfall, where there can be a frantic, stressful time followed by a lull, in iterative development there isn't time to slow down. It's important to keep to a pace that the team can maintain without feeling burned out.
While I do think there's the odd occasion that working overtime can be the right thing to do – for example, pulling an all-nighter to get that important release out of the door – it's just not the answer for projects that are falling behind. It's going to end in lower quality, lower motivation … or both.