SlideShare a Scribd company logo
So When Will It Be Done?
John Donoghue and Rien Sach
Agile:MK – Oct 2019
Areas to cover
• “Agile estimating”
• The realistic compromise
• The Iron Triangle (and that important middle bit)
– Fixing Date
– Fixing Scope
• REAR
• First question – what is agile estimating?
– What does “by the book” mean?
– What do we consider when making an estimate?
– How do we measure/record estimates?
– How do we communicate the outcome of our
refinement/estimation?
Agile Estimating
• Starts with a prioritised backlog
• Items are refined and estimated in priority order
• More attention is given to the higher priority items
• Anticipated that you’ll review and refine items as they
progress up the backlog
• Likely re-estimate backlog items as things become clearer
Agile Estimating (take two)
• Prioritised, refined, estimated (to a degree) backlog
– Higher clarity on items and estimates at the top
– More vagueness and questions as we go down
• We answer “When will it be done?” by considering:
– Teams velocity
– Backlog status
– Confidence in the definition & estimate of the backlog items
• What that means is we say “Given what we know at this point, if
nothing changes we forecast that we will be able to complete this
item between X and Y dates/releases”
Agile Estimating – The Outcome
• People don’t tend to like the word forecast. At least, they often exchange it with
the word “commitment”
• Even if they do accept the word forecast, customers often don’t
• Even if customers accept the word forecast, that doesn’t stop people being
unhappy as things change – software delivery is usually only a small piece of a
larger project
• Things always change.
• You -always- have more work to do than available capacity
• Backlog items will almost always grow in size as it gets closer to being prioritised or
while it’s being delivered
Agile Estimating – What’s the problem here?
The stakeholders say they need to know what will be
delivered, what it will cost, and when they can expect
it.
So:
• Give them a date with plenty of contingency built in
• Do highest-value-thing-first (Agile, right!?) so if you
run out of contingency you might not get fired
Let’s Get Realistic
Scope
Cost Time
Quality
The Iron Triangle
• Choose a date for release and announce high level
feature list
• Flex scope within high level definitions
e.g. “when we announced support for Word, we meant just the latest version”
• Work on highest value parts of each feature, what
makes the date is released
• If the chosen date is “every two weeks” it looks a bit like
Scrum!
Fixed Date, Flexible Scope
• Announce feature list (aka Roadmap)
• Doesn’t matter what order things are worked on, it all
needs to be done
• When it’s all done, release it
• If you can get away with announcing one small feature
per team, it’s might be getting close to being Agile
Flexible Date, Fixed Scope
Context: this is an approach being considered (not yet
adopted) in a company where:
• Need to set customer expectation of delivery dates a long
way in advance of really knowing
• Don’t want to give commitments that set teams up to fail
• Don’t want to just “pad the estimates” – work grows to fill
the time allowed!
• Want to empower teams to own the whole problem
Something new...
• Create prioritised list of high level features
• Have team(s) provide range estimate for each
– State assumptions being made about scope etc.
– Estimate based on "I'll be surprised if...“
– Estimate in whatever unit you prefer (Number of Stories, Story
Points, Ideal Days, etc.)
• Each sprint the team works to reduce the estimate of
remaining work; methods to do this could include
– Build some of it
– Find a library that does it
– Get scope reduced
• Latest expected dates can be communicated
Range Estimates And Reduce
• Team estimates work as 50 – 120 stories (it's a big
initiative)
• In first sprint the team completes 5 stories, and feel a bit
more confident they understand the scope
• Remaining estimate is 45 – 100 stories
Example Scenario 1
• Team estimates work as 50 – 120 stories (it's a big
initiative)
• In first sprint the team does some research and finds a
library that meets most of the requirements, and agrees
with stakeholders the other requirements can be
skipped
• Remaining estimate is 10 – 20 stories to integrate the
library
• Great job!
Example Scenario 2
• Team estimates work as 50 – 120 stories (it's a big
initiative)
• In first sprint the team does some research but doesn't
find anything that will help
• Remaining estimate is 50 – 120 stories
• Looks like the team did nothing for a sprint
• PROBLEM: if we're not prepared to accept scenario 3,
then we never get scenario 2
Example Scenario 3
• Team estimates work as 50 – 120 stories (it's a big
initiative)
• In first sprint the team discovers missing assumptions
which mean the work is larger than they thought
• Remaining estimate is 60 – 140 stories
• This is good – we understand the work better
• PROBLEM if managers just look at the number and not
the reason for the number this looks bad
Example Scenario 4
• Team estimates work as 50 – 120 stories (it's a big
initiative)
• In first sprint the team doesn't find missing
requirements or assumptions, but just decides work is
bigger than they thought
• Remaining estimate is 60 – 140 stories
• Team should try getting better at estimating
• PROBLEM if managers give team a hard time over this
they'll learn to pad their estimate next time
Example Scenario 5
• Team estimates work as 50 – 120 stories (it's a big
initiative)
• In first sprint the team doesn't change requirements or
assumptions, but just decides work is smaller than they
thought
• Remaining estimate is 30 – 90 stories
• Team should try getting better at estimating
• PROBLEM team might be worried that managers think
they were padding the earlier estimate
Example Scenario 6

More Related Content

Similar to So when will it be done

Agile projetcs (sizing and estimation)
Agile projetcs (sizing and estimation)Agile projetcs (sizing and estimation)
Agile projetcs (sizing and estimation)
XPDays
 
Introduction to agile and Scrum
Introduction to agile and ScrumIntroduction to agile and Scrum
Introduction to agile and Scrum
Scrum & Kanban
 
Agile Scrum Estimation
Agile   Scrum EstimationAgile   Scrum Estimation
Agile Scrum Estimation
Prasad Prabhakaran
 
Estimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van CauwenbergheEstimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van Cauwenberghe
Agile Tour Beirut
 
Initial sprint velocity problem
Initial sprint velocity problemInitial sprint velocity problem
Initial sprint velocity problem
Dejan Radic
 
Lean conference 2014 Open Market - how we have benefited from the application...
Lean conference 2014 Open Market - how we have benefited from the application...Lean conference 2014 Open Market - how we have benefited from the application...
Lean conference 2014 Open Market - how we have benefited from the application...
Invest Northern Ireland
 
NoEstimates@iNatuix
NoEstimates@iNatuixNoEstimates@iNatuix
NoEstimates@iNatuix
Kamal Tejnani
 
Scrum and-xp-from-the-trenches 01 intro & backlog
Scrum and-xp-from-the-trenches 01 intro & backlogScrum and-xp-from-the-trenches 01 intro & backlog
Scrum and-xp-from-the-trenches 01 intro & backlog
Hossam Hassan
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
Vipul Agarwal
 
To Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates GameTo Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates Game
Agile Humans
 
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdfEstimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
Orderly Disruption
 
Madhur Kathuria Release planning using feature points
Madhur Kathuria Release planning using feature pointsMadhur Kathuria Release planning using feature points
Madhur Kathuria Release planning using feature points
India Scrum Enthusiasts Community
 
Practical Scrum - day 2
Practical Scrum - day 2Practical Scrum - day 2
Practical Scrum - day 2
Anat (Alon) Salhov
 
The Kanban Retrospective
The Kanban RetrospectiveThe Kanban Retrospective
The Kanban Retrospective
Colleen Johnson
 
Estimation and Velocity - Scrum Framework
Estimation and Velocity - Scrum FrameworkEstimation and Velocity - Scrum Framework
Estimation and Velocity - Scrum Framework
Upekha Vandebona
 
The art of estimation
The art of estimationThe art of estimation
The art of estimation
Kshitij Agrawal
 
Scrum - What is it good for?
Scrum - What is it good for?Scrum - What is it good for?
Scrum - What is it good for?
Diana Minnée
 
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
MARRIS Consulting
 
Agile Predictability
Agile PredictabilityAgile Predictability
Agile Predictability
agilesamurai
 
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
Jonathon Hill
 

Similar to So when will it be done (20)

Agile projetcs (sizing and estimation)
Agile projetcs (sizing and estimation)Agile projetcs (sizing and estimation)
Agile projetcs (sizing and estimation)
 
Introduction to agile and Scrum
Introduction to agile and ScrumIntroduction to agile and Scrum
Introduction to agile and Scrum
 
Agile Scrum Estimation
Agile   Scrum EstimationAgile   Scrum Estimation
Agile Scrum Estimation
 
Estimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van CauwenbergheEstimation Games – Pascal Van Cauwenberghe
Estimation Games – Pascal Van Cauwenberghe
 
Initial sprint velocity problem
Initial sprint velocity problemInitial sprint velocity problem
Initial sprint velocity problem
 
Lean conference 2014 Open Market - how we have benefited from the application...
Lean conference 2014 Open Market - how we have benefited from the application...Lean conference 2014 Open Market - how we have benefited from the application...
Lean conference 2014 Open Market - how we have benefited from the application...
 
NoEstimates@iNatuix
NoEstimates@iNatuixNoEstimates@iNatuix
NoEstimates@iNatuix
 
Scrum and-xp-from-the-trenches 01 intro & backlog
Scrum and-xp-from-the-trenches 01 intro & backlogScrum and-xp-from-the-trenches 01 intro & backlog
Scrum and-xp-from-the-trenches 01 intro & backlog
 
Test estimation session
Test estimation sessionTest estimation session
Test estimation session
 
To Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates GameTo Estimate or Not To Estimate + #(No)Estimates Game
To Estimate or Not To Estimate + #(No)Estimates Game
 
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdfEstimation is dead - long live sizing, by John Coleman 13June2023.pdf
Estimation is dead - long live sizing, by John Coleman 13June2023.pdf
 
Madhur Kathuria Release planning using feature points
Madhur Kathuria Release planning using feature pointsMadhur Kathuria Release planning using feature points
Madhur Kathuria Release planning using feature points
 
Practical Scrum - day 2
Practical Scrum - day 2Practical Scrum - day 2
Practical Scrum - day 2
 
The Kanban Retrospective
The Kanban RetrospectiveThe Kanban Retrospective
The Kanban Retrospective
 
Estimation and Velocity - Scrum Framework
Estimation and Velocity - Scrum FrameworkEstimation and Velocity - Scrum Framework
Estimation and Velocity - Scrum Framework
 
The art of estimation
The art of estimationThe art of estimation
The art of estimation
 
Scrum - What is it good for?
Scrum - What is it good for?Scrum - What is it good for?
Scrum - What is it good for?
 
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
Agile: the Good, the Bad and the Ugly - Webinar by Clarke Ching Agile - Septe...
 
Agile Predictability
Agile PredictabilityAgile Predictability
Agile Predictability
 
Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014Estimation Protips - NCDevCon 2014
Estimation Protips - NCDevCon 2014
 

Recently uploaded

Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 

Recently uploaded (20)

Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 

So when will it be done

  • 1. So When Will It Be Done? John Donoghue and Rien Sach Agile:MK – Oct 2019
  • 2. Areas to cover • “Agile estimating” • The realistic compromise • The Iron Triangle (and that important middle bit) – Fixing Date – Fixing Scope • REAR
  • 3. • First question – what is agile estimating? – What does “by the book” mean? – What do we consider when making an estimate? – How do we measure/record estimates? – How do we communicate the outcome of our refinement/estimation? Agile Estimating
  • 4. • Starts with a prioritised backlog • Items are refined and estimated in priority order • More attention is given to the higher priority items • Anticipated that you’ll review and refine items as they progress up the backlog • Likely re-estimate backlog items as things become clearer Agile Estimating (take two)
  • 5. • Prioritised, refined, estimated (to a degree) backlog – Higher clarity on items and estimates at the top – More vagueness and questions as we go down • We answer “When will it be done?” by considering: – Teams velocity – Backlog status – Confidence in the definition & estimate of the backlog items • What that means is we say “Given what we know at this point, if nothing changes we forecast that we will be able to complete this item between X and Y dates/releases” Agile Estimating – The Outcome
  • 6. • People don’t tend to like the word forecast. At least, they often exchange it with the word “commitment” • Even if they do accept the word forecast, customers often don’t • Even if customers accept the word forecast, that doesn’t stop people being unhappy as things change – software delivery is usually only a small piece of a larger project • Things always change. • You -always- have more work to do than available capacity • Backlog items will almost always grow in size as it gets closer to being prioritised or while it’s being delivered Agile Estimating – What’s the problem here?
  • 7. The stakeholders say they need to know what will be delivered, what it will cost, and when they can expect it. So: • Give them a date with plenty of contingency built in • Do highest-value-thing-first (Agile, right!?) so if you run out of contingency you might not get fired Let’s Get Realistic
  • 9. • Choose a date for release and announce high level feature list • Flex scope within high level definitions e.g. “when we announced support for Word, we meant just the latest version” • Work on highest value parts of each feature, what makes the date is released • If the chosen date is “every two weeks” it looks a bit like Scrum! Fixed Date, Flexible Scope
  • 10. • Announce feature list (aka Roadmap) • Doesn’t matter what order things are worked on, it all needs to be done • When it’s all done, release it • If you can get away with announcing one small feature per team, it’s might be getting close to being Agile Flexible Date, Fixed Scope
  • 11. Context: this is an approach being considered (not yet adopted) in a company where: • Need to set customer expectation of delivery dates a long way in advance of really knowing • Don’t want to give commitments that set teams up to fail • Don’t want to just “pad the estimates” – work grows to fill the time allowed! • Want to empower teams to own the whole problem Something new...
  • 12. • Create prioritised list of high level features • Have team(s) provide range estimate for each – State assumptions being made about scope etc. – Estimate based on "I'll be surprised if...“ – Estimate in whatever unit you prefer (Number of Stories, Story Points, Ideal Days, etc.) • Each sprint the team works to reduce the estimate of remaining work; methods to do this could include – Build some of it – Find a library that does it – Get scope reduced • Latest expected dates can be communicated Range Estimates And Reduce
  • 13. • Team estimates work as 50 – 120 stories (it's a big initiative) • In first sprint the team completes 5 stories, and feel a bit more confident they understand the scope • Remaining estimate is 45 – 100 stories Example Scenario 1
  • 14. • Team estimates work as 50 – 120 stories (it's a big initiative) • In first sprint the team does some research and finds a library that meets most of the requirements, and agrees with stakeholders the other requirements can be skipped • Remaining estimate is 10 – 20 stories to integrate the library • Great job! Example Scenario 2
  • 15. • Team estimates work as 50 – 120 stories (it's a big initiative) • In first sprint the team does some research but doesn't find anything that will help • Remaining estimate is 50 – 120 stories • Looks like the team did nothing for a sprint • PROBLEM: if we're not prepared to accept scenario 3, then we never get scenario 2 Example Scenario 3
  • 16. • Team estimates work as 50 – 120 stories (it's a big initiative) • In first sprint the team discovers missing assumptions which mean the work is larger than they thought • Remaining estimate is 60 – 140 stories • This is good – we understand the work better • PROBLEM if managers just look at the number and not the reason for the number this looks bad Example Scenario 4
  • 17. • Team estimates work as 50 – 120 stories (it's a big initiative) • In first sprint the team doesn't find missing requirements or assumptions, but just decides work is bigger than they thought • Remaining estimate is 60 – 140 stories • Team should try getting better at estimating • PROBLEM if managers give team a hard time over this they'll learn to pad their estimate next time Example Scenario 5
  • 18. • Team estimates work as 50 – 120 stories (it's a big initiative) • In first sprint the team doesn't change requirements or assumptions, but just decides work is smaller than they thought • Remaining estimate is 30 – 90 stories • Team should try getting better at estimating • PROBLEM team might be worried that managers think they were padding the earlier estimate Example Scenario 6