Technical Debt and the Flywheel


The underlying cause of the inability to develop new features due to a defect burden is what is best called technical debt. Technical debt is caused by an accumulation of poor decisions over timedecisions that often seem right at the time but are usually made in the interests of a short-term quick fix to the software. Very rarely is it possible to identify a single decision that stands out as one where the problems might have started.

Jim Collins describes a relevant flywheel metaphor [Collins 2001]. Collins uses the flywheel metaphor to describe how decisions affect momentum in an organization. Think of a massive flywheel that is so large all you can do at first is give it tiny nudges that move it an inch at a time. Your organization's sustainable development emphasis is like continually providing tiny nudges. Each new nudge adds momentum to the flywheel so that it continues to pick up speed. However, every decision to develop a new feature or fix a bug by introducing an ugly hack or ignoring the underlying architecture acts as a brake on the flywheel. The software development death spiral results because these brakes, or nudges in the wrong direction, will eventually stop or even get the flywheel spinning backwards. How fast the flywheel is spinning and its direction is something your organization should be aware of.




Sustainable Software Development. An Agile Perspective
Sustainable Software Development: An Agile Perspective
ISBN: 0321286081
EAN: 2147483647
Year: 2005
Pages: 125
Authors: Kevin Tate

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net