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

What's hot

How to Drive an Effective Decision-Making Process by Microsoft PM
How to Drive an Effective Decision-Making Process by Microsoft PMHow to Drive an Effective Decision-Making Process by Microsoft PM
How to Drive an Effective Decision-Making Process by Microsoft PM
Product School
 
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
TheFamily
 
Tools for better storytelling
Tools for better storytellingTools for better storytelling
Tools for better storytelling
Atlassian
 
Introduction to Lean Startup & Lean User Experience Design
Introduction to Lean Startup & Lean User Experience Design Introduction to Lean Startup & Lean User Experience Design
Introduction to Lean Startup & Lean User Experience Design William Evans
 
How to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerHow to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product Manager
Product School
 
PMI france lean startup for project management
PMI france   lean startup for project managementPMI france   lean startup for project management
PMI france lean startup for project management
Franck Debane
 
UX Fundamentals for Beginners
UX Fundamentals for BeginnersUX Fundamentals for Beginners
UX Fundamentals for Beginners
Lesley Robinson
 
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
Aggregage
 
Shannon Kelly: #MOC with VWO
Shannon Kelly: #MOC with VWOShannon Kelly: #MOC with VWO
Shannon Kelly: #MOC with VWO
VWO
 
Human-centered data: using data science and human-centered design to grow you...
Human-centered data: using data science and human-centered design to grow you...Human-centered data: using data science and human-centered design to grow you...
Human-centered data: using data science and human-centered design to grow you...
Cprime
 
Create a Sustainable Career Into PM by Meta Product Leader
Create a Sustainable Career Into PM by Meta Product LeaderCreate a Sustainable Career Into PM by Meta Product Leader
Create a Sustainable Career Into PM by Meta Product Leader
Product School
 
Facilitate a Timeline Futurespective
Facilitate a Timeline FuturespectiveFacilitate a Timeline Futurespective
Facilitate a Timeline FuturespectiveJolly Rajan
 
The Evolution of The PM Career by Airbnb Product Manager Helen Sims
The Evolution of The PM Career by Airbnb Product Manager Helen SimsThe Evolution of The PM Career by Airbnb Product Manager Helen Sims
The Evolution of The PM Career by Airbnb Product Manager Helen Sims
Product School
 
Coach Me if You Can
Coach Me if You CanCoach Me if You Can
How Atlassian's User Research Went Agile (and So Can Yours)
How Atlassian's User Research Went Agile (and So Can Yours)How Atlassian's User Research Went Agile (and So Can Yours)
How Atlassian's User Research Went Agile (and So Can Yours)
Atlassian
 
Nightmare on PMO Street
Nightmare on PMO StreetNightmare on PMO Street
Nightmare on PMO Street
KeyedIn Projects
 
How to Work in Cross-Functional Teams by Microsoft Sr PM
How to Work in Cross-Functional Teams by Microsoft Sr PMHow to Work in Cross-Functional Teams by Microsoft Sr PM
How to Work in Cross-Functional Teams by Microsoft Sr PM
Product School
 
How to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PMHow to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PM
Product School
 
Building High-Growth Products with Jobs-to-be-Done
Building High-Growth Products with Jobs-to-be-DoneBuilding High-Growth Products with Jobs-to-be-Done
Building High-Growth Products with Jobs-to-be-Done
Product School
 
Agile Camp 2018 - Question Storming
Agile Camp 2018 - Question StormingAgile Camp 2018 - Question Storming
Agile Camp 2018 - Question Storming
TheAgileDen
 

What's hot (20)

How to Drive an Effective Decision-Making Process by Microsoft PM
How to Drive an Effective Decision-Making Process by Microsoft PMHow to Drive an Effective Decision-Making Process by Microsoft PM
How to Drive an Effective Decision-Making Process by Microsoft PM
 
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
How To Scale Your Product Through Experimentation w/ Milena Court, Product Ma...
 
Tools for better storytelling
Tools for better storytellingTools for better storytelling
Tools for better storytelling
 
Introduction to Lean Startup & Lean User Experience Design
Introduction to Lean Startup & Lean User Experience Design Introduction to Lean Startup & Lean User Experience Design
Introduction to Lean Startup & Lean User Experience Design
 
How to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product ManagerHow to Effectively Lead a Focus Group by nexTier Product Manager
How to Effectively Lead a Focus Group by nexTier Product Manager
 
PMI france lean startup for project management
PMI france   lean startup for project managementPMI france   lean startup for project management
PMI france lean startup for project management
 
UX Fundamentals for Beginners
UX Fundamentals for BeginnersUX Fundamentals for Beginners
UX Fundamentals for Beginners
 
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
The Product Journey: Roadmaps Are Dead! Long Live Roadmaps!
 
Shannon Kelly: #MOC with VWO
Shannon Kelly: #MOC with VWOShannon Kelly: #MOC with VWO
Shannon Kelly: #MOC with VWO
 
Human-centered data: using data science and human-centered design to grow you...
Human-centered data: using data science and human-centered design to grow you...Human-centered data: using data science and human-centered design to grow you...
Human-centered data: using data science and human-centered design to grow you...
 
Create a Sustainable Career Into PM by Meta Product Leader
Create a Sustainable Career Into PM by Meta Product LeaderCreate a Sustainable Career Into PM by Meta Product Leader
Create a Sustainable Career Into PM by Meta Product Leader
 
Facilitate a Timeline Futurespective
Facilitate a Timeline FuturespectiveFacilitate a Timeline Futurespective
Facilitate a Timeline Futurespective
 
The Evolution of The PM Career by Airbnb Product Manager Helen Sims
The Evolution of The PM Career by Airbnb Product Manager Helen SimsThe Evolution of The PM Career by Airbnb Product Manager Helen Sims
The Evolution of The PM Career by Airbnb Product Manager Helen Sims
 
Coach Me if You Can
Coach Me if You CanCoach Me if You Can
Coach Me if You Can
 
How Atlassian's User Research Went Agile (and So Can Yours)
How Atlassian's User Research Went Agile (and So Can Yours)How Atlassian's User Research Went Agile (and So Can Yours)
How Atlassian's User Research Went Agile (and So Can Yours)
 
Nightmare on PMO Street
Nightmare on PMO StreetNightmare on PMO Street
Nightmare on PMO Street
 
How to Work in Cross-Functional Teams by Microsoft Sr PM
How to Work in Cross-Functional Teams by Microsoft Sr PMHow to Work in Cross-Functional Teams by Microsoft Sr PM
How to Work in Cross-Functional Teams by Microsoft Sr PM
 
How to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PMHow to Work with Teams as a Product Manager by fmr NY Magazine PM
How to Work with Teams as a Product Manager by fmr NY Magazine PM
 
Building High-Growth Products with Jobs-to-be-Done
Building High-Growth Products with Jobs-to-be-DoneBuilding High-Growth Products with Jobs-to-be-Done
Building High-Growth Products with Jobs-to-be-Done
 
Agile Camp 2018 - Question Storming
Agile Camp 2018 - Question StormingAgile Camp 2018 - Question Storming
Agile Camp 2018 - Question Storming
 

Viewers also liked

Startup Technology: Cheatsheet for Non-Techies
Startup Technology: Cheatsheet for Non-TechiesStartup Technology: Cheatsheet for Non-Techies
Startup Technology: Cheatsheet for Non-Techies
Freedactics
 
17 Ways to Design a Presentation People Want to View
17 Ways to Design a Presentation People Want to View17 Ways to Design a Presentation People Want to View
17 Ways to Design a Presentation People Want to View
Jim MacLeod
 
Mobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigitalMobile-First SEO - The Marketers Edition #3XEDigital
Mobile-First SEO - The Marketers Edition #3XEDigital
Aleyda Solís
 
“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.“Writing code that lasts” … or writing code you won’t hate tomorrow.
“Writing code that lasts” … or writing code you won’t hate tomorrow.
Rafael Dohms
 
Bangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - PosterBangalore Container Conference 2017 - Poster
Bangalore Container Conference 2017 - Poster
Ganesh Samarthyam
 
What is software engineering
What is software engineeringWhat is software engineering
What is software engineering
Jennifer Polack
 
10 books that every developer must read
10 books that every developer must read10 books that every developer must read
10 books that every developer must read
Ganesh Samarthyam
 
10 Best Productivity Hacks for Customer Service
10 Best Productivity Hacks for Customer Service10 Best Productivity Hacks for Customer Service
10 Best Productivity Hacks for Customer Service
Adam Toporek
 
What Millennials Want?
What Millennials Want?What Millennials Want?
What Millennials Want?
SurveyCrest
 
Force & Motion
Force & MotionForce & Motion
Force & Motioncorrig13
 
Design for Startups - Build Better Products, Not More Features
Design for Startups - Build Better Products, Not More FeaturesDesign for Startups - Build Better Products, Not More Features
Design for Startups - Build Better Products, Not More Features
Vitaly Golomb
 
Introduction to Go programming
Introduction to Go programmingIntroduction to Go programming
Introduction to Go programming
Exotel
 
[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?[Infographic] How will Internet of Things (IoT) change the world as we know it?
[Infographic] How will Internet of Things (IoT) change the world as we know it?
InterQuest Group
 
The Future of Everything
The Future of EverythingThe Future of Everything
The Future of Everything
Charbel Zeaiter
 
Ruby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User GroupRuby On Rails - Rochester K Linux User Group
Ruby On Rails - Rochester K Linux User Group
Jose de Leon
 
3 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 20173 Things Every Sales Team Needs to Be Thinking About in 2017
3 Things Every Sales Team Needs to Be Thinking About in 2017
Drift
 
Visual Design with Data
Visual Design with DataVisual Design with Data
Visual Design with Data
Seth Familian
 
Making Great Performance Reviews
Making Great Performance ReviewsMaking Great Performance Reviews
Making Great Performance Reviews
Greg Thomas
 
Build Features, Not Apps
Build Features, Not AppsBuild Features, Not Apps
Build Features, Not Apps
Natasha Murashev
 
8 Things That Make Continuous Delivery Go Nuts
8 Things That Make Continuous Delivery Go Nuts8 Things That Make Continuous Delivery Go Nuts
8 Things That Make Continuous Delivery Go Nuts
Eduards Sizovs
 

Viewers also liked (20)

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

Similar to How to Make Great Software Estimates

How To Do Kick-Ass Software Development
How To Do Kick-Ass Software DevelopmentHow To Do Kick-Ass Software Development
How To Do Kick-Ass Software Development
Sven Peters
 
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software DevelopmentJAZOON'13 - Sven Peters - How to do Kick-Ass Software Development
JAZOON'13 - Sven Peters - How to do Kick-Ass Software Developmentjazoon13
 
Data skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story pointsData skills for Agile Teams- Killing story points
Data skills for Agile Teams- Killing story points
yasinnathani
 
How To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersHow To Do Kick-Ass Software Development, by Sven Peters
How To Do Kick-Ass Software Development, by Sven PetersZeroTurnaround
 
Lessons Learned When Automating
Lessons Learned When AutomatingLessons Learned When Automating
Lessons Learned When Automating
Alan Richardson
 
What every developer can learn from startups
What every developer can learn from startupsWhat every developer can learn from startups
What every developer can learn from startups
Oleg Podsechin
 
Real world software launch
Real world software launchReal world software launch
Real world software launch
Kunal Johar
 
Lean Responsive
Lean ResponsiveLean Responsive
Lean Responsive
Josh Jeffryes
 
Webdev and programming
Webdev and programming  Webdev and programming
Webdev and programming
George Ingram
 
It Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair ProgrammingIt Takes Two - A Case Study in Pair Programming
It Takes Two - A Case Study in Pair Programming
Andy Melichar
 
Pair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick WestPair Programming in Theory and Practice By Garrick West
Pair Programming in Theory and Practice By Garrick West
XP Conference India
 
Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!Front-End Fun: How to finally work with designers!
Front-End Fun: How to finally work with designers!
helenalozano6
 
Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015Mind the Gap - State of the Browser 2015
Mind the Gap - State of the Browser 2015
Christian Heilmann
 
Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014Abstraction Layers Test Management Summit Faciliated Session 2014
Abstraction Layers Test Management Summit Faciliated Session 2014
Alan Richardson
 
Kickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond ConferenceKickass Agile Development - Agile & Beyond Conference
Kickass Agile Development - Agile & Beyond Conference
Dan Chuparkoff
 
BHack 2012 - How to protect your web applications
BHack 2012 - How to protect your web applicationsBHack 2012 - How to protect your web applications
BHack 2012 - How to protect your web applications
Magno Logan
 
Preparing for the WebGeek DevCup
Preparing for the WebGeek DevCupPreparing for the WebGeek DevCup
Preparing for the WebGeek DevCup
bryanbibat
 
Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docx
rosemariebrayshaw
 
Lean responsive - Expanded
Lean responsive - ExpandedLean responsive - Expanded
Lean responsive - Expanded
Josh Jeffryes
 
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
Graham Thomas - Software Testing Secrets We Dare Not Tell - EuroSTAR 2013
TEST Huddle
 

Similar to How to Make Great Software Estimates (20)

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

More from Greg Thomas

Escape from Craptivity - How to Accomplish Your Goals
Escape from Craptivity - How to Accomplish Your GoalsEscape from Craptivity - How to Accomplish Your Goals
Escape from Craptivity - How to Accomplish Your Goals
Greg Thomas
 
Big Bad Meetings
Big Bad MeetingsBig Bad Meetings
Big Bad Meetings
Greg Thomas
 
Two Hours of Code - IoT and Cloud
Two Hours of Code - IoT and CloudTwo Hours of Code - IoT and Cloud
Two Hours of Code - IoT and Cloud
Greg Thomas
 
How to Be a Great StoryTeller
How to Be a Great StoryTellerHow to Be a Great StoryTeller
How to Be a Great StoryTeller
Greg Thomas
 
OneHourOfCode
OneHourOfCodeOneHourOfCode
OneHourOfCode
Greg Thomas
 
How to Build a Great Team
How to Build a Great TeamHow to Build a Great Team
How to Build a Great Team
Greg Thomas
 

More from Greg Thomas (6)

Escape from Craptivity - How to Accomplish Your Goals
Escape from Craptivity - How to Accomplish Your GoalsEscape from Craptivity - How to Accomplish Your Goals
Escape from Craptivity - How to Accomplish Your Goals
 
Big Bad Meetings
Big Bad MeetingsBig Bad Meetings
Big Bad Meetings
 
Two Hours of Code - IoT and Cloud
Two Hours of Code - IoT and CloudTwo Hours of Code - IoT and Cloud
Two Hours of Code - IoT and Cloud
 
How to Be a Great StoryTeller
How to Be a Great StoryTellerHow to Be a Great StoryTeller
How to Be a Great StoryTeller
 
OneHourOfCode
OneHourOfCodeOneHourOfCode
OneHourOfCode
 
How to Build a Great Team
How to Build a Great TeamHow to Build a Great Team
How to Build a Great Team
 

Recently uploaded

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Yara Milbes
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
abdulrafaychaudhry
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
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
 
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
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
ShamsuddeenMuhammadA
 
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
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
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
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
abdulrafaychaudhry
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Shahin Sheidaei
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
Globus
 

Recently uploaded (20)

Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi ArabiaTop 7 Unique WhatsApp API Benefits | Saudi Arabia
Top 7 Unique WhatsApp API Benefits | Saudi Arabia
 
APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)Introduction to Pygame (Lecture 7 Python Game Development)
Introduction to Pygame (Lecture 7 Python Game Development)
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
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
 
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptxText-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
Text-Summarization-of-Breaking-News-Using-Fine-tuning-BART-Model.pptx
 
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...
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
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
 
Pro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp BookPro Unity Game Development with C-sharp Book
Pro Unity Game Development with C-sharp Book
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
Gamify Your Mind; The Secret Sauce to Delivering Success, Continuously Improv...
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
How to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good PracticesHow to Position Your Globus Data Portal for Success Ten Good Practices
How to Position Your Globus Data Portal for Success Ten Good Practices
 

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