If Agile had Oscars, which of its principles would qualify as “leading” vs “supporting?” David Greene BEFORE THE TALK: Please review handout with 12 principles and select the 3 you believe to be most important and fundamental.
Contents Intro slides Agile in two pictures 12 principles from 2001 Manifesto –Top 3 –Other 9 –Relate to first page of Manifesto –Selected practices behind Top 3 principles Learnings from manufacturing/Lean What to do next –Assess what you’re already doing (and gaps) –Selecting pilot projects & a flavor of Agile –Think about scaling
Why I’m here today “never seen a good software spec” Elements of an Agile requirements/story workshop from The Agile Samurai : –Get a big open room –Draw lots of pictures –Write lots of stories –Brainstorm everything else –Scrub the list & make it shine
Alexis de Toqueville
What “Best Practice” really means Usually good or great Possibly fair or even a miserable failure in certain circumstances. Focus of talk: fundamental principles, not practices
Agile in two pictures (part 1)
Agile in two pictures (part 2) Source: Plan driven Value driven
Three “leading” Agile principles #3 Frequent delivery (working software) #4 Close communication #12 Reflective improvement
Of 12 principles, which 3 “lead”? Enablers #5 Support & trust, #9 Technical excellence, #10 Simplicity Results #1 Valuable SW & satisfied customer #2 Harness change for competitive advantage #9 Constant pace Methods & tools #6 Face-to-face #7 Working software as primary measure of progress #11 Self-organizing teams Leading principles #3 Frequent delivery #4 Close communication #12 Reflective improvement
End of 1 st “iteration”
Frequent delivery Practices supporting the principle: Planning game Relative estimation Backlog’s prioritized by value Limits on WIP
Close communication Practices supporting the principle: Co-location & face-to-face meetings (will virtual communication tools get better?) –Stories –Daily standups –Pair programming Big visible info radiators (Kanban board, burndown charts) Planning game Test-driven development
Reflective improvement Practices supporting the principle: Adapt (don’t adopt) an Agile methodology Retrospectives –Traditional weakness/problem analysis –Appreciative inquiry Traditional quality methods
Learning from Manufacturing/Lean 7 wastes for Manufacturing Corresponding wastes for Software 1.Overproduction 2.Inventory 3.Extra processing 4.Transportation 5.Motion 6.Waiting 7.Defects 1.? 2.? 3.? 4.? 5.? 6.? 7.?
Learning from Manufacturing/Lean 7 wastes for Manufacturing 7 corresponding wastes for Software 1.Overproduction 2.Inventory 3.Extra processing 4.Transportation 5.Motion 6.Waiting 7.Defects 1.Extra features 2.Partially done work 3.Relearning 4.Handovers 5.Task switching 6.Delays 7.Defects
Agile trend or fad? ’50 ’60 ’70 ’80 ’90 ’00 ‘10 Waterfall Spiral RAD RUP Agile (Sm) Agile (Lg) OOP…IDEs …UML… Deming Toyota Lean PC Web Web 2.0 Cloud… SOFTWARE MFG
Next: What are you already doing? #3 Frequent delivery (working software) #4 Close communication #12 Reflective improvement
Next: Choosing pilot projects Colt Simple, young projects. Need agility. Tight teams. Bull Agility to handle uncertainty. Process definition to cope with Complexity. Laissez faire. Cow Complex mature market. Needs defined interface. Source: Todd Little via Israel Gat Low Complexity High Low Uncertainty High
Source: Dean Leffingwell
Question time David Greene