I did a talk that resulted in the http:://agilequittersmanifesto.org. It was tongue-in-cheek, a tough message that carries truths. This is a follow up from that moment, and I feel that we need to have some difficult conversations. This talk was presented at rubyfuza.org in February 2019.
5. rabbit holes
Failure does not lead to learning
Quitting or continuing for the wrong reasons
Tolerance for mediocrity
Producing and consuming lies
Denying and ignoring ignorance
Unicorns chasing rainbows
6. Agile Quitters Manifesto
We have unsuccessfully tried to teach people agile for a long time. Through this work we have come to value:
Sleeping well at night over pretending to deliver value
Personal integrity over having an agile certification
XP over Scrum
Anything really over "Scaled" Agile
That is, while people believe the items on the right have value, there really is none whatsoever. We can't be bothered
anymore, and are going back to coding. See ya!
By Marcus Ahnve, greatly inspired by Aslam Khan. Source
https://agilequittersmanifesto.org/
7. what I have observed
The increasing distance between developer and customer
which leads to
a non-uniform design which is more complex than the problem
that is visible as
ambiguity, divergence and prolific miscommunication
and we hide this mess behind
CDF
Certificate Driven Flow
9. and the response is
NOT
“We are software-artists”
Artistry is a creative endeavour in response to a feeling about the state of self and/or the world.
Engineering is a creative endeavour in response to a recognised problem in the world that needs to be solved.
10. Make space
which leads to
Protection of conceptual integrity
that is visible as
Frictionless Collaboration
and shift from
Costly “reuse and maintain” to cheaper “rip and replace”
4 things
11. Stop cramming and chasing features
chase solving your unique, hard problems
continually trend to be better at continuous delivery
protect your product
Your genuinely unique problems are …. well, unique
cultivate a culture of toolsmiths
Plan when you need to plan
Rushing to catch up is the fastest way to fall behind
Make space
1/4
12. THINK CAREFULLY
(slow)
ACT PRECISELY
(fast)
confirm / discard
Make space
Deliver continuously
(automate everything)
Learn continuously
Your job is probably the best free
education you can get - don’t waste it
WARNING
These are often in tension
1/4
13. The single most important aspect of your design
Omit features than have independent, uncoordinated ideas
Is not achieved by democracy
“A camel is a horse designed by a committee”
Comes from the mind of one or very few
The program manager (this is not the traditional “project management” style)
is the champion and protector of conceptual integrity
Conceptual integrity
(see Fred Brookes’ Mythical Man Month essays)
2/4
15. Face to face is faster and more reliable than anything else
When everyone can provide the same response to
This is why we want to do that … .. and so we are busy with this!
“I told you so” is banned
Voice and receive all feedback, equally
Respect and support the decision
Have the courage to change when it does not play out as planned
Move around
Frictionless Collaboration
3/4
16. Build for use before reuse
Achieving reuse is hard, very hard
Design to rip and replace
Reality check #1: maintenance is incredibly difficult and costly
Reality check #2: designing for parts to be discarded is hard but cheaper
Refactor mercilessly for both: “maintain” & “rip and replace”
“for each desired change, make the change easy (warning: this may be hard),
then make the easy change.” https://twitter.com/KentBeck/status/250733358307500032
Rip and Replace
4/4
17. We write code to ...
move data from a database to a user interface and back again
integrate with another system
Actually, we write code that ...
moves data from one place to another
changes data from one shape to another
Most times we need pipelines of transformations and filters
it is easier to rip and replace the parts of pipelines than disentangle object
graphs, class hierarchies, glued layers and deeply nested procedure calls
Rip and Replace
4/4
18. Make space
which leads to
Protection of conceptual integrity
that is visible as
Frictionless Collaboration
and shift from
Costly “reuse and maintain” to cheaper “rip and replace”
4 things
19. You get there by ...
Being humble, respectful and courageous
Being disciplined
Being self-aware
Not being entitled
Not abusing your privilege
Being humane in your actions so that you sleep restfully
20. Make space?
Protect conceptual integrity?
Commit to frictionless collaboration?
Build to rip and replace?
thank you
Do you care enough to
aslam khan
@aslamkhn
And if you do …
you will find yourself being truly useful
and you will be happier for it