Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.

Agile Rabbit Holes

384 vues

Publié le

Over the years, I have seen us fall in the same rabbit holes repeatedly, myself included.

This talk will help you spot these holes and avoid them. And if you are in one, then better to know how to get out. Rather save your energy for the real hard yards of transformation, than digging in holes.

Publié dans : Logiciels

Agile Rabbit Holes

  1. 1. aslam khan @aslamkhn agile rabbit holes
  2. 2. A BRIEF HISTORY (of “agile” in South Africa) 2000 EARLY ADOPTERS OF EXTREME PROGRAMMING XP USER GROUP FORMED 2005 agile
  3. 3. 2012 1st AGILE AFRICA LEAN & KANBAN EARLY ADOPTERS OF SCRUM 2007 2008 SCRUM USER GROUP FORMED SUGSA CONFERENCE Agile
  4. 4. 2015 DEVOPS SAFE 2017 SCALED AGILE 5th AGILE AFRICA NOW WHY ARE YOU HERE? not Agile, please
  5. 5. HAVE WE IMPROVED AS MUCH AS WE INTENDED? 2018 2000 18years
  6. 6. WHAT DO WE DO? conversations design code run
  7. 7. AND SOME DO THIS... conversations design code run
  8. 8. WHAT DO WE DO? trying to understand applying our understanding conversations design code run
  9. 9. AND WE ALSO DO THIS trying to understand applying our understanding conversations design code run fix mistakes
  10. 10. DESIGN BETTER trying to understand applying our understanding conversations design code run fix design
  11. 11. UNDERSTAND BETTER trying to understand applying our understanding conversations design code run fix understanding
  12. 12. THIS IS LESS COMMON trying to understand applying our understanding conversations design code run pivot
  13. 13. THIS IS WHAT WE SHOULD BE DOING trying to understand applying our understanding conversations design code run “observe - tweak - learn” loop
  14. 14. BUILDING SOFTWARE IS HARD, AND A LOT HARDER THE AGILE WAY, BUT IT PAYS OF 2018 2000 18years
  15. 15. agile rabbit holes
  16. 16. RABBIT HOLE #1 TOO SAFE TO FAIL
  17. 17. what do you consider as a failure RABBIT HOLE #1 TOO SAFE TO FAIL
  18. 18. failure Being unprepared for a backlog grooming? Being late for stand-up? A bad release? A late deployment? Not meeting sprint commitments? Over budget? When it is repeated. When it is not corrected. RABBIT HOLE #1 TOO SAFE TO FAIL
  19. 19. And a lot more. Your backchannels are more active than your retrospectives Emotions win over logic and reason Anonymous feedback Critical straight talkers are marginalised Parent shopping signs RABBIT HOLE #1 TOO SAFE TO FAIL
  20. 20. MODEL and understand your business as a simple, measurable machine include your software in the machine ASK what happened? why did it happen? what was the impact? who was at the wheel? Establish if it was the machine or a person if it was the machine tweak the machine if it was a person if a lack of skills then train if a lack of ability then replace Be humane(always) fix RABBIT HOLE #1 TOO SAFE TO FAIL
  21. 21. RABBIT HOLE #2 QUITTING IN THE ABYSS
  22. 22. why do we quit? RABBIT HOLE #2 QUITTING IN THE ABYSS the abyss unrealised returns
  23. 23. Getting out of this hole is tough! It may be easier to pre-empt. quitting get scared it was not that important ran out of time or money doing the wrong thing have a short term focus settled for mediocrity RABBIT HOLE #2 QUITTING IN THE ABYSS
  24. 24. look ahead RABBIT HOLE #2 QUITTING IN THE ABYSS walking a death march aiming for mediocrity worthless effort
  25. 25. pre-empt RABBIT HOLE #2 QUITTING IN THE ABYSS Write downs the conditions that will cause you to quit Name the 2nd and 3rd order consequences of quitting and not quitting Don’t rush to build 1 Converge on the problem and potential models 2 Conceptualise the model confirm with data 3 Realise it fast assume what is routine work
  26. 26. RABBIT HOLE #3 ACCEPTING MEDIOCRITY
  27. 27. what is the gap between the best and the rest RABBIT HOLE #3 ACCEPTING MEDIOCRITY
  28. 28. signs RABBIT HOLE #3 ACCEPTING MEDIOCRITY It takes longer to socialise a change than to build a backlog Stories are untestable The product is a set of incompatible features glued together Never have proper test data Needing a refactoring sprint More effort put into looking good than being good Too many people on the project and meaningless meetings
  29. 29. zone of mediocrity RABBIT HOLE #3 ACCEPTING MEDIOCRITY extinction zone! excellence acceptable necessary zone of hard yards the normalisation of deviance
  30. 30. 4 developers, 1 QA, 1 analyst, 1 UX, 1 Program Manager Maintain conceptual integrity - all the time! Stop personal productivity having negative generativity Focus on the output and figure out the input The team has the right people regardless of the org chart The team includes the software, the logs, the data, the tools no easy fix RABBIT HOLE #3 ACCEPTING MEDIOCRITY
  31. 31. RABBIT HOLE #4 UNBELIEVABLE
  32. 32. Why do we do this? Accept project deadlines that can’t be achieved and complain about it fudge the sprint to look good in the review spinning measurements / reports to look good writing worthless tests to get a green build RABBIT HOLE #4 UNBELIEVABLE
  33. 33. the fix #1 RABBIT HOLE #4 UNBELIEVABLE ask “is it true?” and demand answers from credible people
  34. 34. the fix #2 RABBIT HOLE #4 UNBELIEVABLE know when to hold the line and when to walk
  35. 35. RABBIT HOLE #5 IGNORANT OF COSTS
  36. 36. Do you know where are the hotspots in your code? what effort is being spent there? the distribution of knowledge? how long it takes to onboard? RABBIT HOLE #5 IGNORANT OF COSTS
  37. 37. The code that has far too many lines with high complexity and changes a lot (by many people) hotspot RABBIT HOLE #5 IGNORANT OF COSTS
  38. 38. A good code base has less than 5% hotspots that consumes less than 10% of cost (with a handful of developers) What I observed RABBIT HOLE #5 IGNORANT OF COSTS Many code bases have under 10% hotspots but consume easily 25% of development cost (with teams in excess of 20 developers)
  39. 39. software is a craft software is art not the fix RABBIT HOLE #5 IGNORANT OF COSTS
  40. 40. maintain conceptual integrity compatible mental models (when this happens, you accelerate) discipline experiment in spite of uniformity (this is about well designed hypotheses, not mere ideas) always value data the fix RABBIT HOLE #5 IGNORANT OF COSTS
  41. 41. RABBIT HOLE #6 CHASING RAINBOWS
  42. 42. What do you want? happiness? a great score on KPI’s? chase a plan of 2 week milestones? get someone of your back? RABBIT HOLE #6 CHASING RAINBOWS
  43. 43. RABBIT HOLE #6 CHASING RAINBOWS be useful first and happiness will follow my actions defines the next version of myself be honest - always never lie when we can’t tell the truth learn to accept and appreciate criticism never use my input effort as an excuse fixing myself
  44. 44. THIS IS WHAT WE SHOULD BE DOING trying to understand applying our understanding conversations design code run “observe - tweak - learn” loop
  45. 45. thank you Too safe to fail Quitting in the abyss Accepting mediocrity Unbelievable Ignorant of costs Chasing rainbows agile rabbit holes aslam khan @aslamkhn

×