Agile-flavored development processes 20x better than CMM level 5 shops?
Mary Poppendieck recently posted the following article in the Lean Development list at yahoo. Great statistics - of course kLOC is a bad metric for anything, but when you're talking about a 20x factor, even kLOC-based measurements become interesting.
The contrast of Tayloresque Scientific Management to Agile processes, where teams own the work and own the process themselves, is pretty stunning.
Message: 1
Date: Mon, 22 Sep 2003 09:20:39 -0500
From: "Mary Poppendieck"
Subject: How to improve on CMM Level 5
At Software Development Best Practices in Boston last week, Watts Humphrey gave a keynote talk, and, never having heard him before, I thought I should sit in. He spend a lot of time discussing how improvements in sporting records come from decomposing the event into very tiny segments and improving on the performance of each segment. Then he drove this analogy into software development. It sounded like pure Scientific Management to me - straight out of Frederick Taylor's 1911 classic on work decomposition.
So after the talk we asked him about it. Oh yes, he said, he was a firm believer in Scientific Management. But, said we, didn't he know that Scientific Management has been largely discredited in all the industries in which it has been used? Well, he said, people ought to re-read Taylor's book; it has a lot of good stuff in it. Maybe, but it is based on a very condescending attitude toward workers. Taylor felt that work decomposition and measurement by industrial engineers is necessary because workers are lazy, don't
care about quality or productivity, and are incapable of designing their own jobs.
Later in the talk Humphrey put up a slide titled Defects per Delivered kloc (thousand lines of code). It showed this:
CMM Level 1 - 7.5
CMM Level 2 - 6.24
CMM Level 3 - 4.73
CMM Level 4 - 2.28
CMM Level 5 - 1.05
TSP - 0.06
WHAT???? Here we have a process which produces only 5% of the defects of CMM Level 5. Great! Tell me more about that process!
According to Humphrey, TSP (The Team Software Process) builds self-directed teams and guides these teams in building the best software. Sounds like a winner to me. Humphrey went on to say that the
best teams:
1. Have skilled and committed members
2. Set aggressive but achievable goals
3. Define their own processes [sic]
4. Produce their own plans
5. Make their own commitments
6. Direct their own projects [sic]
7. Consistently use their selected methods
8. Develop the best products
This sounds like the opposite of Scientific Management to me. When one uses the team approach rather than the decomposition approach, one can expect defect rates to drop a couple of orders of magnitude below a CMM Level 5 shop. Great stuff! If only these two highly contradictory approaches weren't being advocated by the same (influential) person in the same talk.
Mary Poppendieck
www.poppendieck.com
952-934-7998
Author of Lean Software Development: An Agile Toolkit