Starting work is taking on a debt. It’s a promise of completion.
In many industries, including software development, incomplete work has no practical value.
In practices like Scrum or Kanban, teams are encouraged to limit their work to what they expect they can reliably complete in the time chosen.
This is done partly to create frequent feedback cycles, and additionally to minimize the cost and obligation of unfinished work.
Managers feel pressures to “deliver more, faster,” and push teams to take on more work, to start more.
This increases the “debt” of incomplete work. The interest that compounds on that debt is from context switching, additional status reporting, and lower quality.
It also feeds the addiction to busy-ness and the idea that “we’re working on it” has intrinsic value.
Instead, beginning more and more things takes on starting debt.
Consider This Example
You have guests arriving tomorrow to stay. Your residence would benefit from doing regular cleaning and organizing work, that perhaps you’ve been neglecting.
If you had a day to get a set of household chores done, would it add value to start one task, then another, then yet a third and fourth?
For a select few of those tasks, yes. For example, doing laundry is a cycle-driven task that has a lengthy automated step. Once you’ve selected a load and started it, the machine can work unattended for the rest of the cycle.
A few tasks are sequential. Typically you would sweep or vacuum before mopping, for instance.
But does it make sense to do 20 minutes of vacuuming, then 10 minutes of cleaning toilets, jump into a bit of dusting, then go outside and mow part of the lawn?
Not really. And these are fairly simple tasks with limited cognitive context. Imagine how much more complex it is to jump between highly technical contexts in short time periods.
Breaking the Debt Habit
It may be hard to change the habit of “starting everything.” There’s a pernicious logic to the notion of “we won’t finish it if we don’t start it.”
Reporting that work is “in progress” also soothes anxiety of those accountable for the work, but not involved in it.
But your starting debt is drowning your teams and killing your quality.
Keep metrics on how much work you start in a regular period of time, versus how much is completed.
Work on starting less, until you start what you can finish. If you are prone to lots of “emergency” work, start even less, so that you can finish the emergencies and your original workload.
Coach your team members away from assembly-line mindsets. “Tossing work over to the next worker” may be fine on an assembly line, but it’s terrible for complex creative efforts.
Coach the team about team utilization and completion, not individual utilization and work completion. If team members see you take finishing as a team more seriously than how many lines of code written or tested individually, they’ll adapt to working together to finish.
Stop starting and making promises to finish that you can’t keep. Break your starting debt habit.
You can do this. I can help.