Page 94 - Lean six sigma demystified
P. 94
Chapter 2 Lean Demy S tifie D 73
How do we map the principles of Lean onto software? Simple. The core
concepts are
• Determine and create value. Waterfall delivers the final system; agile deliv-
ers immediately usable functionality.
• Use pull instead of push systems to avoid overproduction. Waterfall pushed
solutions on users; Agile pulls the functionality out of the user bit by bit.
• Use one-piece flow. Make the work flow, one piece at a time; minimize
interruptions. Waterfall needed all of the modules to work; Agile creates
one usable module at a time.
• Eliminate the seven speed bumps using the five S’s: sort, straighten, shine,
standardize, and sustain.
• Use the five “whys?” of root cause problem solving to eliminate defects.
The seven speed bumps that Lean addresses are:
Over production. Most often caused by producing large batches (i.e., programs).
In the Waterfall method, you had to produce the entire system. And, since we
couldn’t demonstrate it to the customer, we often produced things the cus-
tomer didn’t want and missed the functionality that he or she required.
In Agile, the entire project is divided into small modules that can be devel-
oped into fully functional, tested, and potentially usable releases in a short
amount of time, often in less than a week or a day. Each Agile release can
then be evaluated by the user and tuned before the next step is taken. This
is the essence of one-piece flow using small batches.
Excess inventory. Caused by overproduction. Waterfall produced a lot of code
that was later determined to be of no value because we took the wrong path.
Agile only lets you produce the code that is immediately valuable.
Waiting. In Waterfall, modules and programs are created and unit tested and
put on the shelf to await system testing. In Agile, they are immediately tested
and integrated into a deliverable work product.
Unnecessary or incorrect processing. Waterfall delivered a lot of unnecessary
code. Agile helps prevent this.
Defects. Lead to repair, rework, or scrap. Waterfall could let bugs sit in code
for a long time before they were discovered through testing. “Instead of tack-
ing testing onto the end, where the temptation to truncate the testing to
meet deadlines is high, it’s built into the coding cycle.”