Building the Millennium Falcon
Transcription
Building the Millennium Falcon
Building the Millennium Falcon A Lean so5ware development case study WHO AM I? XP Coach Senior Engineer Your story teller Agenda Lego Star Wars A lean approach Recap on Lego Recap on Star Wars Episodes 1-‐3: We don’t really talk about them Episode 4: Boy realises he can do magic, falls in love with girl, sHcks it to the evil empire Episode 5: Boy’s mate gets frozen, boy learns how to *do* magic, finds out his Dad runs the evil empire. Episode 6: Boy understands he loves the girl as a sister <phew>, boy fights Dad, Dad fights boy, boy beats Dad, old cackling guy fights boy. Dad beats old cackling dude. Cut to party. All clear now? Recap on Lean A philosophy that enables moHvated people to build the right stuff for the right customers at the right Hme (me) (Your definiHon may vary) Now… Witness the firepower of this fully operaHonal conference talk office A long time ago, in a galaxy far, far, away… ^ Lean Lego Episode 4 A NEW BOX 300 double-‐sided pages > 5000 pieces James Alex Seema Alex Andy The science bit… A Story Wall Swim lanes Ready for development A burn-‐up chart A cumulaHve flow chart 3d 2d 1.5d 10d Activity 0.5d 30d Activity Activity A value stream map A control chart Episode 5 THE LEGO STRIKES BACK We took a look at the first set of instrucHons… … and all piled in to the box … then we all put the bits together It went really slowly… See? 10 mins 5 mins 1 min Finding Pieces for Step Assembling pieces Tip 1 Understand the system you are working in Turns out shared state isn’t that effecHve here… Backlog Pieces being Pieces being found assembled Done Turns out shared state isn’t that effecHve here… Backlog Pieces being Pieces being found assembled Done Turns out shared state isn’t that effecHve here… Backlog Pieces being Pieces being found assembled Done Turns out shared state isn’t that effecHve here… Backlog Pieces being Pieces being found assembled Done Turns out shared state isn’t that effecHve here… Backlog Pieces being Pieces being found assembled Done Tip 2 Use Kanban / story walls to visualise your system the result of all this? Complete Half way through 0 opened the box End day 1 Cows come home hell freezes pigs fly Heat death of the Universe L s s e Episode 6 c o pr THE RETURN OF THE JEDIS ^ A funny thing happened next… Finding Pieces for Step Assembling pieces We moved from this: Everybody doing this Finding Pieces for Step Assembling pieces followed by To this: Some people doing this Finding Pieces for Step Some people doing this Assembling pieces At the same Hme as See? The constraint was idenHfied 10 mins 5 mins 1 min Finding Pieces for Step Assembling pieces And elevated… Backlog Pieces being Pieces being found assembled Done …turns out you can find pieces in parallel Tip 3 Use the Theory of Constraints: IdenHfy and Eliminate Remember what Mary Poppendieck said about Queues..? This started to happen… We added a queue Backlog Pieces being Pieces ready Pieces being found for assembly assembled Done based on the pages in the manual The folks assembling pieces pulled from the queue Backlog Pieces being Pieces ready Pieces being found for assembly assembled Done The folks finding pieces pushed into the queue Backlog Pieces being Pieces ready Pieces being found for assembly assembled Done Tip 4 Introduce queued states into your system to help visualise bohlenecks And we got faster 300 266 233 # pages 200 166 133 100 66 33 0 4 8 12 16 20 24 # hours 28 32 36 40 44 48 Tip 5 Use burn-‐up charts and yesterday’s weather to track progress But it didn’t stop there The team became T-‐Shaped Breadth of knowledge Depth of experience Specialists in assembling Specialists in finding pieces and those specialists noHced this… length of time to find a piece 9 8 7 6 5 4 3 2 1 0 time Finding a piece is a funcHon of piece size and the total number of that type of piece available than this This takes longer so we did this… length of time to find a piece 9 8 7 6 5 4 3 2 1 0 time Tip 6 Use control charts to visualise variability And then work to reduce it There were other interesHng things happening too We used defects tracking… And work in progress limits… Backlog Pieces being Pieces ready Pieces being found for assembly assembled Max 4 Done And we swarmed around bohlenecks Backlog Pieces being Pieces ready Pieces being found for assembly assembled Done Tip 7 Limit WiP and then pull more work from *up stream* if you are blocked … 300 266 233 # pages 200 166 133 100 66 33 0 4 8 12 16 20 24 # hours 28 32 36 40 44 48 J Summary Understand your system – use systems thinking tools Visualise work using kanban boards / story walls Work to eliminate constraints in your system, use the Theory of Constraints Work in Progress, Swarming helped keep throughput high Yesterdays weather and burnup Use control charts to idenHfy and reduce variability And finally This actually happened We spent nearly 6 weeks (on and off) building it The team was completely self-‐organising No one was telling us how to do this, it just happened this way Why did it happen this way? 10,000 hours? Combined > 50 years of experience working with ‘agile’? Thanks! [email protected] Bovon.org @boicy