WordCamp Nashville 2016: The promise and peril of Agile and Lean practices

489 views

Published on

Why you may to consider adopting Agile or Lean practices, how they differ from each other, what benefits you can expect, and what obstacles you may face

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
489
On SlideShare
0
From Embeds
0
Number of Embeds
68
Actions
Shares
0
Downloads
4
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

WordCamp Nashville 2016: The promise and peril of Agile and Lean practices

  1. 1. 9/17/2016 Wordcamp Nashville The promise and peril of Agile and Lean practices @mtoppa Michael Toppa www.toppa.com
  2. 2. www.toppa.com @mtoppa Mike Toppa web engineer 610-322-7034 mike@toppa.com www.toppa.com Ruby, Rails, PHP, Wordpress, JS, HTML, CSS SQL, NoSQL, AWS, TDD, Scrum, Kanban 20 years of experience in web development, project management, and functional management * Currently working freelance * Previously: * Director of Development, WebDevStudios * Director of Web Applications, U Penn School of Medicine * Web developer at: Georgetown University, Stanford University, E*Trade, Ask Jeeves, and the 7 person start-up, ElectNext
  3. 3. My challenge in this talk… Teach you about Agile & Lean… Without actually teaching you Agile & Lean I want to teach you about why you may to consider them, how they differ from each other, what benefits you can expect, and what obstacles you may face
  4. 4. Tell me your problems…
  5. 5. Features Cost Schedule 1.The iron triangle Client can pick two Quality I’ve explained the triangle to dozens of clients over the years. Programming is not magic. If the client tries to squeeze all 3 sides of the triangle, quality suffers.
  6. 6. Misalignment of authority and responsibility Cartoon by Mike Lynch Used with permission - Following this advise lets you cover yourself politically, and is a great way to make everyone who works for you miserable - I've found that misalignment of authority and responsibility can explain a lot of dysfunction that happens in organizations - When you have responsibility for your work but not enough authority over it, you will feel like a cog in machine
  7. 7. “If you go to the store with a huge shopping list and twenty dollars, you need the authority to go to the money machine for more cash, or the authority to make changes to the list.” Ron Jeffries, Making the Date What’s happening is that the client is trying to retain authority on the project while giving you the responsibility. But ultimately, for the project to be successful and for both you and the client to be happy, responsibility and authority need to be brought into alignment.
  8. 8. 2. Multiple projects and multitasking Source Context switching between two projects eats about 20% of a full-time worker’s schedule. The sense of progress with multitasking is an illusion, compared to not multitasking
  9. 9. Source
  10. 10. A consequence: too much work SWAG chart 9 developers, 2 product owners, and me supporting - 22 clients with 124 applications 3 designers and 1 product owner supporting - about 200 static content web sites Taking inventory itself was a huge undertaking
  11. 11. Source To have any chance of success in the long run, you have to claim authority you may not have had previously. You may have to fight for it…
  12. 12. Source …but you have to always be professional. Think of how doctors behave in an ER. When the pressure is on is when you want them to be at their most professional.
  13. 13. 3.The cone of uncertainty Source
  14. 14. Tell me what you want… For yourself, and for your customers
  15. 15. What makes a job enjoyable? ✤ Autonomy ✤ Reward for effort ✤ Challenging/complex work “Work that fulfills these three criteria is meaningful.” – Malcolm Gladwell, “Outliers: The Story of Success”
  16. 16. “Novices believe that quality and velocity are inverse. They think that hacking is fast. They haven’t yet recognized what professional developers know all to well: …the higher the quality, the faster you go” Bob Martin, Vehement Mediocrity
  17. 17. How do we get there?
  18. 18. Add more people? Brooks’ law: ”Adding manpower to a late software project makes it later” - Fred Brooks, The Mythical Man-Month
  19. 19. Add more pressure? Source Hold the developers’ feet to the fire. This is the death march. Analogy that software development is like a washing machine.
  20. 20. “The main thing that pushed Agile and Scrum was that the success rate on traditional projects was terrible; it was 45%. If that was a car- manufacturing place, that would mean you’d throw out every other car you built.” Ken Schwaber, co-creator of Scrum, 6/21/2011 Source
  21. 21. What’s the alternative?
  22. 22. Agile solution: flip the triangle Source The traditional approach also does not take into account the “cone of uncertainty” - things will change
  23. 23. Agile: frequent feedback is key Source Rather than fight the “cone of uncertainty” we embrace it. We are always checking in to make sure what we’re delivering is what the client wants, and we’re ready to adjust priorities based on feedback. At some point we will run out of time or money, and when that time comes, we want to make sure we have delivered the most important features.
  24. 24. Lean solution: maximize “flow”
  25. 25. Agile, Lean: what’s the difference? inspect & adapt incremental & iterative; roles & rituals limit WIP; eliminate waste Agile Lean Both originate from management ideas in Japan, but Agile was created in the US software industry in the late 1990s, and Lean comes specifically from Toyota in Japan
  26. 26. Agile and Lean are Principles
  27. 27. Scrum is the most popular Agile methodology
  28. 28. Kanban is the most popular Lean methodology
  29. 29. Scrum is a holistic project management system Source
  30. 30. Scrum has clearly defined roles and responsibilities Source If you adopt Scrum, people’s jobs will change, at least to some extent
  31. 31. Kanban can be applied to any project management system It’s about achieving the right amount of “work in progress.”
  32. 32. Kanban takes you from this… Too much WIP can feel like a traffic jam. Covering every inch of a highway with cars is not how we achieve the capacity of the highway
  33. 33. …to this We achieve capacity when the cars flow smoothly on the road. They get to go reasonably fast, operating their engines at a good fuel efficiency. They don’t need to slam on their brakes. They don’t need to change lanes often, and there’s a safe distance between them. This is what we want our work to feel like.
  34. 34. Adopting Scrum means going all-in: big change, all at once
  35. 35. The Scrum Promise “In my Scrum classes I warn attendees of what I call the Scrum Promise: If you adopt Scrum, there will be a day you come into the office nearly in tears over how hard the change can be. This is because Scrum doesn’t solve problems, it uncovers them and puts them in our face. Then, through hard work we address them.” – Mike Cohn, Agile Trainer I didn’t know this when I led the scrum adoption at Penn, but it’s definitely true
  36. 36. Adopting Kanban leads to evolutionary change
  37. 37. Kanban foundational principles ✤ Start with what you do now ✤ Agree to pursue incremental, evolutionary change ✤ Respect the current process, roles, responsibilities & titles
  38. 38. All-in vs. evolutionary change ✤ All-in pros: ✤ Gets everyone working in the same system quickly ✤ Get good at a complete system with clear rules first, then learn where to make changes ✤ All-in cons: ✤ Near term productivity loss, confusion, resistance ✤ Can surface too many pre-existing problems at once ✤ Evolutionary pros: ✤ Minimal disruption ✤ Make changes only as needed ✤ Evolutionary cons: ✤ Easy for change process to stall and not address deeper underlying issues
  39. 39. Common ways Agile and Lean adoptions go wrong
  40. 40. 1. The top-down, lip-service approach Scrum master hiring story
  41. 41. 2. Misunderstood and/or misapplied
  42. 42. 3. Consulting environment challenges ✤ Traditional contracts require detailed plans ✤ See my Agile Contracting WordCamp talk from last year! ✤ Who is the product owner? ✤ Clients aren’t good at it (but think they are) and probably don’t want to pay you to do it ✤ Hard to work in teams when you typically have projects that are small and simultaneous
  43. 43. Key to success: inspect and adapt Source Single loop learning is “how can we do better”? Double loop learning is “Why do we believe that?” Double loop learning means challenging fundamental assumptions
  44. 44. Additional references ✤ “Succeeding with Agile: Software Development Using Scrum” and “Agile Estimating and Planning” by Mike Cohn ✤ “Kanban: Successful Evolutionary Change for Your Technology Business” by David J. Anderson ✤ Angry Dinosaurs: Accelerating Change and Institutional Incompetence presentation by Cory Ondrejka, Wharton Web Conference, 2010 ✤ “The Lean Startup” by Eric Ries ✤ “The Nature of Software Development” by Ron Jeffries ✤ “Specification by Example” and “Impact Mapping” by Gojko Adzic
  45. 45. 9/17/2016 Any questions? Michael Toppa @mtoppa www.toppa.com

×