SlideShare a Scribd company logo
HOW TO MAKE GREAT
SOFTWARE ESTIMATESGreg Thomas
http://www.rambli.com
And it begins…How long does it take to build this widget?
When will you be done?
Do I know what am I doing?
Where do I start?
What did they ask for?
Did I think this through?
Have I missed something?
Am I as fast as Jeff?
estimating
These are all questions we ask ourselves when
we, as developers, are presented with a new
problem and asked to provide an estimate as to
how long it will take AND when it will be ready.
START?
Two questions with two
answers where one does
not necessarily answer the
other.
WHERE DO WE
EXPERIENCEKNOWLEDGE UNDERSTANDING
How long it will takeIt starts with looking at your experience, knowledge and gaining a keen
understanding of the problem.
It starts with 3 Core Tenants
Experience
• Have I ever worked on this
component?
• What language am I using?
• Do I know this language?
• Is this a hard problem?
• Do I know the platform?
• Do we have requirements?
• Is this a high-priority?
• When does it need to be done?
Experience starts
the process of
asking yourself
these questions
with each problem.
experienceThe person with the most practice in that
particular area of development will always
yield the most “near” accurate estimation as
to what needs to be done and how.
Experience grows over time and increases
with each success and failure.
You want to fail, to get better.
http://www.rambli.com/2015/10/factors-of-
software-estimation-experience/
Ruby on Rails
ERP
Manufacturing
CRM
Design Patterns
MySQL
.NET
SharePoint
Java
PLACEHOLDER
Communications
PHP
Knowledge• Do you know what language you
are using?
• Do you know the underlying
framework and architecture?
• Do you have Domain Knowledge
to your field?
• Do you have expertise on the
platform you are building on?
What do I know
that I can leverage
in this estimate?
KnowledgeThe culmination of everything we know applied to what we know about the
problem and our experience.
http://www.rambli.com/2015/10/factors-of-software-estimation-your-
knowledge/
UNDERSTAND
“I didn’t understand the
problem”
“I’m not 100% sure what
to do here”
“It should just work”
“It didn’t do this last
time”
All statements that are uttered
after you have started coding,
but failed to take the time to
understand the problem you
are trying to solve.
Never start coding
if you do not
understand what
you are trying to
code.
Understand the problem
1) Know the end user and identify what they expect
2) Learn the platform/architecture that you are building on
3) Write down your assumptions and vet them with your users, peers
and team.
There is no “should” when you Understand.
http://www.rambli.com/2015/10/factors-of-software-estimation-
understand-the-problem/
When will
We ship?
Not YETWe have only figured out how long it
will take to accomplish our task
By Understanding the Problem, leveraging
our Experience and applying our
Knowledge we have created an estimate
that we feel can stand by.
But it is not shipping time!
JANUARY 2015SO When
will it be
ready?
Your ConfidenceIs the most important component to any estimate. How confident are you in
your estimate? 75%? 80% ? 50%?
Whichever the percentage, that is your SLUSH, which is the amount
of extra time you think you might need to accomplish this task.
http://www.rambli.com/2015/11/factors-of-software-estimation-slush/
And what should younot
apply to an estimate?
80mph
SpeedDo not build “acceleration” or “in the zone”
time to your estimates. You are only as fast
as you are going now. Building in future
“I’m gonna know it by then” numbers will
only hurt you down the road.
No CopyingNEVER use someone else’s estimates
as yours. You don’t have their
experience, knowledge or
understanding of the problem.
They are not yours, you are already
behind if you take them as your own.
No
GuessingGuessing is for the lazy – “I don’t
know, say 200 hours” – this
means nothing, this helps with
nothing, it might as well have
been 2 hours as the result will
have been the same.
Good Estimates are composed of
• Knowledge
• Experience
• Understanding the Problem
• Condfident Slush
Bad Estimates
• Apply Speed Factors
• Copy other People
• Guess
SO REMEMBER…
Good estimates
Will tell you howlong andwhen
you will deliver
Bad estimates
Will give younothing
T h e e n d
Greg Thomas
http://www.rambli.com

More Related Content

PPTX
How to write Great Requirements
PDF
Product Management: Wrangling People
PDF
Why Content Projects Fail - Deane Barker - Presentation at eZ Conference 2017
PDF
Live the dream, work remote building a successful distributed drupal shop
PDF
Website Design with UX in Mind
PDF
Leveraging UX & Kanban to Unleash Your Inner Startup
PDF
Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
PDF
Empathy: The Secret Ingredient in WordPress Development, Work, and Success
How to write Great Requirements
Product Management: Wrangling People
Why Content Projects Fail - Deane Barker - Presentation at eZ Conference 2017
Live the dream, work remote building a successful distributed drupal shop
Website Design with UX in Mind
Leveraging UX & Kanban to Unleash Your Inner Startup
Slides from James Currier, Co-Founder Ooga Labs & Curator of the NFX- LeWeb'1...
Empathy: The Secret Ingredient in WordPress Development, Work, and Success

What's hot (14)

PDF
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
PDF
Tools for better storytelling
PDF
Introduction to Lean Startup & Lean User Experience Design
PDF
PMI france lean startup for project management
PDF
UX Fundamentals for Beginners
PPTX
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
PDF
Shannon Kelly: #MOC with VWO
 
PDF
Human-centered data: using data science and human-centered design to grow you...
PDF
Facilitate a Timeline Futurespective
PDF
How Atlassian's User Research Went Agile (and So Can Yours)
PDF
Nightmare on PMO Street
PPTX
Agile Camp 2018 - Question Storming
PPTX
Agile camp distributedteams
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
Tools for better storytelling
Introduction to Lean Startup & Lean User Experience Design
PMI france lean startup for project management
UX Fundamentals for Beginners
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
Shannon Kelly: #MOC with VWO
 
Human-centered data: using data science and human-centered design to grow you...
Facilitate a Timeline Futurespective
How Atlassian's User Research Went Agile (and So Can Yours)
Nightmare on PMO Street
Agile Camp 2018 - Question Storming
Agile camp distributedteams
Ad

Viewers also liked (20)

PDF
Startup Technology: Cheatsheet for Non-Techies
PDF
17 Ways to Design a Presentation People Want to View
PDF
Mobile-First SEO - The Marketers Edition #3XEDigital
PDF
“Writing code that lasts” … or writing code you won’t hate tomorrow.
PDF
Bangalore Container Conference 2017 - Poster
PPTX
What is software engineering
PDF
10 books that every developer must read
PDF
10 Best Productivity Hacks for Customer Service
PPTX
What Millennials Want?
PDF
Force & Motion
PDF
Design for Startups - Build Better Products, Not More Features
PPT
Introduction to Go programming
PDF
[Infographic] How will Internet of Things (IoT) change the world as we know it?
PDF
The Future of Everything
ODP
Ruby On Rails - Rochester K Linux User Group
PDF
3 Things Every Sales Team Needs to Be Thinking About in 2017
PDF
Visual Design with Data
PPTX
Making Great Performance Reviews
PDF
Build Features, Not Apps
PDF
8 Things That Make Continuous Delivery Go Nuts
Startup Technology: Cheatsheet for Non-Techies
17 Ways to Design a Presentation People Want to View
Mobile-First SEO - The Marketers Edition #3XEDigital
“Writing code that lasts” … or writing code you won’t hate tomorrow.
Bangalore Container Conference 2017 - Poster
What is software engineering
10 books that every developer must read
10 Best Productivity Hacks for Customer Service
What Millennials Want?
Force & Motion
Design for Startups - Build Better Products, Not More Features
Introduction to Go programming
[Infographic] How will Internet of Things (IoT) change the world as we know it?
The Future of Everything
Ruby On Rails - Rochester K Linux User Group
3 Things Every Sales Team Needs to Be Thinking About in 2017
Visual Design with Data
Making Great Performance Reviews
Build Features, Not Apps
8 Things That Make Continuous Delivery Go Nuts
Ad

Similar to How to Make Great Software Estimates (20)

PDF
How To Do Kick-Ass Software Development
PDF
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
PDF
Data skills for Agile Teams- Killing story points
PDF
How To Do Kick-Ass Software Development, by Sven Peters
PDF
Lessons Learned When Automating
PPT
What every developer can learn from startups
PPTX
Real world software launch
PPTX
Lean Responsive
PDF
Webdev and programming
PPTX
It Takes Two - A Case Study in Pair Programming
PDF
Pair Programming in Theory and Practice By Garrick West
PDF
Front-End Fun: How to finally work with designers!
PDF
Mind the Gap - State of the Browser 2015
PDF
Abstraction Layers Test Management Summit Faciliated Session 2014
PDF
Kickass Agile Development - Agile & Beyond Conference
PDF
BHack 2012 - How to protect your web applications
PDF
Preparing for the WebGeek DevCup
DOCX
Software Development Life CyclesPresented byBrenda Reynold.docx
PPTX
Lean responsive - Expanded
PDF
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
How To Do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
Data skills for Agile Teams- Killing story points
How To Do Kick-Ass Software Development, by Sven Peters
Lessons Learned When Automating
What every developer can learn from startups
Real world software launch
Lean Responsive
Webdev and programming
It Takes Two - A Case Study in Pair Programming
Pair Programming in Theory and Practice By Garrick West
Front-End Fun: How to finally work with designers!
Mind the Gap - State of the Browser 2015
Abstraction Layers Test Management Summit Faciliated Session 2014
Kickass Agile Development - Agile & Beyond Conference
BHack 2012 - How to protect your web applications
Preparing for the WebGeek DevCup
Software Development Life CyclesPresented byBrenda Reynold.docx
Lean responsive - Expanded
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013

More from Greg Thomas (6)

PPTX
Escape from Craptivity - How to Accomplish Your Goals
PPTX
Big Bad Meetings
PPTX
Two Hours of Code - IoT and Cloud
PPTX
How to Be a Great StoryTeller
PPTX
OneHourOfCode
PPTX
How to Build a Great Team
Escape from Craptivity - How to Accomplish Your Goals
Big Bad Meetings
Two Hours of Code - IoT and Cloud
How to Be a Great StoryTeller
OneHourOfCode
How to Build a Great Team

Recently uploaded (20)

PDF
Softaken Excel to vCard Converter Software.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PDF
Nekopoi APK 2025 free lastest update
PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
System and Network Administration Chapter 2
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PPTX
Introduction to Artificial Intelligence
PPTX
Transform Your Business with a Software ERP System
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PPTX
ai tools demonstartion for schools and inter college
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
How Creative Agencies Leverage Project Management Software.pdf
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PPTX
Online Work Permit System for Fast Permit Processing
Softaken Excel to vCard Converter Software.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Nekopoi APK 2025 free lastest update
Design an Analysis of Algorithms I-SECS-1021-03
PTS Company Brochure 2025 (1).pdf.......
How to Choose the Right IT Partner for Your Business in Malaysia
System and Network Administration Chapter 2
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Introduction to Artificial Intelligence
Transform Your Business with a Software ERP System
VVF-Customer-Presentation2025-Ver1.9.pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
ai tools demonstartion for schools and inter college
Operating system designcfffgfgggggggvggggggggg
How Creative Agencies Leverage Project Management Software.pdf
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Online Work Permit System for Fast Permit Processing

How to Make Great Software Estimates

  • 1. HOW TO MAKE GREAT SOFTWARE ESTIMATESGreg Thomas http://www.rambli.com
  • 2. And it begins…How long does it take to build this widget? When will you be done? Do I know what am I doing? Where do I start? What did they ask for? Did I think this through? Have I missed something? Am I as fast as Jeff?
  • 3. estimating These are all questions we ask ourselves when we, as developers, are presented with a new problem and asked to provide an estimate as to how long it will take AND when it will be ready.
  • 4. START? Two questions with two answers where one does not necessarily answer the other. WHERE DO WE
  • 5. EXPERIENCEKNOWLEDGE UNDERSTANDING How long it will takeIt starts with looking at your experience, knowledge and gaining a keen understanding of the problem. It starts with 3 Core Tenants
  • 6. Experience • Have I ever worked on this component? • What language am I using? • Do I know this language? • Is this a hard problem? • Do I know the platform? • Do we have requirements? • Is this a high-priority? • When does it need to be done?
  • 7. Experience starts the process of asking yourself these questions with each problem.
  • 8. experienceThe person with the most practice in that particular area of development will always yield the most “near” accurate estimation as to what needs to be done and how. Experience grows over time and increases with each success and failure. You want to fail, to get better. http://www.rambli.com/2015/10/factors-of- software-estimation-experience/
  • 9. Ruby on Rails ERP Manufacturing CRM Design Patterns MySQL .NET SharePoint Java PLACEHOLDER Communications PHP Knowledge• Do you know what language you are using? • Do you know the underlying framework and architecture? • Do you have Domain Knowledge to your field? • Do you have expertise on the platform you are building on?
  • 10. What do I know that I can leverage in this estimate?
  • 11. KnowledgeThe culmination of everything we know applied to what we know about the problem and our experience. http://www.rambli.com/2015/10/factors-of-software-estimation-your- knowledge/
  • 12. UNDERSTAND “I didn’t understand the problem” “I’m not 100% sure what to do here” “It should just work” “It didn’t do this last time” All statements that are uttered after you have started coding, but failed to take the time to understand the problem you are trying to solve.
  • 13. Never start coding if you do not understand what you are trying to code.
  • 14. Understand the problem 1) Know the end user and identify what they expect 2) Learn the platform/architecture that you are building on 3) Write down your assumptions and vet them with your users, peers and team. There is no “should” when you Understand. http://www.rambli.com/2015/10/factors-of-software-estimation- understand-the-problem/
  • 16. Not YETWe have only figured out how long it will take to accomplish our task By Understanding the Problem, leveraging our Experience and applying our Knowledge we have created an estimate that we feel can stand by. But it is not shipping time!
  • 17. JANUARY 2015SO When will it be ready?
  • 18. Your ConfidenceIs the most important component to any estimate. How confident are you in your estimate? 75%? 80% ? 50%? Whichever the percentage, that is your SLUSH, which is the amount of extra time you think you might need to accomplish this task. http://www.rambli.com/2015/11/factors-of-software-estimation-slush/
  • 19. And what should younot apply to an estimate?
  • 20. 80mph SpeedDo not build “acceleration” or “in the zone” time to your estimates. You are only as fast as you are going now. Building in future “I’m gonna know it by then” numbers will only hurt you down the road.
  • 21. No CopyingNEVER use someone else’s estimates as yours. You don’t have their experience, knowledge or understanding of the problem. They are not yours, you are already behind if you take them as your own.
  • 22. No GuessingGuessing is for the lazy – “I don’t know, say 200 hours” – this means nothing, this helps with nothing, it might as well have been 2 hours as the result will have been the same.
  • 23. Good Estimates are composed of • Knowledge • Experience • Understanding the Problem • Condfident Slush Bad Estimates • Apply Speed Factors • Copy other People • Guess SO REMEMBER…
  • 24. Good estimates Will tell you howlong andwhen you will deliver Bad estimates Will give younothing
  • 25. T h e e n d Greg Thomas http://www.rambli.com