SlideShare a Scribd company logo
1 of 48
Download to read offline
@sebrose http://claysnow.co.uk
1
LESS is MORE
Seb	
  Rose
Claysnow	
  Limited
@sebrose
Tuesday, 24 March 15
@sebrose http://claysnow.co.ukhttp://leadinganswers.typepad.com/leading_answers/files/original_waterfall_paper_winston_royce.pdf
Last century?
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Agile manifesto signatories
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.developersurvivalguide.com/tag/agile/
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
https://markkolier.files.wordpress.com/2012/12/feedback.png?w=300
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://media.mediatemple.netdna-cdn.com/wp-content/uploads/2013/01/floops_loops.png
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://blog.rescuetime.com/wp-content/uploads/2012/08/feedback-loop-graphic-1.jpg
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://conversionxl.com/wp-content/uploads/2014/05/3.png
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Is it small,
or just far away?
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
The Cone of Uncertainty in Project Management
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://dannorth.net/2010/08/30/introducing-deliberate-discovery/
“Ignorance is the single greatest
impediment to throughput.”
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
ASSUME
YOU'RE
IGNORANT
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Outside-in: user stories, then TDD
CHANGE OF PLAN
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
User Stories
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.developersurvivalguide.com/tag/agile/
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
What is a story?
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
To Do In Progress Done
Story A
As a .................
I want .................
So that ...............
13 points
Story B
As a .................
I want .................
So that ...............
8 points
HELP!
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
https://intranet.5amsolutions.com/display/process/Playing+Planning+Poker
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
https://estimation.lunarlogic.io/assets/cards-range-8fc41b2e3fd282125f4602a712020204.png
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Why split them?
Tuesday, 24 March 15
@sebrose http://claysnow.co.ukwinnipegagilist.blogspot.com
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
MVP
http://toolsforagile.com/blog/wp-content/uploads/2011/03/mvp.png
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
1. Just about everyone in the world has done
this.
2. Lots of people have done this, including
someone on our team.
3. Someone in our company has done this, or
we have access to expertise.
4. Someone in the world did this, but not in
our organisation (and probably at a
competitor).
5. Nobody in the world has ever done this
before.
http://lizkeogh.com/2013/07/21/estimating-complexity/
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
MMFs
1.
2.
3.
4.
5.
6.
7.
Naked Planning
In progress Urgent
Average delivery
time from here:
?? days
via @arlobelshee
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://image.slidesharecdn.com/agilepm-140409183015-phpapp01/95/agile-product-owner-51-638.jpg
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
How to split them?
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features
1. Write out any, and I mean any,
meaningful end-to-end scenario in
detail with concrete values at every
step.
2. Now that you’ve chosen one real scenario, go to each step in that
scenario and ask the question,“What would I need to assume to
eliminate this step?” If you find those assumptions make for a reasonable
scenario, then use that assumption to simplify the scenario.
3. Repeat step 2 until exhausted or unable to come up with a simplifying
assumption with five minutes’ thought.
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features
1. Write out any, and I mean any, meaningful end-to-end scenario in detail
with concrete values at every step.
2. Now that you’ve chosen one real
scenario, go to each step in that
scenario and ask the question,
“What would I need to assume to
eliminate this step?” If you find
those assumptions make for a
reasonable scenario, then use that
assumption to simplify the scenario.
3. Repeat step 2 until exhausted or unable to come up with a simplifying
assumption with five minutes’ thought.
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features
1. Write out any, and I mean any, meaningful end-to-end scenario in detail
with concrete values at every step.
2. Now that you’ve chosen one real scenario, go to each step in that
scenario and ask the question,“What would I need to assume to
eliminate this step?” If you find those assumptions make for a reasonable
scenario, then use that assumption to simplify the scenario.
3. Repeat step 2 until exhausted or
unable to come up with a
simplifying assumption with five
minutes’ thought.
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Shouty!
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
https://github.com/cucumber-ltd/shouty.rb
Ruby
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
C#
https://github.com/cucumber-ltd/shouty.net
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
https://github.com/cucumber-ltd/shouty.java
Java
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
https://github.com/cucumber-ltd/shouty.java
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.jbrains.ca/permalink/how-youll-probably-learn-to-split-features
1. Write out any, and I mean any, meaningful end-to-end scenario in detail
with concrete values at every step.
2. Now that you’ve chosen one real scenario, go to each step in that
scenario and ask the question,“What would I need to assume to
eliminate this step?” If you find those assumptions make for a reasonable
scenario, then use that assumption to simplify the scenario.
3. Repeat step 2 until exhausted or unable to come up with a simplifying
assumption with five minutes’ thought.
Let’s apply @jbrains approach:
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
What do you think of our story?
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
TDD
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Print Diamond
Given a letter, print a diamond starting with
‘A’ with the supplied letter at the widest point.
For example: print-diamond ‘C’ prints:
  A
 B B
C   C
 B B
  A
http://claysnow.co.uk/recycling-tests-in-tdd/
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://www.amazon.co.uk/Growing-Object-Oriented-Software-Addison-Wesley-Signature-ebook/dp/
B002TIOYVW
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
.... or make an
existing test
fail
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
What do you think of these two
approaches?
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Transformation Priority Premise
http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html
• Transformations are simple operations that
change the behaviour of code.
• Transformations can be used as the sole
means for passing the currently failing test in
the red/green/refactor cycle.
• Transformations have a priority, or a preferred
ordering,
• prevent impasses, or long outages in the
red/green/refactor cycle.
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
• ({}–>nil) no code at all->code that employs nil
• (nil->constant)
• (constant->constant+) a simple constant to a more
complex constant
• (constant->scalar) replacing a constant with a variable or
an argument
• (statement->statements) adding more unconditional
statements.
• (unconditional->if) splitting the execution path
• (scalar->array)
• (array->container)
• (statement->recursion)
• (if->while)
• (expression->function) replacing an expression with a
function or algorithm
• (variable->assignment) replacing the value of a variable.
http://blog.8thlight.com/uncle-bob/2013/05/27/TheTransformationPriorityPremise.html
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Deliver early to get
FAST FEEDBACK
Deliver increments to
MANAGE RISK
Deliver less to
LEARN MORE
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
Seb Rose
Twitter: 	

 @sebrose
Blog: 	

 	

 www.claysnow.co.uk
E-mail:	

 	

 seb@claysnow.co.uk
Discount code at pragprog.com
DevWeek_25
Valid for 1 month
Tuesday, 24 March 15
@sebrose http://claysnow.co.uk
http://scrumprouk.tumblr.com/post/74824285728/kanban-work-items-to-slice-or-not-to-slice
"The size of a work item or it’s
complexity has no correlation
on [sic] the time it takes to deliver
the work."
Tuesday, 24 March 15

More Related Content

Viewers also liked (6)

LESS IS MORE(MIES VAN DER ROHE)
LESS IS MORE(MIES VAN DER ROHE)LESS IS MORE(MIES VAN DER ROHE)
LESS IS MORE(MIES VAN DER ROHE)
 
Ludwig mies van der rohe
Ludwig mies van der roheLudwig mies van der rohe
Ludwig mies van der rohe
 
Art nouveau
Art nouveauArt nouveau
Art nouveau
 
le corbusier principles
le corbusier principlesle corbusier principles
le corbusier principles
 
Louis Sullivan
Louis SullivanLouis Sullivan
Louis Sullivan
 
Art Nouveau ppt
Art Nouveau pptArt Nouveau ppt
Art Nouveau ppt
 

More from Seb Rose

Software testing - learning to walk again (expoQA22)
Software testing - learning to walk again (expoQA22)Software testing - learning to walk again (expoQA22)
Software testing - learning to walk again (expoQA22)
Seb Rose
 
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Seb Rose
 

More from Seb Rose (20)

Software contracts - Global Enterprise Agile 2023.pdf
Software contracts - Global Enterprise Agile 2023.pdfSoftware contracts - Global Enterprise Agile 2023.pdf
Software contracts - Global Enterprise Agile 2023.pdf
 
Micro-service delivery - without the pitfalls
Micro-service delivery - without the pitfallsMicro-service delivery - without the pitfalls
Micro-service delivery - without the pitfalls
 
DevSecOps - Agile Get-Together 2022.pdf
DevSecOps - Agile Get-Together 2022.pdfDevSecOps - Agile Get-Together 2022.pdf
DevSecOps - Agile Get-Together 2022.pdf
 
Contract testing - Sealights 2022.pdf
Contract testing - Sealights 2022.pdfContract testing - Sealights 2022.pdf
Contract testing - Sealights 2022.pdf
 
Example mapping - slice any story into testable examples - SoCraTes 2022.pdf
Example mapping - slice any story into testable examples - SoCraTes 2022.pdfExample mapping - slice any story into testable examples - SoCraTes 2022.pdf
Example mapping - slice any story into testable examples - SoCraTes 2022.pdf
 
Software testing - learning to walk again (expoQA22)
Software testing - learning to walk again (expoQA22)Software testing - learning to walk again (expoQA22)
Software testing - learning to walk again (expoQA22)
 
DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021
DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021
DevSecOps - Unicom Agile and DevOps Expo (Adaptive Challenges) 2021
 
A brief history of requirements - Unicom 2022
A brief history of requirements  - Unicom 2022A brief history of requirements  - Unicom 2022
A brief history of requirements - Unicom 2022
 
Example mapping (with builds) - ProductWorld 2022
Example mapping (with builds)  - ProductWorld 2022Example mapping (with builds)  - ProductWorld 2022
Example mapping (with builds) - ProductWorld 2022
 
Example mapping - ProductWorld 2022
Example mapping - ProductWorld 2022Example mapping - ProductWorld 2022
Example mapping - ProductWorld 2022
 
No code, low code, machine code QA ATL 2021
No code, low code, machine code   QA ATL 2021No code, low code, machine code   QA ATL 2021
No code, low code, machine code QA ATL 2021
 
No code, low code, machine code QA ATL 2021
No code, low code, machine code   QA ATL 2021No code, low code, machine code   QA ATL 2021
No code, low code, machine code QA ATL 2021
 
No code, low code, machine code - Unicom 2021
No code, low code, machine code -  Unicom 2021No code, low code, machine code -  Unicom 2021
No code, low code, machine code - Unicom 2021
 
BDD: from soup to nuts - The Future of Work Scotland 2021
BDD: from soup to nuts  - The Future of Work Scotland 2021BDD: from soup to nuts  - The Future of Work Scotland 2021
BDD: from soup to nuts - The Future of Work Scotland 2021
 
Contrasting test automation and BDD - 2020
Contrasting test automation and BDD - 2020Contrasting test automation and BDD - 2020
Contrasting test automation and BDD - 2020
 
Are BDD and test automation the same thing? Automation Guild 2021
Are BDD and test automation the same thing?   Automation Guild 2021Are BDD and test automation the same thing?   Automation Guild 2021
Are BDD and test automation the same thing? Automation Guild 2021
 
"Our BDDs are broken!" Lean Agile Exchange 2020
"Our BDDs are broken!"   Lean Agile Exchange 2020"Our BDDs are broken!"   Lean Agile Exchange 2020
"Our BDDs are broken!" Lean Agile Exchange 2020
 
User stories: from good intentions to bad advice - Agile Scotland 2019
User stories: from good intentions to bad advice - Agile Scotland 2019User stories: from good intentions to bad advice - Agile Scotland 2019
User stories: from good intentions to bad advice - Agile Scotland 2019
 
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019User stories: from good intentions to bad advice - Lean Agile Scotland 2019
User stories: from good intentions to bad advice - Lean Agile Scotland 2019
 
Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...Software contracts or: how I learned to stop worrying and love releasing. Agi...
Software contracts or: how I learned to stop worrying and love releasing. Agi...
 

Recently uploaded

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

Less is more