SlideShare a Scribd company logo
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 - tweak - learn” loop
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 sprint commitments?
Over budget?
When it is
repeated.
When it is
not corrected.
RABBIT HOLE #1
TOO SAFE TO FAIL
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
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
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 time or money
doing the wrong thing
have a short term focus
settled for mediocrity
RABBIT HOLE #2
QUITTING IN THE ABYSS
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 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
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 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
zone of mediocrity
RABBIT HOLE #3
ACCEPTING MEDIOCRITY
extinction zone!
excellence
acceptable
necessary
zone of hard yards
the normalisation
of deviance
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
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 review
spinning measurements / reports to look good
writing worthless tests to get a green build
RABBIT HOLE #4
UNBELIEVABLE
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 it takes to onboard?
RABBIT HOLE #5
IGNORANT OF COSTS
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
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)
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 of uniformity
(this is about well designed hypotheses, not mere ideas)
always value data
the fix
RABBIT HOLE #5
IGNORANT OF COSTS
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 HOLE #6
CHASING RAINBOWS
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
THIS IS WHAT WE
SHOULD BE DOING
trying to understand applying our understanding
conversations design code run
“observe - tweak - learn” loop
thank you
Too safe to fail
Quitting in the abyss
Accepting mediocrity
Unbelievable
Ignorant of costs
Chasing rainbows
agile rabbit holes
aslam khan
@aslamkhn

More Related Content

PDF
Creating a good architecture
PDF
Architecture Katas - How can we learn to create better architectures?
PDF
Effective Code Reviews
PPTX
How have we developed product without bugs
PPTX
DevDay 2013 - Building Startups and Minimum Viable Products
PDF
Your API Sucks! Why developers hang up and how to stop that.
PDF
Github github-github
PDF
Simplifying Massive Changes with a Live Style Guide
Creating a good architecture
Architecture Katas - How can we learn to create better architectures?
Effective Code Reviews
How have we developed product without bugs
DevDay 2013 - Building Startups and Minimum Viable Products
Your API Sucks! Why developers hang up and how to stop that.
Github github-github
Simplifying Massive Changes with a Live Style Guide

Similar to Agile Rabbit Holes (20)

PDF
Atlassian: The latest and greatest - May/June 2013
PPTX
So You Want to Rewrite That...
PDF
Feedback Loops...to infinity, and beyond!
PDF
L'illusione dell'ortogonalità
PDF
高品質軟體的基本動作 101 + 102 for NUU
PDF
Achieving Technical Excellence in Your Software Teams - from Devternity
KEY
Agile UX - expanded and reworked
PDF
Speak Like a PRO - Public Speaking Tips & Tricks
KEY
Fronteer: How to be Worth Millions
PPTX
A sweet taste of clean code and software design
PDF
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
PDF
Kickass Agile Development - Agile & Beyond Conference
PDF
TDD - Cultivating a Beginner's Mind
PPTX
Clean Code Software Engineering
PPSX
7 Wastes of Software Development
PDF
Scottish Ruby Conference 2014
PDF
高品質軟體的基本動作 101 for NTHU
PDF
Creative resources
PDF
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
PDF
A Minimal Viable Product that works
Atlassian: The latest and greatest - May/June 2013
So You Want to Rewrite That...
Feedback Loops...to infinity, and beyond!
L'illusione dell'ortogonalità
高品質軟體的基本動作 101 + 102 for NUU
Achieving Technical Excellence in Your Software Teams - from Devternity
Agile UX - expanded and reworked
Speak Like a PRO - Public Speaking Tips & Tricks
Fronteer: How to be Worth Millions
A sweet taste of clean code and software design
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
Kickass Agile Development - Agile & Beyond Conference
TDD - Cultivating a Beginner's Mind
Clean Code Software Engineering
7 Wastes of Software Development
Scottish Ruby Conference 2014
高品質軟體的基本動作 101 for NTHU
Creative resources
Let the Elephants Leave the Room: Tips for Making Development Life Leaner by ...
A Minimal Viable Product that works
Ad

More from Aslam Khan (13)

PDF
The Humble Programmer
PDF
Experiments in Reasoning
PDF
Do we care rubyfuza 2019
PDF
Puppet for Human Beings (NOT!)
PDF
How to get open data into the hands of activists
PDF
Beyond Apartheid and Democracy
KEY
Not Quite Object Oriented
PDF
Lean in Software Development
PDF
Product Ownership - Leaders of Agile Webinar
PDF
Yet another building metaphor
PDF
Being in a State of REST
PDF
Practical Scrum with Kent Beck (SD Times Webinar)
PDF
Collaboration: TRC
The Humble Programmer
Experiments in Reasoning
Do we care rubyfuza 2019
Puppet for Human Beings (NOT!)
How to get open data into the hands of activists
Beyond Apartheid and Democracy
Not Quite Object Oriented
Lean in Software Development
Product Ownership - Leaders of Agile Webinar
Yet another building metaphor
Being in a State of REST
Practical Scrum with Kent Beck (SD Times Webinar)
Collaboration: TRC
Ad

Recently uploaded (20)

PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
history of c programming in notes for students .pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Digital Strategies for Manufacturing Companies
PDF
top salesforce developer skills in 2025.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
Transform Your Business with a Software ERP System
PDF
System and Network Administraation Chapter 3
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administration Chapter 2
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Design an Analysis of Algorithms I-SECS-1021-03
2025 Textile ERP Trends: SAP, Odoo & Oracle
Navsoft: AI-Powered Business Solutions & Custom Software Development
How to Migrate SBCGlobal Email to Yahoo Easily
Upgrade and Innovation Strategies for SAP ERP Customers
Reimagine Home Health with the Power of Agentic AI​
Wondershare Filmora 15 Crack With Activation Key [2025
VVF-Customer-Presentation2025-Ver1.9.pptx
history of c programming in notes for students .pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Softaken Excel to vCard Converter Software.pdf
Digital Strategies for Manufacturing Companies
top salesforce developer skills in 2025.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Transform Your Business with a Software ERP System
System and Network Administraation Chapter 3
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administration Chapter 2
How Creative Agencies Leverage Project Management Software.pdf
Design an Analysis of Algorithms I-SECS-1021-03

Agile Rabbit Holes

  • 2. A BRIEF HISTORY (of “agile” in South Africa) 2000 EARLY ADOPTERS OF EXTREME PROGRAMMING XP USER GROUP FORMED 2005 agile
  • 3. 2012 1st AGILE AFRICA LEAN & KANBAN EARLY ADOPTERS OF SCRUM 2007 2008 SCRUM USER GROUP FORMED SUGSA CONFERENCE Agile
  • 4. 2015 DEVOPS SAFE 2017 SCALED AGILE 5th AGILE AFRICA NOW WHY ARE YOU HERE? not Agile, please
  • 5. HAVE WE IMPROVED AS MUCH AS WE INTENDED? 2018 2000 18years
  • 6. WHAT DO WE DO? conversations design code run
  • 7. AND SOME DO THIS... conversations design code run
  • 8. WHAT DO WE DO? trying to understand applying our understanding conversations design code run
  • 9. AND WE ALSO DO THIS trying to understand applying our understanding conversations design code run fix mistakes
  • 10. DESIGN BETTER trying to understand applying our understanding conversations design code run fix design
  • 11. UNDERSTAND BETTER trying to understand applying our understanding conversations design code run fix understanding
  • 12. THIS IS LESS COMMON trying to understand applying our understanding conversations design code run pivot
  • 13. THIS IS WHAT WE SHOULD BE DOING trying to understand applying our understanding conversations design code run “observe - tweak - learn” loop
  • 14. BUILDING SOFTWARE IS HARD, AND A LOT HARDER THE AGILE WAY, BUT IT PAYS OF 2018 2000 18years
  • 16. RABBIT HOLE #1 TOO SAFE TO FAIL
  • 17. what do you consider as a failure RABBIT HOLE #1 TOO SAFE TO FAIL
  • 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. 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. 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. RABBIT HOLE #2 QUITTING IN THE ABYSS
  • 22. why do we quit? RABBIT HOLE #2 QUITTING IN THE ABYSS the abyss unrealised returns
  • 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. look ahead RABBIT HOLE #2 QUITTING IN THE ABYSS walking a death march aiming for mediocrity worthless effort
  • 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
  • 27. what is the gap between the best and the rest RABBIT HOLE #3 ACCEPTING MEDIOCRITY
  • 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. zone of mediocrity RABBIT HOLE #3 ACCEPTING MEDIOCRITY extinction zone! excellence acceptable necessary zone of hard yards the normalisation of deviance
  • 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
  • 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. the fix #1 RABBIT HOLE #4 UNBELIEVABLE ask “is it true?” and demand answers from credible people
  • 34. the fix #2 RABBIT HOLE #4 UNBELIEVABLE know when to hold the line and when to walk
  • 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. 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. 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. software is a craft software is art not the fix RABBIT HOLE #5 IGNORANT OF COSTS
  • 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
  • 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. 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. THIS IS WHAT WE SHOULD BE DOING trying to understand applying our understanding conversations design code run “observe - tweak - learn” loop
  • 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