SlideShare a Scribd company logo
• In this meetup, we will look at a variety of strategies for estimating the
delivery of software development projects. We’ll cover traditional
techniques, modern Agile techniques, and also look at some strategies used
by other fields that are interesting and potentially applicable to software
development teams.
• As we conduct this tour of estimation strategies, we’ll consider the purpose
of estimates - what are the business, political, and financial drivers for
estimation? What is the difference between a good faith estimate and a
guarantee? How do burn down, burn up, and cumulative flow charts help or
hurt? How does estimation work in Scrum and Kanban environments?
• If you are a manager trying to sort out strategies for estimation, or developer
trying to find new ideas for working with your business partner, you’ll want to
catch this presentation.
Software Project
Estimation
Will Iverson, CTO
• CTO, Dev9
– Previously Apple,
Symantec, SolutionsIQ
• Java since 1995
• Four Books,
Numerous Articles
• Numerous CMS Evals,
Implementations
• Custom software development firm
– Based just outside Seattle, Washington
• We build custom software solutions based on Continuous Delivery
– Processes & tools based on combination of Lean & heavy use of
automation
• Typical projects
– CMS implementation!
– Java & .NET-based web services at scale
– SQL, NoSQL
– Variety of client-side technologies
• AngularJS, Android, and iOS.
– DevOps implementations, including Docker
• Why Estimates?
– Survey of Approaches
• Philosophy
• Agile Revolution
• Kanban FTW
• “I Just Need An Estimate”
WHY?
• Project funding
• Setting expectations
• Control & predictability
• We should do a project to do X!
– Enthusiastic Team Member
• How much will it cost?
– Next Person Up Chain
• …
– Less Enthusiastic Team Member
• Software development effort estimation is the process
of predicting the most realistic amount of effort
(expressed in terms of person-hours or money)
required to develop or maintain software based on
incomplete, uncertain and noisy input.
• Effort estimates may be used as input to project plans,
iteration plans, budgets, investment analyses, pricing
processes and bidding rounds.
– Wikipedia
Estimation approach Category Examples of support of implementation of
estimation approach
Analogy-based estimation Formal estimation model ANGEL, Weighted Micro Function Points
WBS-based (bottom up)
estimation
Expert estimation Project management software, company specific
activity templates
Parametric models Formal estimation model COCOMO, SLIM, SEER-SEM, TruePlanning for
Software
Size-based estimation models Formal estimation model Function Point Analysis, Use Case Analysis, SSU
(Software Size Unit), Story points-based estimation in
Agile software development
Group estimation Expert estimation Planning poker, Wideband Delphi
Mechanical combination Combination-based estimation Average of an analogy-based and a Work breakdown
structure-based effort estimate
Judgmental combination Combination-based estimation Expert judgment based on estimates from a parametric
model and group estimation
http://bit.ly/1dMTFCV
• Maximum likelihood estimators
• Bayes estimators
• Method of moments estimators
• Cramér–Rao bound
• Minimum mean squared error
(MMSE) aka Bayes least
squared error (BLSE)
• Maximum a posteriori (MAP)
• Minimum variance unbiased
estimator (MVUE)
• Nonlinear system identification
• Best linear unbiased estimator
(BLUE)
• Unbiased estimators (estimator
bias).
• Particle filter
• Markov chain Monte Carlo
(MCMC)
• Kalman filter, and its various
derivatives
• Wiener filter
http://bit.ly/1Li61RV
• Let’s say six person project for six
months…
– 6 people X 6 months X 20 days / month =
~720 stories
• Doable?
• Valuable?
PHILOSOPHY
• “No Battle Plan
Survives Contact With
the Enemy”
– Helmuth von Moltke
• “Plans are useless,
but planning is
indispensable”
– Dwight David
Eisenhower
• “The Map Is Not the
Terrain”
– Alfred Korzybski
• How to get to LA from
SF?
http://1.usa.gov/1dMV7Fn
1. Get an estimate
2. Fail to deliver?
3. Blame the estimator!
• “I need an estimate, but I’m not going to hold
you to it!”
• You get to lie once… at this job.
• Instead of blowing up horribly every two
years, let’s break it down into manageable
two week delivery.
http://bit.ly/1dMXgkA
AGILE
REVOLUTION
• Agile Manifesto!
• Scrum!
• We don’t need no stinkin’ estimates!
http://bit.ly/1dMXgkA
http://bit.ly/1dMWSm4
• Planning Poker
• Long Group Session
• Pro:
– Breaks up status quo
• Cons:
– Confuses effort &
ambiguity
– Assumes no external
dependencies
– Encourages mini-
waterfalls
http://apple.co/1dMQNGc
• Joint Planning Session
• Make commit for delivery for next two weeks
• External teams fail to deliver
• Manager hangs team for not meeting commit
• Next planning session…
– Let’s not commit to anything.
– Let’s pad the hell out of everything
– Let’s drag EVERYONE to the meeting
Generate
Sprint Estimate
External
Dependencies
= Missing
Sprint Target
You Failed To
Make Your
Commitment!
Invite
EVERYONE to
2 day planning
session
Sandbag
Estimate
• Standups are just status reports
• We do mini-waterfalls
• We never hit our sprint goals
• Scrum sucks!
KANBAN FTW
• Dev9 & Kanban
– https://www.youtube.com/watch?v=LEFWKNE
N-uI
• Sample Kanban Boards
• 1st Board: Epics
– Output: MVPs & 0.5-2 day granularity
estimated stories
Planning Board
• Takes in Epics
• New Feature Ideas
• Outputs Scoped Stories
Execution Board
• Takes in Scoped Stories
• Outputs Working Software
• External Dependencies
Tracked Via Column
Analysis Board
• A/B Test Results
• Overall Analytics
• Who does Roadmap Planning?
• What are the skills needed?
• What level of detail?
• Product Owner +
Product Manager
– Connects loop
between planning &
analytics
– Mgmt Q: Do
implemented features
move the needle?
• Execution Lead
– Manages flow,
optimizes Lean flow
– Mgmt Q: What is the
cycle time for 1-2 day
stories from planning
into prod?
• Product Roadmap
– 2-4 week level golden features
– Fits on PowerPoint
• Split Board Kanban Board
– Evolve Scrum from basics
– Planning, Implementation, Analytics
“I JUST NEED AN
ESTIMATE”
• Series of ranged band estimates
• Add up variance
• Sort by variance
• Highlight that anything over 2 days is a
SWAG
• Anything over 1 week is SSWAG
• 0.5-1 day granularity
• Based entirely on previously done work
– No research required
• 2+ week chunks of effort
• Confusion over effort & duration
Q & A

More Related Content

What's hot

Xanpan - What do you get if you cross XP and Kanban?
Xanpan - What do you get if you cross XP and Kanban?Xanpan - What do you get if you cross XP and Kanban?
Xanpan - What do you get if you cross XP and Kanban?
allan kelly
 
Lean Manufacturing's Influence on Agile
Lean Manufacturing's Influence on Agile Lean Manufacturing's Influence on Agile
Lean Manufacturing's Influence on Agile Stephen Forte
 
Xanpan - what do you get if you cross XP and Kanban?
Xanpan - what do you get if you cross XP and Kanban?Xanpan - what do you get if you cross XP and Kanban?
Xanpan - what do you get if you cross XP and Kanban?
allan kelly
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
QASymphony
 
Post-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failurePost-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failure
Yuval Yeret
 
Seven deadly wastes
Seven deadly wastesSeven deadly wastes
Seven deadly wastes
Jez Halford
 
Effective engineer
Effective engineerEffective engineer
Effective engineer
Tony Vu
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
Mikalai Alimenkou
 
Why Limit WIP?
Why Limit WIP?  Why Limit WIP?
Why Limit WIP?
LeanKit
 
Going faster with kanban
Going faster with kanbanGoing faster with kanban
Going faster with kanban
Jez Halford
 
Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013
Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013
Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013
AgileSparks
 
Kanban like another approach for gaming projects, Катерина Гаськова
Kanban like another approach for gaming projects, Катерина ГаськоваKanban like another approach for gaming projects, Катерина Гаськова
Kanban like another approach for gaming projects, Катерина Гаськова
Sigma Software
 
Driving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous ImprovementDriving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous Improvement
LeanKit
 
How engineering practices help business
How engineering practices help businessHow engineering practices help business
How engineering practices help business
Andrey Rebrov
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product Roadmap
QASymphony
 
The agile elephant in the room
The agile elephant in the roomThe agile elephant in the room
The agile elephant in the room
AgileDenver
 
Kanban in Action Workshop
Kanban in Action WorkshopKanban in Action Workshop
Kanban in Action Workshop
Mark Grove
 

What's hot (20)

Xanpan - What do you get if you cross XP and Kanban?
Xanpan - What do you get if you cross XP and Kanban?Xanpan - What do you get if you cross XP and Kanban?
Xanpan - What do you get if you cross XP and Kanban?
 
Lean Manufacturing's Influence on Agile
Lean Manufacturing's Influence on Agile Lean Manufacturing's Influence on Agile
Lean Manufacturing's Influence on Agile
 
Xanpan - what do you get if you cross XP and Kanban?
Xanpan - what do you get if you cross XP and Kanban?Xanpan - what do you get if you cross XP and Kanban?
Xanpan - what do you get if you cross XP and Kanban?
 
Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...Agile Transformation: People, Process and Tools to Make Your Transformation S...
Agile Transformation: People, Process and Tools to Make Your Transformation S...
 
Post-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failurePost-agile approaches - agile for the real world and how to avoid agile failure
Post-agile approaches - agile for the real world and how to avoid agile failure
 
Seven deadly wastes
Seven deadly wastesSeven deadly wastes
Seven deadly wastes
 
Effective engineer
Effective engineerEffective engineer
Effective engineer
 
Kanban VS Scrum
Kanban VS ScrumKanban VS Scrum
Kanban VS Scrum
 
Afganistan Culture Shock
Afganistan Culture ShockAfganistan Culture Shock
Afganistan Culture Shock
 
Summer Scrum Public
Summer Scrum PublicSummer Scrum Public
Summer Scrum Public
 
Why Limit WIP?
Why Limit WIP?  Why Limit WIP?
Why Limit WIP?
 
Going faster with kanban
Going faster with kanbanGoing faster with kanban
Going faster with kanban
 
Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013
Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013
Anatomy of a Agile Product Lifecycle - Eilon Reshef - Agile Israel 2013
 
Efficient or Just Busy?
Efficient or Just Busy?Efficient or Just Busy?
Efficient or Just Busy?
 
Kanban like another approach for gaming projects, Катерина Гаськова
Kanban like another approach for gaming projects, Катерина ГаськоваKanban like another approach for gaming projects, Катерина Гаськова
Kanban like another approach for gaming projects, Катерина Гаськова
 
Driving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous ImprovementDriving Change with Data: Getting Started with Continuous Improvement
Driving Change with Data: Getting Started with Continuous Improvement
 
How engineering practices help business
How engineering practices help businessHow engineering practices help business
How engineering practices help business
 
Quality Jam 2016 Product Roadmap
Quality Jam 2016 Product RoadmapQuality Jam 2016 Product Roadmap
Quality Jam 2016 Product Roadmap
 
The agile elephant in the room
The agile elephant in the roomThe agile elephant in the room
The agile elephant in the room
 
Kanban in Action Workshop
Kanban in Action WorkshopKanban in Action Workshop
Kanban in Action Workshop
 

Similar to Estimation

50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-modelasidharath
 
Final spiralmodel97
Final spiralmodel97Final spiralmodel97
Final spiralmodel97akshay8835
 
spiralmodel -1
 spiralmodel -1 spiralmodel -1
spiralmodel -1
Shastry Aravind
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
Dashlane
 
Scaling Agile: A Guide for the Perplexed
Scaling Agile: A Guide for the PerplexedScaling Agile: A Guide for the Perplexed
Scaling Agile: A Guide for the Perplexed
LitheSpeed
 
The End of Projects & what to do about it
The End of Projects & what to do about itThe End of Projects & what to do about it
The End of Projects & what to do about it
allan kelly
 
Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...
Balazs Fejes
 
AGILE2016 Conference Top 10 Presented by Synerzip
AGILE2016 Conference Top 10 Presented by SynerzipAGILE2016 Conference Top 10 Presented by Synerzip
AGILE2016 Conference Top 10 Presented by Synerzip
Synerzip
 
Synerzip-Agile2016-Top10 Webinar
Synerzip-Agile2016-Top10 WebinarSynerzip-Agile2016-Top10 Webinar
Synerzip-Agile2016-Top10 WebinarHemant Elhence
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
Sulman Ahmed
 
Wbs
WbsWbs
2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf
Johnnie Fox
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
Orange and Bronze Software Labs
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
SwapnikaReddy6
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
State of Agile 2017
State of Agile 2017State of Agile 2017
State of Agile 2017
Tze Chin Tang
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source Way
Alexis Monville
 
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Andy Kucharski
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
Azhar Shaik
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
Gary Pedretti
 

Similar to Estimation (20)

50500113 spiral-model
50500113 spiral-model50500113 spiral-model
50500113 spiral-model
 
Final spiralmodel97
Final spiralmodel97Final spiralmodel97
Final spiralmodel97
 
spiralmodel -1
 spiralmodel -1 spiralmodel -1
spiralmodel -1
 
Dashlane Mission Teams
Dashlane Mission TeamsDashlane Mission Teams
Dashlane Mission Teams
 
Scaling Agile: A Guide for the Perplexed
Scaling Agile: A Guide for the PerplexedScaling Agile: A Guide for the Perplexed
Scaling Agile: A Guide for the Perplexed
 
The End of Projects & what to do about it
The End of Projects & what to do about itThe End of Projects & what to do about it
The End of Projects & what to do about it
 
Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...Software Development Trends - Presentation from EPAM Systems' Software Engine...
Software Development Trends - Presentation from EPAM Systems' Software Engine...
 
AGILE2016 Conference Top 10 Presented by Synerzip
AGILE2016 Conference Top 10 Presented by SynerzipAGILE2016 Conference Top 10 Presented by Synerzip
AGILE2016 Conference Top 10 Presented by Synerzip
 
Synerzip-Agile2016-Top10 Webinar
Synerzip-Agile2016-Top10 WebinarSynerzip-Agile2016-Top10 Webinar
Synerzip-Agile2016-Top10 Webinar
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
 
Wbs
WbsWbs
Wbs
 
2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf2015 drupalcampcebu estimation_jrf
2015 drupalcampcebu estimation_jrf
 
Are you Agile enough?
Are you Agile enough?Are you Agile enough?
Are you Agile enough?
 
Understanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdfUnderstanding-Agile &Scrum.pdf
Understanding-Agile &Scrum.pdf
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
State of Agile 2017
State of Agile 2017State of Agile 2017
State of Agile 2017
 
French Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source WayFrench Scrum User Group @Google - The Agile and Open Source Way
French Scrum User Group @Google - The Agile and Open Source Way
 
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
 
Software engineering jwfiles 3
Software engineering jwfiles 3Software engineering jwfiles 3
Software engineering jwfiles 3
 
Holistic Product Development
Holistic Product DevelopmentHolistic Product Development
Holistic Product Development
 

Recently uploaded

First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
Globus
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
e20449
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
Tier1 app
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
WSO2
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
Tendenci - The Open Source AMS (Association Management Software)
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Anthony Dahanne
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 

Recently uploaded (20)

First Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User EndpointsFirst Steps with Globus Compute Multi-User Endpoints
First Steps with Globus Compute Multi-User Endpoints
 
Graphic Design Crash Course for beginners
Graphic Design Crash Course for beginnersGraphic Design Crash Course for beginners
Graphic Design Crash Course for beginners
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERRORTROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
TROUBLESHOOTING 9 TYPES OF OUTOFMEMORYERROR
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
Vitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume MontevideoVitthal Shirke Microservices Resume Montevideo
Vitthal Shirke Microservices Resume Montevideo
 
Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...Developing Distributed High-performance Computing Capabilities of an Open Sci...
Developing Distributed High-performance Computing Capabilities of an Open Sci...
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Prosigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology SolutionsProsigns: Transforming Business with Tailored Technology Solutions
Prosigns: Transforming Business with Tailored Technology Solutions
 
Corporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMSCorporate Management | Session 3 of 3 | Tendenci AMS
Corporate Management | Session 3 of 3 | Tendenci AMS
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
Paketo Buildpacks : la meilleure façon de construire des images OCI? DevopsDa...
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 

Estimation

  • 1. • In this meetup, we will look at a variety of strategies for estimating the delivery of software development projects. We’ll cover traditional techniques, modern Agile techniques, and also look at some strategies used by other fields that are interesting and potentially applicable to software development teams. • As we conduct this tour of estimation strategies, we’ll consider the purpose of estimates - what are the business, political, and financial drivers for estimation? What is the difference between a good faith estimate and a guarantee? How do burn down, burn up, and cumulative flow charts help or hurt? How does estimation work in Scrum and Kanban environments? • If you are a manager trying to sort out strategies for estimation, or developer trying to find new ideas for working with your business partner, you’ll want to catch this presentation.
  • 3. • CTO, Dev9 – Previously Apple, Symantec, SolutionsIQ • Java since 1995 • Four Books, Numerous Articles • Numerous CMS Evals, Implementations
  • 4. • Custom software development firm – Based just outside Seattle, Washington • We build custom software solutions based on Continuous Delivery – Processes & tools based on combination of Lean & heavy use of automation • Typical projects – CMS implementation! – Java & .NET-based web services at scale – SQL, NoSQL – Variety of client-side technologies • AngularJS, Android, and iOS. – DevOps implementations, including Docker
  • 5. • Why Estimates? – Survey of Approaches • Philosophy • Agile Revolution • Kanban FTW • “I Just Need An Estimate”
  • 7. • Project funding • Setting expectations • Control & predictability
  • 8. • We should do a project to do X! – Enthusiastic Team Member • How much will it cost? – Next Person Up Chain • … – Less Enthusiastic Team Member
  • 9. • Software development effort estimation is the process of predicting the most realistic amount of effort (expressed in terms of person-hours or money) required to develop or maintain software based on incomplete, uncertain and noisy input. • Effort estimates may be used as input to project plans, iteration plans, budgets, investment analyses, pricing processes and bidding rounds. – Wikipedia
  • 10. Estimation approach Category Examples of support of implementation of estimation approach Analogy-based estimation Formal estimation model ANGEL, Weighted Micro Function Points WBS-based (bottom up) estimation Expert estimation Project management software, company specific activity templates Parametric models Formal estimation model COCOMO, SLIM, SEER-SEM, TruePlanning for Software Size-based estimation models Formal estimation model Function Point Analysis, Use Case Analysis, SSU (Software Size Unit), Story points-based estimation in Agile software development Group estimation Expert estimation Planning poker, Wideband Delphi Mechanical combination Combination-based estimation Average of an analogy-based and a Work breakdown structure-based effort estimate Judgmental combination Combination-based estimation Expert judgment based on estimates from a parametric model and group estimation http://bit.ly/1dMTFCV
  • 11. • Maximum likelihood estimators • Bayes estimators • Method of moments estimators • Cramér–Rao bound • Minimum mean squared error (MMSE) aka Bayes least squared error (BLSE) • Maximum a posteriori (MAP) • Minimum variance unbiased estimator (MVUE) • Nonlinear system identification • Best linear unbiased estimator (BLUE) • Unbiased estimators (estimator bias). • Particle filter • Markov chain Monte Carlo (MCMC) • Kalman filter, and its various derivatives • Wiener filter http://bit.ly/1Li61RV
  • 12. • Let’s say six person project for six months… – 6 people X 6 months X 20 days / month = ~720 stories • Doable? • Valuable?
  • 14. • “No Battle Plan Survives Contact With the Enemy” – Helmuth von Moltke
  • 15. • “Plans are useless, but planning is indispensable” – Dwight David Eisenhower
  • 16. • “The Map Is Not the Terrain” – Alfred Korzybski • How to get to LA from SF?
  • 18. 1. Get an estimate 2. Fail to deliver? 3. Blame the estimator! • “I need an estimate, but I’m not going to hold you to it!” • You get to lie once… at this job.
  • 19. • Instead of blowing up horribly every two years, let’s break it down into manageable two week delivery.
  • 22. • Agile Manifesto! • Scrum! • We don’t need no stinkin’ estimates!
  • 25. • Planning Poker • Long Group Session • Pro: – Breaks up status quo • Cons: – Confuses effort & ambiguity – Assumes no external dependencies – Encourages mini- waterfalls http://apple.co/1dMQNGc
  • 26. • Joint Planning Session • Make commit for delivery for next two weeks • External teams fail to deliver • Manager hangs team for not meeting commit • Next planning session… – Let’s not commit to anything. – Let’s pad the hell out of everything – Let’s drag EVERYONE to the meeting
  • 27. Generate Sprint Estimate External Dependencies = Missing Sprint Target You Failed To Make Your Commitment! Invite EVERYONE to 2 day planning session Sandbag Estimate • Standups are just status reports • We do mini-waterfalls • We never hit our sprint goals • Scrum sucks!
  • 29. • Dev9 & Kanban – https://www.youtube.com/watch?v=LEFWKNE N-uI • Sample Kanban Boards
  • 30. • 1st Board: Epics – Output: MVPs & 0.5-2 day granularity estimated stories
  • 31. Planning Board • Takes in Epics • New Feature Ideas • Outputs Scoped Stories Execution Board • Takes in Scoped Stories • Outputs Working Software • External Dependencies Tracked Via Column Analysis Board • A/B Test Results • Overall Analytics
  • 32. • Who does Roadmap Planning? • What are the skills needed? • What level of detail?
  • 33. • Product Owner + Product Manager – Connects loop between planning & analytics – Mgmt Q: Do implemented features move the needle? • Execution Lead – Manages flow, optimizes Lean flow – Mgmt Q: What is the cycle time for 1-2 day stories from planning into prod?
  • 34. • Product Roadmap – 2-4 week level golden features – Fits on PowerPoint • Split Board Kanban Board – Evolve Scrum from basics – Planning, Implementation, Analytics
  • 35. “I JUST NEED AN ESTIMATE”
  • 36. • Series of ranged band estimates • Add up variance • Sort by variance • Highlight that anything over 2 days is a SWAG • Anything over 1 week is SSWAG
  • 37. • 0.5-1 day granularity • Based entirely on previously done work – No research required
  • 38. • 2+ week chunks of effort • Confusion over effort & duration
  • 39.
  • 40. Q & A

Editor's Notes

  1. But can you explain it to other people….?: