SlideShare une entreprise Scribd logo
1  sur  17
Deliberate Discovery
Dan North – DRW
Imagine you got to redo your project...
...completely from scratch
– with the same objective
– with the same people
– with the same constraints
...except
– you knew then what you know now
– you had 20/20 foresight
Something is holding us back
© Dan North, DRW 2
Theory of Constraints
There is currently a constraint
Any inventory behind the constraint is waste
Any time not addressing the constraint is waste
But you don’t know where the constraint is!
© Dan North, DRW 3
Ignorance is the constraint
Ignorance is multivariate
– What kinds of ignorance are slowing you down?
You are ignorant (to some degree) about...
– your domain
– the nature of the problem
– your incumbent technologies
– other possible technologies
– organisational constraints
– relationships with stakeholders
...and you might not even know!
© Dan North, DRW 4
Ignorance reduces in steps
oh.
Oh!
Crap.
So can we influence the reduction of ignorance?
© Dan North, DRW 5
Can you prepare for the oh crap
moments?
This time we’ll know better
This time it’ll be different
This time we’ll come in on time
This time will be exactly like the other times!
© Dan North, DRW 6
Deliberate discovery
Assume you are always operating in ignorance
Assume some specific axis of ignorance is your
current constraint
Improve throughput by actively addressing
ignorance
Second-order ignorance is a given
© Dan North, DRW 7
We are wired to resist this
We suffer with attribution bias
We suffer with confirmation bias
...but not as badly as everyone else!
© Dan North, DRW 8
Remember how the project started?
You got everyone in a room
You decomposed the problem into stories
– and more stories
– and more stories
You estimated the stories
– and estimated
– and estimated
Was that really the best use of your time?
© Dan North, DRW 9
So how can we apply this?
Software has a half-life
Shorter half-life means less 2OI
– less opportunity to not know what I don’t know
So why not rewrite rather than redevelop?
– with multiple overlapping implementations
© Dan North, DRW 10
Deliberate discovery in planning
Plan for at least some unexpected bad things
Try natural planning (GTD)
1. Purpose
2. Mission/vision/goals
3. Brainstorm
4. Organise
5. Next actions
Figure out your axes of ignorance. Then do it again.
Beware the perils of fractal estimation
© Dan North, DRW 11
Deliberate discovery in analysis
Don’t fear “analysis paralysis”
– as long as it’s reducing relevant ignorance
Ethnography
– What are your stakeholders caring about?
– What should they be caring about?
Play it forward
– Who are you trying to reach?
– What do you want their experience to be?
Understanding the domain is a whole team activity
© Dan North, DRW 12
Deliberate discovery in programming
Spike-and-stabilise
– learn through evolving the “spike”
– choose to stabilise later – deferred, test-driven testing
Design for the second case
– you might gonna need it!
Indirect discovery
Travel in pairs
– optimise for learning: delivery will take care of itself
© Dan North, DRW 13
Deliberate discovery in testing
Exploratory testing
Randomised testing
Not just running the same old automated tests!
Good testers already know this
© Dan North, DRW 14
Deliberate discovery in (dev)ops
Get into production early
– get anything into production!
Design for monitorability
– push diagnostics rather than pulling an autopsy
– make it easy to listen
Design for discoverability
– what went wrong?
– what’s going wrong – right now?
© Dan North, DRW 15
Summary
You don’t know what you don’t know
That ignorance is killing your throughput
Sometimes you can’t know what you don’t know
For everything else, there’s Deliberate Discovery
© Dan North, DRW 16
Thank you
dnorth@drw.com
http://dannorth.net
@tastapod
© Dan North, DRW 17

Contenu connexe

Similaire à Deliberate Discovery to Reduce Ignorance

Be open-minded, my friend (June, 2018)
Be open-minded, my friend (June, 2018)Be open-minded, my friend (June, 2018)
Be open-minded, my friend (June, 2018)Rachel M. Carmena
 
18 things I've learned about design
18 things I've learned about design18 things I've learned about design
18 things I've learned about designWill Tschumy
 
Care and Feeding of Volunteers
Care and Feeding of VolunteersCare and Feeding of Volunteers
Care and Feeding of Volunteersdreamwidth
 
XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...
XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...
XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...UX STRAT
 
Finding a job
Finding a jobFinding a job
Finding a jobclubqudos
 
Psychological Aspects of Being an Entrepreneur:The Road to Entrepreneurship
Psychological Aspects of Being an Entrepreneur:The Road to EntrepreneurshipPsychological Aspects of Being an Entrepreneur:The Road to Entrepreneurship
Psychological Aspects of Being an Entrepreneur:The Road to EntrepreneurshipDeepanshu Saini
 
4D Scheduling: The Reality and The Hype
4D Scheduling: The Reality and The Hype4D Scheduling: The Reality and The Hype
4D Scheduling: The Reality and The Hypep6academy
 
Do We Need Better Presentations
Do We Need Better PresentationsDo We Need Better Presentations
Do We Need Better PresentationsJose Ramon Macias
 
Zibtek’s Software Development Comparison Guide
Zibtek’s Software Development Comparison GuideZibtek’s Software Development Comparison Guide
Zibtek’s Software Development Comparison GuideAmit Ashwini
 
A journey through an INFOSEC labyrinth
A journey through an INFOSEC labyrinthA journey through an INFOSEC labyrinth
A journey through an INFOSEC labyrinthAvădănei Andrei
 
Design Sprint [DevFest 2015 Bari]
Design Sprint [DevFest 2015 Bari]Design Sprint [DevFest 2015 Bari]
Design Sprint [DevFest 2015 Bari]Nicola Policoro
 
Watch your language, young man!
Watch your language, young man!Watch your language, young man!
Watch your language, young man!Paweł Wacławczyk
 
100 lessons learned for project managers
100 lessons learned for project managers100 lessons learned for project managers
100 lessons learned for project managersLuis Olaya
 
50 Shades of Fail
50 Shades of Fail 50 Shades of Fail
50 Shades of Fail SmartBear
 

Similaire à Deliberate Discovery to Reduce Ignorance (15)

Be open-minded, my friend (June, 2018)
Be open-minded, my friend (June, 2018)Be open-minded, my friend (June, 2018)
Be open-minded, my friend (June, 2018)
 
18 things I've learned about design
18 things I've learned about design18 things I've learned about design
18 things I've learned about design
 
Care and Feeding of Volunteers
Care and Feeding of VolunteersCare and Feeding of Volunteers
Care and Feeding of Volunteers
 
XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...
XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...
XD Immersive: Andrew McHugh, "Making the Transition to VR / AR Experience Des...
 
Finding a job
Finding a jobFinding a job
Finding a job
 
Psychological Aspects of Being an Entrepreneur:The Road to Entrepreneurship
Psychological Aspects of Being an Entrepreneur:The Road to EntrepreneurshipPsychological Aspects of Being an Entrepreneur:The Road to Entrepreneurship
Psychological Aspects of Being an Entrepreneur:The Road to Entrepreneurship
 
4D Scheduling: The Reality and The Hype
4D Scheduling: The Reality and The Hype4D Scheduling: The Reality and The Hype
4D Scheduling: The Reality and The Hype
 
Tomer Dvir Be Yourself
Tomer Dvir  Be YourselfTomer Dvir  Be Yourself
Tomer Dvir Be Yourself
 
Do We Need Better Presentations
Do We Need Better PresentationsDo We Need Better Presentations
Do We Need Better Presentations
 
Zibtek’s Software Development Comparison Guide
Zibtek’s Software Development Comparison GuideZibtek’s Software Development Comparison Guide
Zibtek’s Software Development Comparison Guide
 
A journey through an INFOSEC labyrinth
A journey through an INFOSEC labyrinthA journey through an INFOSEC labyrinth
A journey through an INFOSEC labyrinth
 
Design Sprint [DevFest 2015 Bari]
Design Sprint [DevFest 2015 Bari]Design Sprint [DevFest 2015 Bari]
Design Sprint [DevFest 2015 Bari]
 
Watch your language, young man!
Watch your language, young man!Watch your language, young man!
Watch your language, young man!
 
100 lessons learned for project managers
100 lessons learned for project managers100 lessons learned for project managers
100 lessons learned for project managers
 
50 Shades of Fail
50 Shades of Fail 50 Shades of Fail
50 Shades of Fail
 

Plus de Skills Matter

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard LawrenceSkills Matter
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applicationsSkills Matter
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmSkills Matter
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimSkills Matter
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Skills Matter
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlSkills Matter
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsSkills Matter
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Skills Matter
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Skills Matter
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldSkills Matter
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Skills Matter
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Skills Matter
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingSkills Matter
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveSkills Matter
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSkills Matter
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tSkills Matter
 

Plus de Skills Matter (20)

5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence5 things cucumber is bad at by Richard Lawrence
5 things cucumber is bad at by Richard Lawrence
 
Patterns for slick database applications
Patterns for slick database applicationsPatterns for slick database applications
Patterns for slick database applications
 
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvmScala e xchange 2013 haoyi li on metascala a tiny diy jvm
Scala e xchange 2013 haoyi li on metascala a tiny diy jvm
 
Oscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheimOscar reiken jr on our success at manheim
Oscar reiken jr on our success at manheim
 
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
Progressive f# tutorials nyc dmitry mozorov & jack pappas on code quotations ...
 
Cukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberlCukeup nyc ian dees on elixir, erlang, and cucumberl
Cukeup nyc ian dees on elixir, erlang, and cucumberl
 
Cukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.jsCukeup nyc peter bell on getting started with cucumber.js
Cukeup nyc peter bell on getting started with cucumber.js
 
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
Agile testing & bdd e xchange nyc 2013 jeffrey davidson & lav pathak & sam ho...
 
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
Progressive f# tutorials nyc rachel reese & phil trelford on try f# from zero...
 
Progressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source worldProgressive f# tutorials nyc don syme on keynote f# in the open source world
Progressive f# tutorials nyc don syme on keynote f# in the open source world
 
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
Agile testing & bdd e xchange nyc 2013 gojko adzic on bond villain guide to s...
 
Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#Dmitry mozorov on code quotations code as-data for f#
Dmitry mozorov on code quotations code as-data for f#
 
A poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testingA poet's guide_to_acceptance_testing
A poet's guide_to_acceptance_testing
 
Russ miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-diveRuss miles-cloudfoundry-deep-dive
Russ miles-cloudfoundry-deep-dive
 
Serendipity-neo4j
Serendipity-neo4jSerendipity-neo4j
Serendipity-neo4j
 
Simon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelismSimon Peyton Jones: Managing parallelism
Simon Peyton Jones: Managing parallelism
 
Plug 20110217
Plug   20110217Plug   20110217
Plug 20110217
 
Lug presentation
Lug presentationLug presentation
Lug presentation
 
I went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_tI went to_a_communications_workshop_and_they_t
I went to_a_communications_workshop_and_they_t
 
Plug saiku
Plug   saikuPlug   saiku
Plug saiku
 

Dernier

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Nikki Chapple
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integrationmarketing932765
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...itnewsafrica
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Jeffrey Haguewood
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsYoss Cohen
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkPixlogix Infotech
 

Dernier (20)

Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
Microsoft 365 Copilot: How to boost your productivity with AI – Part one: Ado...
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS:  6 Ways to Automate Your Data IntegrationBridging Between CAD & GIS:  6 Ways to Automate Your Data Integration
Bridging Between CAD & GIS: 6 Ways to Automate Your Data Integration
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
Irene Moetsana-Moeng: Stakeholders in Cybersecurity: Collaborative Defence fo...
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
Email Marketing Automation for Bonterra Impact Management (fka Social Solutio...
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Infrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platformsInfrared simulation and processing on Nvidia platforms
Infrared simulation and processing on Nvidia platforms
 
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
React Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App FrameworkReact Native vs Ionic - The Best Mobile App Framework
React Native vs Ionic - The Best Mobile App Framework
 

Deliberate Discovery to Reduce Ignorance

  • 2. Imagine you got to redo your project... ...completely from scratch – with the same objective – with the same people – with the same constraints ...except – you knew then what you know now – you had 20/20 foresight Something is holding us back © Dan North, DRW 2
  • 3. Theory of Constraints There is currently a constraint Any inventory behind the constraint is waste Any time not addressing the constraint is waste But you don’t know where the constraint is! © Dan North, DRW 3
  • 4. Ignorance is the constraint Ignorance is multivariate – What kinds of ignorance are slowing you down? You are ignorant (to some degree) about... – your domain – the nature of the problem – your incumbent technologies – other possible technologies – organisational constraints – relationships with stakeholders ...and you might not even know! © Dan North, DRW 4
  • 5. Ignorance reduces in steps oh. Oh! Crap. So can we influence the reduction of ignorance? © Dan North, DRW 5
  • 6. Can you prepare for the oh crap moments? This time we’ll know better This time it’ll be different This time we’ll come in on time This time will be exactly like the other times! © Dan North, DRW 6
  • 7. Deliberate discovery Assume you are always operating in ignorance Assume some specific axis of ignorance is your current constraint Improve throughput by actively addressing ignorance Second-order ignorance is a given © Dan North, DRW 7
  • 8. We are wired to resist this We suffer with attribution bias We suffer with confirmation bias ...but not as badly as everyone else! © Dan North, DRW 8
  • 9. Remember how the project started? You got everyone in a room You decomposed the problem into stories – and more stories – and more stories You estimated the stories – and estimated – and estimated Was that really the best use of your time? © Dan North, DRW 9
  • 10. So how can we apply this? Software has a half-life Shorter half-life means less 2OI – less opportunity to not know what I don’t know So why not rewrite rather than redevelop? – with multiple overlapping implementations © Dan North, DRW 10
  • 11. Deliberate discovery in planning Plan for at least some unexpected bad things Try natural planning (GTD) 1. Purpose 2. Mission/vision/goals 3. Brainstorm 4. Organise 5. Next actions Figure out your axes of ignorance. Then do it again. Beware the perils of fractal estimation © Dan North, DRW 11
  • 12. Deliberate discovery in analysis Don’t fear “analysis paralysis” – as long as it’s reducing relevant ignorance Ethnography – What are your stakeholders caring about? – What should they be caring about? Play it forward – Who are you trying to reach? – What do you want their experience to be? Understanding the domain is a whole team activity © Dan North, DRW 12
  • 13. Deliberate discovery in programming Spike-and-stabilise – learn through evolving the “spike” – choose to stabilise later – deferred, test-driven testing Design for the second case – you might gonna need it! Indirect discovery Travel in pairs – optimise for learning: delivery will take care of itself © Dan North, DRW 13
  • 14. Deliberate discovery in testing Exploratory testing Randomised testing Not just running the same old automated tests! Good testers already know this © Dan North, DRW 14
  • 15. Deliberate discovery in (dev)ops Get into production early – get anything into production! Design for monitorability – push diagnostics rather than pulling an autopsy – make it easy to listen Design for discoverability – what went wrong? – what’s going wrong – right now? © Dan North, DRW 15
  • 16. Summary You don’t know what you don’t know That ignorance is killing your throughput Sometimes you can’t know what you don’t know For everything else, there’s Deliberate Discovery © Dan North, DRW 16