SlideShare uma empresa Scribd logo
1 de 33
Leeroy Driven
Development
Leeeeeeroy Jeeeenkins
John Nicholas
john.nicholas@dinoroar.io
No, I’m not hiring. I want you to hire me though.
Last talk ….
Was all about coupling and so complexity.
This talk ….
Reducing Coupling and Complexity in our Delivery Process
"organizations which design systems ... are constrained to produce designs which
are copies of the communication structures of these organizations."
— M. Conway[2]
“When placed in the same system, people, however different, tend to produce
similar results”
- Demming
“Subordinate the System to the bottleneck”
- Eliyahu M. Goldratt
Graph taken from here: (Enjoy the irony because we all know that following indexes is better than results from active traders)
https://www.marketcalls.in/trading-lessons/the-dunning-kruger-effect-what-differentiates-novice-and-expert-traders.html
The Problem with
Dunning-Kruger is:
What if you are the
stupid one?
What on earth is
the point?
Meet Leeroy the Developer
● Pushes code 5-6 times a day - ‘Yeah its in prod’
● Acts in a fairly autonomous manner (No I in team … no U either)
● Away talking to people in other areas of the business - Not Coding
● Can’t use git - doesn’t branches
● ‘Is this really important? I’d rather do this’
● ‘Do we really need meetings?’
● ‘Hey do you want to go and chat for 5 mins?’
He is
a colossal pita
But what if? ….
● Commits because total confidence in Deployment Process
● Less QA oversight because QA already put quality into the tiny iterations
● Walking around talking to customers (consumers of work product) - whilst
others wait on responses via slack / email
● Not branching because confers no benefit to continuous integration
● Not checking emails because pairing
● Questions because trying to get at the assumptions and test them
Demming is all about understanding the effect you have on the system beyond your role - what if
Leeroy empowers others to also be able to do this?
Sounds
Reasonable
Doesn’t
It
Competative
Advantage
Amount Of
Work
DDD
- Very costly to balls up
- Huge payday if win
Buy It
Do It Now
- Iterate later
- No time to think
Work on
Practising
Being Good
Where to play (Enterprise) ? ….
#Trust
No Relationship = No Trust
● To Leeroy EveryLeeroy is Leeroy - you have to treat everyleeroy as leeroy
● You cannot tell people into trust - you have to come along together with them.
Trust is born out of a sustained lack of fear and building empathy in a relationship
with someone
Then we can start experiments
(Change management, cognitive dissonance, emotional drain, resilience, one to
ones, servant leadership, who is your customer in varying situations, what do they
think they want? What do you think they need? Is that what they are telling you?
Subtle subtle cues)
#Fear and
Process in Las
Vegas
Process as (and is) a response to Fear
Process should used for testing hypothesis as a proxy for trust.
Sadly:
‘Things gone wrong! People must be wrong! Process make People Work Right!’
The problem: If process is antidote to fear of failure then when met with failure the
options are
1. More Process
2. Process Better
Why not Less Process?
Why do our boards all look the same?
Backlog : 3 amigos : dev : QA : pre release : released : done
● if we can build trust then can we abandon the idea that process is necessarily
good? - Let’s start from our desired behaviour and fix problems
● If we can demonstrate value in a change then that change will just take root.
● We can experiment via helping someone else fix their problems.
One cannot simply delete all the jira columns.
No, we need to go on a really long adventure
Find someone to
Help (QA!)
The QA probably
feels the same
way about this
stuff as you.
QA probably spends time on regression
● Get blamed when deploy fails - and have no ownership of the process
● Probably running manual regression - time / unreliable
Go bring them into development, make friends, find what annoys them and fix it.
● One 2 ones - listen: there will be low hanging fruit
● Pairing - do your job and their side by side
● Discover that actually you want QA Driven Development
● QA gets to start doing things like exploratory testing
How To Leeroy ...
1) Do not branch ever
2) Make you local environment the same as your target environment.
3) Automate deployment of basically nothing all the way to production from a
console command.
4) Deploy things that measure the health of the ‘service’ this will become
integration test points to test if deployment was successful - make that script
assert against them.
5) Show the QA, bring them in - add to it until they are happy
6) You are deploying automatically all the way to production. Congratulations.
7) You are also running tests on production
Now work with the QA to both add value and *protect* value. Feature flag,
duplicate + modify then replace (Doubly so in microservice world)
Your company
probably cannot
deploy very well
Do not ever
deploy / commit / write
‘work’ that you cannot
turn off
The QA comes FIRST
Write The Assert First
Let’s make
friends with a
BA / PO
Now you connect to value
● QA generally extend the scope - BA/PO should generally reduce via
prioritisation and trimming the fat.
● Now the feedback loop from changing priorities to deployable code is 3
people at a desk working alongside one another together. There is something
Heideggerian going on, it feels good.
● Now the dev column collapses into the 3 amigos column
Now the Board looks like this
BackLog : 3 Amigos : Deployed : committed
You *can* Deploy
before you
commit!
LEEEEEROY
JEEEENNKINS
Why deploy before commit?
● No One cares if it works on your machine
● We want stakeholder buyin during value creation.
● Replace a build process with a continually integrated deployment process.
● A successful state of deployment consists of deploy + all tests successful
● Our tests are built by the QA, if the QA has no confidence in the tests then it's
time for a conversation. LISTEN and then implement.
● The key is to take control of the dependencies as part of the deploy process.
Terrified yet?
….
Deploying before committing feels wierd
● Code does not go stale
● Makes everybody acutely aware that everything they do will go live.
● Everything gets very serious and very fast paced
● Everything gets *really* safe - you can try things and refactor confidently.
● It subordinates everything to the weakest part - verification and deployment.
A thin slice is not just a small incremental commit. It is a small incremental
deployment that unlocks a piece of value.
This requires bringing all parties together to focus on this goal of forwardness.
The thinner you slice the harsher deployment becomes.
Thats it, highly condensed
Lots more things to think about
● Taking Lean Startup ideas and applying them to dev processes
● Haven’t gone into the PO / Customer Value stuff at all here
● Hopefully the experiment -> measure -> learn loop visible in relations
● Cycle of adding value to your customers and bringing in next column left can
be extended all the way out.
● Smashing lead time.
● Consider this with little inventory being built up and elaborated against a 6
month+ inception / queueing period many companies employ
● Working closely with people like this increases friction. Focussing on building
relationships and helping others to practise this almost kata style is very
powerful.
Who Is Leeroy Jenkins
1. If you do not know who he is, google it. Giggle, enjoy
If you do know who he is then maybe you didn’t know this: (Spoiler Alert)
1. It was staged, the guild wanted to recruit.
2. He's made no money on the back of it
3. Private Leeroy was cut from the warcraft movie
4. Its weird how much you discover you don’t know whilst failing to find a gif
Thank You - Its
over now.
Questions?

Mais conteúdo relacionado

Mais procurados

Improve the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov VadimImprove the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov VadimSoftServe
 
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)John Cutler
 
Super Strategy in Decision Making
Super Strategy in Decision MakingSuper Strategy in Decision Making
Super Strategy in Decision MakingMaxwell Ranasinghe
 
Want better estimation ?
Want better estimation ?Want better estimation ?
Want better estimation ?Alexandre Cuva
 
Approaches to problem solving and stages involved
Approaches to problem solving and stages involvedApproaches to problem solving and stages involved
Approaches to problem solving and stages involvedSounay Phothisane
 
Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...
Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...
Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...Lviv Startup Club
 
Using Bets, Boards and Missions to Inspire Org-wide Agility
Using Bets, Boards and Missions to Inspire Org-wide AgilityUsing Bets, Boards and Missions to Inspire Org-wide Agility
Using Bets, Boards and Missions to Inspire Org-wide AgilityC4Media
 
How to be a 10x Engineer
How to be a 10x EngineerHow to be a 10x Engineer
How to be a 10x EngineerNick Sullivan
 
10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them 10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them PractiTest
 
Agile Gurgaon 2016 Conference | The game has changed! | Sudipta Lahiri
Agile Gurgaon 2016 Conference | The game has changed! | Sudipta LahiriAgile Gurgaon 2016 Conference | The game has changed! | Sudipta Lahiri
Agile Gurgaon 2016 Conference | The game has changed! | Sudipta LahiriAgileNetwork
 
Design process in English
Design process in English Design process in English
Design process in English InglsVI
 
I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?Yi Xu
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and AgileJames Coplien
 
Frug'Agile 2021: Agile as doctrine (and that's a good thing)
Frug'Agile 2021: Agile as doctrine (and that's a good thing)Frug'Agile 2021: Agile as doctrine (and that's a good thing)
Frug'Agile 2021: Agile as doctrine (and that's a good thing)Jason Yip
 

Mais procurados (20)

Improve the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov VadimImprove the Development Process with DevOps Practices by Fedorov Vadim
Improve the Development Process with DevOps Practices by Fedorov Vadim
 
Toyotas 8 Steps To Problem Solving
Toyotas 8 Steps To Problem SolvingToyotas 8 Steps To Problem Solving
Toyotas 8 Steps To Problem Solving
 
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
The Three Big Eng/Prod Collaboration Traps (and What to Do About Them)
 
Super Strategy in Decision Making
Super Strategy in Decision MakingSuper Strategy in Decision Making
Super Strategy in Decision Making
 
Want better estimation ?
Want better estimation ?Want better estimation ?
Want better estimation ?
 
Approaches to problem solving and stages involved
Approaches to problem solving and stages involvedApproaches to problem solving and stages involved
Approaches to problem solving and stages involved
 
Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...
Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...
Alex Pavlenko “How to achieve to organizational maturity nirvana and overcome...
 
Using Bets, Boards and Missions to Inspire Org-wide Agility
Using Bets, Boards and Missions to Inspire Org-wide AgilityUsing Bets, Boards and Missions to Inspire Org-wide Agility
Using Bets, Boards and Missions to Inspire Org-wide Agility
 
How to be a 10x Engineer
How to be a 10x EngineerHow to be a 10x Engineer
How to be a 10x Engineer
 
50.000 orange stickies later
50.000 orange stickies later50.000 orange stickies later
50.000 orange stickies later
 
10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them 10+ Testing Pitfalls and How to Avoid them
10+ Testing Pitfalls and How to Avoid them
 
One Weird Trick
One Weird TrickOne Weird Trick
One Weird Trick
 
Agile Gurgaon 2016 Conference | The game has changed! | Sudipta Lahiri
Agile Gurgaon 2016 Conference | The game has changed! | Sudipta LahiriAgile Gurgaon 2016 Conference | The game has changed! | Sudipta Lahiri
Agile Gurgaon 2016 Conference | The game has changed! | Sudipta Lahiri
 
Design process in English
Design process in English Design process in English
Design process in English
 
I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?I Run Out Of Silver Bullets, Now What?
I Run Out Of Silver Bullets, Now What?
 
Secrets of Scrum
Secrets of ScrumSecrets of Scrum
Secrets of Scrum
 
The Heart Of Agile
The Heart Of AgileThe Heart Of Agile
The Heart Of Agile
 
Balancing the tension between Lean and Agile
Balancing the tension between Lean and AgileBalancing the tension between Lean and Agile
Balancing the tension between Lean and Agile
 
Frug'Agile 2021: Agile as doctrine (and that's a good thing)
Frug'Agile 2021: Agile as doctrine (and that's a good thing)Frug'Agile 2021: Agile as doctrine (and that's a good thing)
Frug'Agile 2021: Agile as doctrine (and that's a good thing)
 
Lean UX principles
Lean UX principlesLean UX principles
Lean UX principles
 

Semelhante a Leeroy driven development

Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Lisa Boyer Cooney (she/her)
 
Building High Quality Software
Building High Quality SoftwareBuilding High Quality Software
Building High Quality SoftwareJohan Hoberg
 
QA's lead role in agile transformations
QA's lead role in agile transformationsQA's lead role in agile transformations
QA's lead role in agile transformationsDave Ungar
 
Maximising teamwork in delivering software products
Maximising teamwork in delivering software productsMaximising teamwork in delivering software products
Maximising teamwork in delivering software productsRyan Dawson
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Adrian Carr
 
Maximising teamwork in delivering software products
Maximising teamwork in delivering software products Maximising teamwork in delivering software products
Maximising teamwork in delivering software products Ryan Dawson
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesJohan Hoberg
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teamsIgor Moochnick
 
Blameless system design - annotated
Blameless system design  - annotatedBlameless system design  - annotated
Blameless system design - annotatedDouglas Land
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startupsOleg Podsechin
 
Agile my point of view
Agile   my point of viewAgile   my point of view
Agile my point of viewYogesh SHinde
 
LEAN: Dream Maker Developments
LEAN: Dream Maker DevelopmentsLEAN: Dream Maker Developments
LEAN: Dream Maker DevelopmentsVadim Davydov
 
How Product Managers & Developers Deliver Value at Avvo
How Product Managers & Developers Deliver Value at AvvoHow Product Managers & Developers Deliver Value at Avvo
How Product Managers & Developers Deliver Value at AvvoDanielle Martin
 
STARWEST 2013 - What Executive Value in Testing
STARWEST 2013 - What Executive Value in TestingSTARWEST 2013 - What Executive Value in Testing
STARWEST 2013 - What Executive Value in TestingMichael Kelly
 

Semelhante a Leeroy driven development (20)

Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
 
Nasty Impediments: Unclog the Pipe for Business Agility
Nasty Impediments: Unclog the Pipe for Business AgilityNasty Impediments: Unclog the Pipe for Business Agility
Nasty Impediments: Unclog the Pipe for Business Agility
 
Building High Quality Software
Building High Quality SoftwareBuilding High Quality Software
Building High Quality Software
 
QA's lead role in agile transformations
QA's lead role in agile transformationsQA's lead role in agile transformations
QA's lead role in agile transformations
 
Maximising teamwork in delivering software products
Maximising teamwork in delivering software productsMaximising teamwork in delivering software products
Maximising teamwork in delivering software products
 
Agile Coach Retreat - Montreal - Sep-2013
Agile Coach Retreat - Montreal - Sep-2013Agile Coach Retreat - Montreal - Sep-2013
Agile Coach Retreat - Montreal - Sep-2013
 
Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009Agile for Me- CodeStock 2009
Agile for Me- CodeStock 2009
 
Maximising teamwork in delivering software products
Maximising teamwork in delivering software products Maximising teamwork in delivering software products
Maximising teamwork in delivering software products
 
Quality, Testing & Agile Methodologies
Quality, Testing & Agile MethodologiesQuality, Testing & Agile Methodologies
Quality, Testing & Agile Methodologies
 
Agile challenges
Agile challengesAgile challenges
Agile challenges
 
Agile Challenges
Agile ChallengesAgile Challenges
Agile Challenges
 
Building lean products with distributed agile teams
Building lean products with distributed agile teamsBuilding lean products with distributed agile teams
Building lean products with distributed agile teams
 
Blameless system design - annotated
Blameless system design  - annotatedBlameless system design  - annotated
Blameless system design - annotated
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
 
Too Many Conditions!
Too Many Conditions!Too Many Conditions!
Too Many Conditions!
 
Agile my point of view
Agile   my point of viewAgile   my point of view
Agile my point of view
 
LEAN: Dream Maker Developments
LEAN: Dream Maker DevelopmentsLEAN: Dream Maker Developments
LEAN: Dream Maker Developments
 
How Product Managers & Developers Deliver Value at Avvo
How Product Managers & Developers Deliver Value at AvvoHow Product Managers & Developers Deliver Value at Avvo
How Product Managers & Developers Deliver Value at Avvo
 
Practical Scrum - day 1
Practical Scrum - day 1Practical Scrum - day 1
Practical Scrum - day 1
 
STARWEST 2013 - What Executive Value in Testing
STARWEST 2013 - What Executive Value in TestingSTARWEST 2013 - What Executive Value in Testing
STARWEST 2013 - What Executive Value in Testing
 

Último

Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalFabian de Rijk
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...David Celestin
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar TrainingKylaCullinane
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatmentnswingard
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Baileyhlharris
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaKayode Fayemi
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfSkillCertProExams
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxraffaeleoman
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lodhisaajjda
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfMahamudul Hasan
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...amilabibi1
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfSenaatti-kiinteistöt
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoKayode Fayemi
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIINhPhngng3
 

Último (15)

Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 

Leeroy driven development

  • 1. Leeroy Driven Development Leeeeeeroy Jeeeenkins John Nicholas john.nicholas@dinoroar.io No, I’m not hiring. I want you to hire me though.
  • 2. Last talk …. Was all about coupling and so complexity. This talk …. Reducing Coupling and Complexity in our Delivery Process
  • 3. "organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations." — M. Conway[2] “When placed in the same system, people, however different, tend to produce similar results” - Demming “Subordinate the System to the bottleneck” - Eliyahu M. Goldratt
  • 4. Graph taken from here: (Enjoy the irony because we all know that following indexes is better than results from active traders) https://www.marketcalls.in/trading-lessons/the-dunning-kruger-effect-what-differentiates-novice-and-expert-traders.html
  • 5. The Problem with Dunning-Kruger is: What if you are the stupid one?
  • 6.
  • 7. What on earth is the point?
  • 8. Meet Leeroy the Developer ● Pushes code 5-6 times a day - ‘Yeah its in prod’ ● Acts in a fairly autonomous manner (No I in team … no U either) ● Away talking to people in other areas of the business - Not Coding ● Can’t use git - doesn’t branches ● ‘Is this really important? I’d rather do this’ ● ‘Do we really need meetings?’ ● ‘Hey do you want to go and chat for 5 mins?’
  • 10. But what if? …. ● Commits because total confidence in Deployment Process ● Less QA oversight because QA already put quality into the tiny iterations ● Walking around talking to customers (consumers of work product) - whilst others wait on responses via slack / email ● Not branching because confers no benefit to continuous integration ● Not checking emails because pairing ● Questions because trying to get at the assumptions and test them Demming is all about understanding the effect you have on the system beyond your role - what if Leeroy empowers others to also be able to do this?
  • 12. Competative Advantage Amount Of Work DDD - Very costly to balls up - Huge payday if win Buy It Do It Now - Iterate later - No time to think Work on Practising Being Good Where to play (Enterprise) ? ….
  • 14. No Relationship = No Trust ● To Leeroy EveryLeeroy is Leeroy - you have to treat everyleeroy as leeroy ● You cannot tell people into trust - you have to come along together with them. Trust is born out of a sustained lack of fear and building empathy in a relationship with someone Then we can start experiments (Change management, cognitive dissonance, emotional drain, resilience, one to ones, servant leadership, who is your customer in varying situations, what do they think they want? What do you think they need? Is that what they are telling you? Subtle subtle cues)
  • 15. #Fear and Process in Las Vegas
  • 16. Process as (and is) a response to Fear Process should used for testing hypothesis as a proxy for trust. Sadly: ‘Things gone wrong! People must be wrong! Process make People Work Right!’ The problem: If process is antidote to fear of failure then when met with failure the options are 1. More Process 2. Process Better Why not Less Process?
  • 17. Why do our boards all look the same? Backlog : 3 amigos : dev : QA : pre release : released : done ● if we can build trust then can we abandon the idea that process is necessarily good? - Let’s start from our desired behaviour and fix problems ● If we can demonstrate value in a change then that change will just take root. ● We can experiment via helping someone else fix their problems. One cannot simply delete all the jira columns. No, we need to go on a really long adventure
  • 19. The QA probably feels the same way about this stuff as you.
  • 20. QA probably spends time on regression ● Get blamed when deploy fails - and have no ownership of the process ● Probably running manual regression - time / unreliable Go bring them into development, make friends, find what annoys them and fix it. ● One 2 ones - listen: there will be low hanging fruit ● Pairing - do your job and their side by side ● Discover that actually you want QA Driven Development ● QA gets to start doing things like exploratory testing
  • 21. How To Leeroy ... 1) Do not branch ever 2) Make you local environment the same as your target environment. 3) Automate deployment of basically nothing all the way to production from a console command. 4) Deploy things that measure the health of the ‘service’ this will become integration test points to test if deployment was successful - make that script assert against them. 5) Show the QA, bring them in - add to it until they are happy 6) You are deploying automatically all the way to production. Congratulations. 7) You are also running tests on production Now work with the QA to both add value and *protect* value. Feature flag, duplicate + modify then replace (Doubly so in microservice world)
  • 23. Do not ever deploy / commit / write ‘work’ that you cannot turn off
  • 24. The QA comes FIRST Write The Assert First
  • 26. Now you connect to value ● QA generally extend the scope - BA/PO should generally reduce via prioritisation and trimming the fat. ● Now the feedback loop from changing priorities to deployable code is 3 people at a desk working alongside one another together. There is something Heideggerian going on, it feels good. ● Now the dev column collapses into the 3 amigos column Now the Board looks like this BackLog : 3 Amigos : Deployed : committed
  • 27. You *can* Deploy before you commit!
  • 29. Why deploy before commit? ● No One cares if it works on your machine ● We want stakeholder buyin during value creation. ● Replace a build process with a continually integrated deployment process. ● A successful state of deployment consists of deploy + all tests successful ● Our tests are built by the QA, if the QA has no confidence in the tests then it's time for a conversation. LISTEN and then implement. ● The key is to take control of the dependencies as part of the deploy process. Terrified yet? ….
  • 30. Deploying before committing feels wierd ● Code does not go stale ● Makes everybody acutely aware that everything they do will go live. ● Everything gets very serious and very fast paced ● Everything gets *really* safe - you can try things and refactor confidently. ● It subordinates everything to the weakest part - verification and deployment. A thin slice is not just a small incremental commit. It is a small incremental deployment that unlocks a piece of value. This requires bringing all parties together to focus on this goal of forwardness. The thinner you slice the harsher deployment becomes.
  • 31. Thats it, highly condensed Lots more things to think about ● Taking Lean Startup ideas and applying them to dev processes ● Haven’t gone into the PO / Customer Value stuff at all here ● Hopefully the experiment -> measure -> learn loop visible in relations ● Cycle of adding value to your customers and bringing in next column left can be extended all the way out. ● Smashing lead time. ● Consider this with little inventory being built up and elaborated against a 6 month+ inception / queueing period many companies employ ● Working closely with people like this increases friction. Focussing on building relationships and helping others to practise this almost kata style is very powerful.
  • 32. Who Is Leeroy Jenkins 1. If you do not know who he is, google it. Giggle, enjoy If you do know who he is then maybe you didn’t know this: (Spoiler Alert) 1. It was staged, the guild wanted to recruit. 2. He's made no money on the back of it 3. Private Leeroy was cut from the warcraft movie 4. Its weird how much you discover you don’t know whilst failing to find a gif
  • 33. Thank You - Its over now. Questions?

Notas do Editor

  1. We have buffers in front of every column, when really we shuold only be buffering the bottlenecks - but we have them everywhere because we do not subordinate to the bottle neck. But what is the bottleneck?
  2. Our job as developers is to DELIVER value What is important? What is important to you? what is important to you now? 1. What do you want me to do? 1. What can i do differently? 1. What are you going to do?