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.”
   89   90   91   92   93   94   95   96   97   98   99