I Love Lucy in the Chocolate Factory

Remember the days in college when you procrastinated the entire quarter and crammed 10 weeks of studying into one night before the final exam? In software engineering, the Death March project is the equivalent of cramming for the exam. Combine poor project planning with non-negotiable deadlines, and your conscientious developers may feel such pressure to deliver on time that they will end up working 80 hour weeks, week after week–and still get a low grade. The healthcare.gov rollout was a DM project. It’s simply not a sustainable way to work.

Good managers understand the costs of treating developers like machines–high stress, burnout, poor health, decreased quality, lower productivity, turnover, and other bad stuff.

The more stories we ask the team to deliver, the less time they can spend on quality, the more likely shortcuts will be taken, the more likely technical debt will be incurred, the more likely team culture and effectiveness will suffer, the less fun will be had, the more fried the team’s brains will be and the less predictable we will become at delivering software. —Neil Killick

Accordingly, one of the fundamental rules of extreme programming is: Set a Sustainable, Measurable, Predictable Pace.

Sustainable

Agile processes promote sustainable development. —Agile Manifesto

Rituals, Artifacts, Roles

The primary appeal of Scrum (an agile framework) for me is its:
1) scheduled events (daily standups, sprint planning meetings, sprint review meetings, retrospectives) and 2) expected deliverables (stories, product and backlogs, increments). The end result is a repeatable, predictable cadence with regular breaks for planning and reflection.

Iterations

It’s almost impossible to sustain a reasonable pace when you’re working on one big, long, waterfall project with a Big Bang release (remember the Death March). We maintain momentum, while frequently delivering business value, by breaking up a large project into manageable chunks (one to four weeks).

Kanban

In Lean software development, the technique of Kanban helps the team to visualize its workflow and identify bottlenecks. Bottlenecks, like clogs in a drain pipe, represent interruptions in throughput. And placing limits on the work in progress (WIP) avoids the “I Love Lucy” chocolate factory effect—when we just can’t keep up. (Hat tip to BW)

Measurable

When a team’s work comes in fits and starts, no one has a realistic view of what the team can deliver. A consistent pace is measurable. In agile terms, when you know how much the team can typically get done, you know the team’s velocity. You can plan the appropriate amount of work for the team and count on that amount to be completed during each iteration.

Predictable

I like to say, “there’s no such thing as too much work to do: it’s a matter of priority.” Organizations that choose which IT projects are strategically important minimize distraction and maximize focus for the tech teams. Priorities do change, of course, but constantly changing priorities is the enemy of sustainability. By the way, if you are a manager, you may not realize how counter-productive context switching is for tech teams.

Successful

High-performing teams don’t work an excessive number of hours. They have mastered the sustainable pace. There’s just enough urgency to feel energized and motivated and productive. There’s time to work hard, time to play, time to think, and time to be creative.

When a team finds their sustainable pace, right sizes the work to deliver within a sprint and can meet the sprint goal, they can find a sense of empowerment and accomplishment. —Maria Matarelli