O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.
aslam khan
@aslamkhn
agile
rabbit holes
A BRIEF HISTORY
(of “agile” in South Africa)
2000
EARLY ADOPTERS OF
EXTREME PROGRAMMING
XP USER GROUP FORMED
2005
agile
2012
1st AGILE AFRICA
LEAN & KANBAN
EARLY ADOPTERS OF SCRUM
2007
2008
SCRUM USER GROUP FORMED
SUGSA CONFERENCE
Agile
2015
DEVOPS
SAFE
2017
SCALED AGILE
5th AGILE AFRICA
NOW
WHY ARE YOU HERE?
not Agile, please
HAVE WE IMPROVED
AS MUCH AS WE
INTENDED?
2018
2000
18years
WHAT DO WE DO?
conversations design code run
AND SOME DO THIS...
conversations design code run
WHAT DO WE DO?
trying to understand applying our understanding
conversations design code run
AND WE ALSO DO THIS
trying to understand applying our understanding
conversations design code run
fix mistakes
DESIGN BETTER
trying to understand applying our understanding
conversations design code run
fix design
UNDERSTAND BETTER
trying to understand applying our understanding
conversations design code run
fix understanding
THIS IS LESS COMMON
trying to understand applying our understanding
conversations design code run
pivot
THIS IS WHAT WE
SHOULD BE DOING
trying to understand applying our understanding
conversations design code run
“observe - t...
BUILDING SOFTWARE IS HARD,
AND A LOT HARDER THE AGILE
WAY, BUT IT PAYS OF
2018
2000
18years
agile
rabbit holes
RABBIT HOLE #1
TOO SAFE TO FAIL
what do you
consider as a
failure
RABBIT HOLE #1
TOO SAFE TO FAIL
failure
Being unprepared for a backlog grooming?
Being late for stand-up?
A bad release?
A late deployment?
Not meeting sp...
And a lot
more.
Your backchannels are more active than
your retrospectives
Emotions win over logic and reason
Anonymous fe...
MODEL and understand
your business as a simple,
measurable machine
include your software in the machine
ASK
what happened?...
RABBIT HOLE #2
QUITTING IN THE ABYSS
why do we
quit?
RABBIT HOLE #2
QUITTING IN THE ABYSS
the abyss
unrealised
returns
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 ...
look ahead
RABBIT HOLE #2
QUITTING IN THE ABYSS
walking a
death march
aiming for
mediocrity
worthless
effort
pre-empt
RABBIT HOLE #2
QUITTING IN THE ABYSS
Write downs the conditions that will cause you to quit
Name the 2nd and 3rd ...
RABBIT HOLE #3
ACCEPTING MEDIOCRITY
what is the gap
between
the best and the rest
RABBIT HOLE #3
ACCEPTING MEDIOCRITY
signs
RABBIT HOLE #3
ACCEPTING MEDIOCRITY
It takes longer to socialise a change than to build a backlog
Stories are untest...
zone of mediocrity
RABBIT HOLE #3
ACCEPTING MEDIOCRITY
extinction zone!
excellence
acceptable
necessary
zone of hard yards...
4 developers, 1 QA, 1 analyst, 1 UX, 1 Program Manager
Maintain conceptual integrity - all the time!
Stop personal product...
RABBIT HOLE #4
UNBELIEVABLE
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 fix #1
RABBIT HOLE #4
UNBELIEVABLE
ask “is it true?”
and demand answers
from credible people
the fix #2
RABBIT HOLE #4
UNBELIEVABLE
know when to
hold the line
and
when to walk
RABBIT HOLE #5
IGNORANT OF COSTS
Do you know
where are the hotspots in your code?
what effort is being spent there?
the distribution of knowledge?
how long...
The code that has
far too many lines
with high complexity
and changes a lot
(by many people)
hotspot
RABBIT HOLE #5
IGNORA...
A good code base
has less than 5%
hotspots
that consumes
less than 10% of cost
(with a handful of developers)
What I obser...
software is a craft
software is art
not the fix
RABBIT HOLE #5
IGNORANT OF COSTS
maintain conceptual integrity
compatible mental models
(when this happens, you accelerate)
discipline
experiment in spite ...
RABBIT HOLE #6
CHASING RAINBOWS
What do you want?
happiness?
a great score on KPI’s?
chase a plan of 2 week milestones?
get someone of your back?
RABBIT H...
RABBIT HOLE #6
CHASING RAINBOWS
be useful first and happiness will follow
my actions defines the next version of myself
be...
THIS IS WHAT WE
SHOULD BE DOING
trying to understand applying our understanding
conversations design code run
“observe - t...
thank you
Too safe to fail
Quitting in the abyss
Accepting mediocrity
Unbelievable
Ignorant of costs
Chasing rainbows
agil...
Próximos SlideShares
Carregando em…5
×

Agile Rabbit Holes

412 visualizações

Publicada em

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.

Publicada em: Software

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

×