I've worked with a few companies where it was common practice
for developers to work on more than one project concurrently. Guess
what, parallel software development doesn't deliver projects more
quickly, even if they're small projects. Task switching from one
project to another incurs a cost in the form of a time penalty and
impacts productivity. When there are a number of projects to
complete using the same resources, they'll be delivered more
quickly and usually with better quality if they're developed
sequentially.
In
Lean software development task-switching is
waste. Every time a developer switches between tasks, about 15
minutes is required to enter the
flow of the new task. When
frequently interrupted, frustration kicks and more time is required
to calm down and become settled once again. If a developer is
working in a group or
pair programming there's a
productivity boost due to binding and working on a common goal.
This is lost when one of the developer's switches tasks. In his
book
Slack ,
Tom DeMarco defines the penalty of
task switching as:
Task-switching penalty = Mechanics of moving to a new task +
Rework due to an inopportune abort + Time to enter
flow + Time to defuse frustration
+ Loss of group binding effect
Task switching increases busyness but most of it is thrashing,
non-productive and ineffective work.
Friday, 13 January 2006
Task-switching is waste
Posted by Simon Baker - Permalink