Lean Software Development Tips and Tricks Augusto “Gus” Evangelisti - PaddyPower PLC E-mail: [email protected] Twitter: @augeva Lean principles Eliminate Waste Optimize The Whole Focus On Customers Energize Workers Learn First Deliver Fast Build Quality In Keep Getting Better (Mary and Tom Poppendiek) Tip #1: Easy Identify waste The Waste Snake What you need Whiteboard/A3 Sheet Post-its Curious team Tip #2: easy Ask “Why?” Ask “Why?” Software is a liability Resolving problems with very little software is of great value Let me tell you a story 1965 - US Army: “We need a cost effective fighter jet that can reach speed of mach3” Many companies tried, one succeeded let me tell you a story Thunderchief Vs Eagle That means Refuse solutions to unknown problems understand what the real problem is (asking “why?”) and then resolve that (Gojko Adzic) What you need Courage Trust Empathy Curious team Tip #3: Medium See the whole Have you ever seen this? What’s the solution? That means Focus on the full flow Remove barriers, collaborate, be cross functional, remove silo departments, whole team responsibility and accountability, fight suboptimization. What you need Curious team Empathy No barriers No politics One goal, one direction Tip #4: Difficult Have zero tolerance for defects Bugs are waste The worst kind of waste! Don’t write them in the first place! Focus on prevention TDD/BDD Implement fast feedback loops If a bug slips through Fix it immediately We don’t need to log categorize, sort, triage, asses, fight over BUGS We need to fix them so that our customers are happy A bug management tool is another backlog, ditch it, we’ve done it and we’re happy! Collaborate and prevent What you need Curious team Empathy No barriers No politics Passion for our craft Tip #X: Easy Don’t ask for permission, beg for forgiveness! What do these things have in common? They were failures What does this mean? The wrong answer is the right answer to a different question (Paul Sloane) Experiment, try new things, things you’ve never done before, accept failure and learn from it. Only people that don’t innovate never fail. You can only improve trying new things, you can only innovate trying new things, don’t be afraid of failure So? Fail often Fail cheap How can I fail cheap? Prototyping, spiking, getting fast feedback, speaking to the customers, getting out of my building and speaking about my idea. What you need Curious team Courage Desire to learn Read More These readings inspired me: • • • • Lean Software Development - An agile toolkit (Mary and Tom Poppendiek) Impact Mapping (Gojko Adzic) The Lean Mindset: Ask the Right Questions (Mary and Tom Poppendiek) The Innovative Leader(Paul Sloane) More to come on: http://mysoftwarequality.wordpress.com/ Tip #6: Easy Use communities of practice to innovate Tip #7: Difficult Stop predicting, be predictable #NoEstimates Questions?