Sustainable development

Posted on by Tim Rosenblatt

The 8th principle of the Agile Manifesto is

Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.

At a previous employer, I remember a coworker of mine. Let's call him M.

M was a good guy, capable, and hard-working. He always put in what was required, and often more. On one particular project, there was a deadline coming up, and his team wasn't going to make it. So, he buckled down and put in over 100 hours that week to make sure that they got everything delivered. Then the deadline got pushed back, giving them a bit more time, but he had to put in another 100+ hour week. Then the deadline was pushed again, with the same result -- another 100+ hour week. He didn't even go home, he'd just go to sleep under his desk at night, then climb back into his chair and keep working (except for 2 showers each week). This kept happening for a number of weeks until he gave up and left the company.

This is a perfect case of unsustainablity. I've definitely watched the clock roll past 4 AM to find myself still hacking away at code, but that's because of two things. One, I like hacking. Two, it's not long-term. Everyone can redline themselves for a short period of time, as long as there are breaks (I'm a big fan of the strike team approach, myself). Paradoxically, time spent not working is almost as important as the time spent working. It's the nature of humans.

Agile development acknowledges that longevity is good in software teams. Turnover within a team due to burnout is bad, not just because of the loss of key members, but also because there's a decline in quality and performance leading up to the loss. At Cloudspace, we keep moving forward at a steady pace (see my post on velocity), which means we move forward at a predictable pace. We'll work late if a last minute feature is needed for a launch. But these situations are the exceptions, and not the rule.

The same goes for the client role. It's important that our clients be able to keep a reasonable pace too. Daily updates and weekly meetings help serve this purpose. This type of frequent communication between the stakeholders means there aren't last minute surprises. Remember the lesson of Mr Aesop's friends, the tortoise and the hare. Slow and steady wins the race.

Do you have any stories of how unsustainable engineering practices resulted in the failure of a project? Share them in the comments.

comments powered by Disqus