SlideShare uma empresa Scribd logo
1 de 65
Estimating in Software
     Development:
No Silver Bullets Allowed
     Kent J. McDonald
      @beyondreqs
Disclaimer
A Familiar Situation?




                 Issues with Estimating



    Estimating Techniques
Don’t worry, we’ll get to these…
Has this ever happened to you?
Ok, great. The Sales
   How long will it
  VP promised an         I just found out
  take to build the
  estimate to the           about it this
     commission
CEO next Monday.       morning, so I’ll need
       system?
 It better be right.   to do some analysis .
Issues with Estimating



Initial Uncertainty   Accuracy/Effort Tradeoff




False Precision          Differing Skill Levels
Initial Uncertainty
Cone of Uncertainty
Cone of Uncertainty a Practical Use
Hurricane Sandy – Actual Path
Accuracy/Effort
   Tradeoff
Point of Diminishing Returns
False Precision
How precise do you have to be?
 How long, and         Approximately 374
  how much?                 days and
                         $2,548,931.27.
Differing
skill levels
People finish tasks at different speeds
Estimating Techniques



Guestimate                  Break it down, add it up




             Relative Estimating
Guestimate
Aka “Gut Feel” or “Ball Park”
How long, and
 how much?              About a year and
                         $2.5 million.
Comparison to Past Projects




$1,000          $100K     $10M
           ??




                          $1M
Your turn…
Want to create an online application for Mortgage Insurance
How long to deliver the online
application for Mortgage
Insurance?

A ballpark answer is sufficient.
Does it address our issues?



Initial Uncertainty   Accuracy/Effort Tradeoff




False Precision           Differing Skill Levels
When to use it
Break it down
Add it up
Break overall effort into bits
Assign factor to each small bit
Tasks                                           Time Factor   # of   Total Time
                                                 (hour/bit)   bits    (hours)
Interfaces
GUI - Simple                                        8
GUI - Medium                                        16
GUI - Hard                                          24
System Interface - Simple                           12
System Interface - Complex                          30
                             Total Interfaces
Processes
Simple Process                                      16
Medium Process                                      32
Complex Process                                     48
                             Total Processes
Where do we come up with the
          factors?
This is where time cards may be
            useful…
                 Know ahead of time
                  what you want to track
                 Build up information
                  over time
                 Often requires
                  excruciating detail in
                  time collection.
Identify How Many Bits
Tasks                                           Time Factor   # of   Total Time
                                                 (hour/bit)   bits    (hours)
Interfaces
GUI - Simple                                        8          3
GUI - Medium                                        16         2
GUI - Hard                                          24         1
System Interface - Simple                           12         3
System Interface - Complex                          30         2
                             Total Interfaces                 11
Processes
Simple Process                                      16         5
Medium Process                                      32         4
Complex Process                                     48         3
                             Total Processes                  12
Do the math to get an estimate
Tasks                                           Time Factor   # of   Total Time
                                                 (hour/bit)   bits    (hours)
Interfaces
GUI - Simple                                        8          3        24
GUI - Medium                                        16         2        32
GUI - Hard                                          24         1        24
System Interface - Simple                           12         3        36
System Interface - Complex                          30         2        60
                             Total Interfaces                 11        176
Processes
Simple Process                                      16         5        80
Medium Process                                      32         4        128
Complex Process                                     48         3        144
                             Total Processes                  12        352
This gives us development hours
What about analysis & testing &…
                 Percentage of
                  development hours
                 Estimate tasks
                  separately
                 You mean we have to
                  estimate analysis &
                  testing?
Data Warehouse Example
Adding a new source to
data warehouse
 Count of sources
 Count of tables/source
 Count of
  elements/table
 Considerations of
  complexity
Data Warehouse Example

           1. Gather all the info
           2. Plug it into a
              spreadsheet
           3. Look at the resulting
              (realistic but “too
              high”) number
           4. Revise…
Your turn…
Want to create an online application for Mortgage Insurance
How long to deliver the online
application for Mortgage
Insurance?

Identify how you would break
this down to estimate
Of Course there’s always
    Function Points…
Or, you could always add up tasks
Does it address our issues?



Initial Uncertainty   Accuracy/Effort Tradeoff




False Precision         Differing Skill Levels
When to use it
Another Look - Decomposition
Calibrated Estimates in Ranges

   Manage         Moderate      Manage        Build        Manage
   Tracks         Content       Deadlines     Program      Venue
    1 – 2 Days     3 – 5 Days    1 – 2 Days   4 – 6 Days   .5 – 1 Days



                         9.5 – 16 Days
                 @ $100/hour & 8 hours/day
                      $7,600 – $12,800

Note, Entire team calibrated and
involved in determining these estimates.
For More information
          How to Measure Anything:
          Finding the Value of
          Intangibles in Business
          by
          Douglas W. Hubbard

          HowToMeasureAnything.com
Where it Helps



Initial Uncertainty   Accuracy/Effort Tradeoff




False Precision         Differing Skill Levels
Relative Estimating
Ah ha! Here’s the poker connection!
Discuss (briefly) the item to estimate

    As an Event Organizer
    I want to know how
    audience members vote by
    athlete by gender So That
    I can determine if men
    and women vote differently.
The Delphi Technique
Everyone selects an estimate
Estimating Scales
(Modified) Fibonacci
Sequence:
0, ½, 1, 2, 3, 5, 8, 13, 20,
40, 80, 100
Using a regular deck of
cards:
A, 2, 3, 5, 8, King
Team Member Hands:
1–5
                               Leonardo Pisano Bigollo aka Fibonacci
                               Italian Mathematician
Reveal estimates all at once
Discuss outliers
 Well, we changed the voting
I wasn’t sure we knew how
machines to ask gender a
  Andwhy did youthe two
   So how about pick during
     Yeah, what she said.
     to tell an audience
   sign in last iteration, so it
             king?
             aces?
      member’s gender.
         should be easy
Repeat until convergence
Extrapolate based on Velocity
       Assumptions:
        2 week iterations
        Overall backlog size: 600 points
        Planning Velocity: 30
        5 Person Team
        Avg Cost/person/wk: $4,000

        Estimate: $800,000
Your turn…
Determine relative sizes of these various
features using the scale 1,2,3,4,5

Based on this feature being sized an 1.
Does it address our issues?



Initial Uncertainty   Accuracy/Effort Tradeoff




False Precision           Differing Skill Levels
When to use it
An Alternative to Planning Poker
    1            2        3       5            8


User Story   User Story       User Story   User Story


User Story   User Story       User Story   User Story



User Story   User Story


User Story   User Story
How should we approach estimating
          for a project?
Calibrated
Guestimate
                    Phase Based
 Estimates

                            Break it
                           down add
                             it up




         Set
    expectation
    for revisions
Agile
Comparison
 Calibrated
  to past
 Estimates
  projects          Extrapolate
                       from
                     Velocity




     Set
expectation
for revisions
If you remember nothing else
Initial            Don’t spend
uncertainty        more effort
means you will     than it’s
not be accurate.   worth.


Don’t imply        Incorporate
more precision     multiple
than is            perspectives.
possible.
Questions?
Kent J. McDonald
kent@kentmcdonald.com
www.BeyondRequirements.com
Twitter: @BeyondReqs
Slides available from:
http://www.knowledgebridgepart
ners.com/presentations/software
estimating/




                                      65

Mais conteúdo relacionado

Destaque

Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's ImportantAnyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's ImportantKent McDonald
 
Decision Making Techniques for Not for Profits
Decision Making Techniques for Not for ProfitsDecision Making Techniques for Not for Profits
Decision Making Techniques for Not for ProfitsKent McDonald
 
Collaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellCollaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellKent McDonald
 
How to find the real need with socratic questioning
How to find the real need with socratic questioningHow to find the real need with socratic questioning
How to find the real need with socratic questioningKent McDonald
 
Analysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesAnalysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesKent McDonald
 
Is It Worth It? Using A Business Value Model To Guide Decisions
Is It Worth It?  Using A Business Value Model To Guide DecisionsIs It Worth It?  Using A Business Value Model To Guide Decisions
Is It Worth It? Using A Business Value Model To Guide DecisionsKent McDonald
 
Tis better to be effective than efficient
Tis better to be effective than efficientTis better to be effective than efficient
Tis better to be effective than efficientKent McDonald
 
Agile India 2016 Conference
Agile India 2016 ConferenceAgile India 2016 Conference
Agile India 2016 ConferenceNaresh Jain
 
Understanding Roles on an Agile Project
Understanding Roles on an Agile ProjectUnderstanding Roles on an Agile Project
Understanding Roles on an Agile ProjectKent McDonald
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainNaresh Jain
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner RoleKent McDonald
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 

Destaque (13)

Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's ImportantAnyone Can Write User Stories. It's the (Shared) Understanding That's Important
Anyone Can Write User Stories. It's the (Shared) Understanding That's Important
 
Positive Politics
Positive PoliticsPositive Politics
Positive Politics
 
Decision Making Techniques for Not for Profits
Decision Making Techniques for Not for ProfitsDecision Making Techniques for Not for Profits
Decision Making Techniques for Not for Profits
 
Collaborative Modeling In A Nutshell
Collaborative Modeling In A NutshellCollaborative Modeling In A Nutshell
Collaborative Modeling In A Nutshell
 
How to find the real need with socratic questioning
How to find the real need with socratic questioningHow to find the real need with socratic questioning
How to find the real need with socratic questioning
 
Analysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User StoriesAnalysis In Agile: It's More than Just User Stories
Analysis In Agile: It's More than Just User Stories
 
Is It Worth It? Using A Business Value Model To Guide Decisions
Is It Worth It?  Using A Business Value Model To Guide DecisionsIs It Worth It?  Using A Business Value Model To Guide Decisions
Is It Worth It? Using A Business Value Model To Guide Decisions
 
Tis better to be effective than efficient
Tis better to be effective than efficientTis better to be effective than efficient
Tis better to be effective than efficient
 
Agile India 2016 Conference
Agile India 2016 ConferenceAgile India 2016 Conference
Agile India 2016 Conference
 
Understanding Roles on an Agile Project
Understanding Roles on an Agile ProjectUnderstanding Roles on an Agile Project
Understanding Roles on an Agile Project
 
Techniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh JainTechniques for Effectively Slicing User Stories by Naresh Jain
Techniques for Effectively Slicing User Stories by Naresh Jain
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner Role
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 

Semelhante a Estimating in Software Development: No Silver Bullets Allowed

BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up Craig Schumann
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile ProcessDavid Copeland
 
How to not fail at security data analytics (by CxOSidekick)
How to not fail at security data analytics (by CxOSidekick)How to not fail at security data analytics (by CxOSidekick)
How to not fail at security data analytics (by CxOSidekick)Dinis Cruz
 
Slides Cost Based Performance Modelling
Slides Cost Based Performance ModellingSlides Cost Based Performance Modelling
Slides Cost Based Performance ModellingEugene Margulis
 
Kusto (Azure Data Explorer) Training for R&D - January 2019
Kusto (Azure Data Explorer) Training for R&D - January 2019 Kusto (Azure Data Explorer) Training for R&D - January 2019
Kusto (Azure Data Explorer) Training for R&D - January 2019 Tal Bar-Zvi
 
Meetup 29042015
Meetup 29042015Meetup 29042015
Meetup 29042015lbishal
 
Mantis: Netflix's Event Stream Processing System
Mantis: Netflix's Event Stream Processing SystemMantis: Netflix's Event Stream Processing System
Mantis: Netflix's Event Stream Processing SystemC4Media
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneMaarten Balliauw
 
An Introduction to ORYX Software
An Introduction to ORYX SoftwareAn Introduction to ORYX Software
An Introduction to ORYX SoftwareAccountagility
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandMaarten Balliauw
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsMichael Kopp
 
Bug prediction + sdlc automation
Bug prediction + sdlc automationBug prediction + sdlc automation
Bug prediction + sdlc automationAlexey Tokar
 
parellel computing
parellel computingparellel computing
parellel computingkatakdound
 
Simplified Data Processing On Large Cluster
Simplified Data Processing On Large ClusterSimplified Data Processing On Large Cluster
Simplified Data Processing On Large ClusterHarsh Kevadia
 
Week1 programming challenges
Week1 programming challengesWeek1 programming challenges
Week1 programming challengesDhanu Srikar
 
QConSF 2014 talk on Netflix Mantis, a stream processing system
QConSF 2014 talk on Netflix Mantis, a stream processing systemQConSF 2014 talk on Netflix Mantis, a stream processing system
QConSF 2014 talk on Netflix Mantis, a stream processing systemDanny Yuan
 
Structured Software Design
Structured Software DesignStructured Software Design
Structured Software DesignGiorgio Zoppi
 
Itc lec5-24+sep+2012
Itc lec5-24+sep+2012Itc lec5-24+sep+2012
Itc lec5-24+sep+2012Rehan Qadri
 

Semelhante a Estimating in Software Development: No Silver Bullets Allowed (20)

BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up BP206 - Let's Give Your LotusScript a Tune-Up
BP206 - Let's Give Your LotusScript a Tune-Up
 
Improving your Agile Process
Improving your Agile ProcessImproving your Agile Process
Improving your Agile Process
 
How to not fail at security data analytics (by CxOSidekick)
How to not fail at security data analytics (by CxOSidekick)How to not fail at security data analytics (by CxOSidekick)
How to not fail at security data analytics (by CxOSidekick)
 
Slides Cost Based Performance Modelling
Slides Cost Based Performance ModellingSlides Cost Based Performance Modelling
Slides Cost Based Performance Modelling
 
Kusto (Azure Data Explorer) Training for R&D - January 2019
Kusto (Azure Data Explorer) Training for R&D - January 2019 Kusto (Azure Data Explorer) Training for R&D - January 2019
Kusto (Azure Data Explorer) Training for R&D - January 2019
 
Meetup 29042015
Meetup 29042015Meetup 29042015
Meetup 29042015
 
Mantis: Netflix's Event Stream Processing System
Mantis: Netflix's Event Stream Processing SystemMantis: Netflix's Event Stream Processing System
Mantis: Netflix's Event Stream Processing System
 
Approaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologneApproaches for application request throttling - dotNetCologne
Approaches for application request throttling - dotNetCologne
 
An Introduction to ORYX Software
An Introduction to ORYX SoftwareAn Introduction to ORYX Software
An Introduction to ORYX Software
 
Approaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days PolandApproaches for application request throttling - Cloud Developer Days Poland
Approaches for application request throttling - Cloud Developer Days Poland
 
Performance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ ApplicationsPerformance Management in ‘Big Data’ Applications
Performance Management in ‘Big Data’ Applications
 
Bug prediction + sdlc automation
Bug prediction + sdlc automationBug prediction + sdlc automation
Bug prediction + sdlc automation
 
parellel computing
parellel computingparellel computing
parellel computing
 
Raising the Bar
Raising the BarRaising the Bar
Raising the Bar
 
Simplified Data Processing On Large Cluster
Simplified Data Processing On Large ClusterSimplified Data Processing On Large Cluster
Simplified Data Processing On Large Cluster
 
Week1 programming challenges
Week1 programming challengesWeek1 programming challenges
Week1 programming challenges
 
QConSF 2014 talk on Netflix Mantis, a stream processing system
QConSF 2014 talk on Netflix Mantis, a stream processing systemQConSF 2014 talk on Netflix Mantis, a stream processing system
QConSF 2014 talk on Netflix Mantis, a stream processing system
 
Code Refactoring
Code RefactoringCode Refactoring
Code Refactoring
 
Structured Software Design
Structured Software DesignStructured Software Design
Structured Software Design
 
Itc lec5-24+sep+2012
Itc lec5-24+sep+2012Itc lec5-24+sep+2012
Itc lec5-24+sep+2012
 

Mais de Kent McDonald

Moving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product ManagerMoving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product ManagerKent McDonald
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting PatternsKent McDonald
 
How to discover the right product to solve the right problem
How to discover the right product to solve the right problemHow to discover the right product to solve the right problem
How to discover the right product to solve the right problemKent McDonald
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningKent McDonald
 
Stakeholders are problematic
Stakeholders are problematicStakeholders are problematic
Stakeholders are problematicKent McDonald
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mappingKent McDonald
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mappingKent McDonald
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner RoleKent McDonald
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningKent McDonald
 
Agile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextAgile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextKent McDonald
 
Analysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopAnalysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopKent McDonald
 

Mais de Kent McDonald (11)

Moving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product ManagerMoving from Business Analyst to Product Owner to Product Manager
Moving from Business Analyst to Product Owner to Product Manager
 
21 Story Splitting Patterns
21 Story Splitting Patterns21 Story Splitting Patterns
21 Story Splitting Patterns
 
How to discover the right product to solve the right problem
How to discover the right product to solve the right problemHow to discover the right product to solve the right problem
How to discover the right product to solve the right problem
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic Questioning
 
Stakeholders are problematic
Stakeholders are problematicStakeholders are problematic
Stakeholders are problematic
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mapping
 
How to build shared understanding with example mapping
How to build shared understanding with example mappingHow to build shared understanding with example mapping
How to build shared understanding with example mapping
 
Examining the Product Owner Role
Examining the Product Owner RoleExamining the Product Owner Role
Examining the Product Owner Role
 
How to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic QuestioningHow to Find the Real Need with Socratic Questioning
How to Find the Real Need with Socratic Questioning
 
Agile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - ContextAgile Leadership: Accelerating Business Agility - Context
Agile Leadership: Accelerating Business Agility - Context
 
Analysis With an Agile Mindset Workshop
Analysis With an Agile Mindset WorkshopAnalysis With an Agile Mindset Workshop
Analysis With an Agile Mindset Workshop
 

Último

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 

Último (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 

Estimating in Software Development: No Silver Bullets Allowed

  • 1. Estimating in Software Development: No Silver Bullets Allowed Kent J. McDonald @beyondreqs
  • 3. A Familiar Situation? Issues with Estimating Estimating Techniques
  • 4. Don’t worry, we’ll get to these…
  • 5. Has this ever happened to you? Ok, great. The Sales How long will it VP promised an I just found out take to build the estimate to the about it this commission CEO next Monday. morning, so I’ll need system? It better be right. to do some analysis .
  • 6. Issues with Estimating Initial Uncertainty Accuracy/Effort Tradeoff False Precision Differing Skill Levels
  • 9. Cone of Uncertainty a Practical Use
  • 10. Hurricane Sandy – Actual Path
  • 11. Accuracy/Effort Tradeoff
  • 14. How precise do you have to be? How long, and Approximately 374 how much? days and $2,548,931.27.
  • 16. People finish tasks at different speeds
  • 17. Estimating Techniques Guestimate Break it down, add it up Relative Estimating
  • 19. Aka “Gut Feel” or “Ball Park” How long, and how much? About a year and $2.5 million.
  • 20. Comparison to Past Projects $1,000 $100K $10M ?? $1M
  • 21. Your turn… Want to create an online application for Mortgage Insurance How long to deliver the online application for Mortgage Insurance? A ballpark answer is sufficient.
  • 22.
  • 23. Does it address our issues? Initial Uncertainty Accuracy/Effort Tradeoff False Precision Differing Skill Levels
  • 26. Break overall effort into bits
  • 27. Assign factor to each small bit Tasks Time Factor # of Total Time (hour/bit) bits (hours) Interfaces GUI - Simple 8 GUI - Medium 16 GUI - Hard 24 System Interface - Simple 12 System Interface - Complex 30 Total Interfaces Processes Simple Process 16 Medium Process 32 Complex Process 48 Total Processes
  • 28. Where do we come up with the factors?
  • 29. This is where time cards may be useful…  Know ahead of time what you want to track  Build up information over time  Often requires excruciating detail in time collection.
  • 30. Identify How Many Bits Tasks Time Factor # of Total Time (hour/bit) bits (hours) Interfaces GUI - Simple 8 3 GUI - Medium 16 2 GUI - Hard 24 1 System Interface - Simple 12 3 System Interface - Complex 30 2 Total Interfaces 11 Processes Simple Process 16 5 Medium Process 32 4 Complex Process 48 3 Total Processes 12
  • 31. Do the math to get an estimate Tasks Time Factor # of Total Time (hour/bit) bits (hours) Interfaces GUI - Simple 8 3 24 GUI - Medium 16 2 32 GUI - Hard 24 1 24 System Interface - Simple 12 3 36 System Interface - Complex 30 2 60 Total Interfaces 11 176 Processes Simple Process 16 5 80 Medium Process 32 4 128 Complex Process 48 3 144 Total Processes 12 352
  • 32. This gives us development hours
  • 33. What about analysis & testing &…  Percentage of development hours  Estimate tasks separately  You mean we have to estimate analysis & testing?
  • 34. Data Warehouse Example Adding a new source to data warehouse  Count of sources  Count of tables/source  Count of elements/table  Considerations of complexity
  • 35. Data Warehouse Example 1. Gather all the info 2. Plug it into a spreadsheet 3. Look at the resulting (realistic but “too high”) number 4. Revise…
  • 36. Your turn… Want to create an online application for Mortgage Insurance How long to deliver the online application for Mortgage Insurance? Identify how you would break this down to estimate
  • 37.
  • 38. Of Course there’s always Function Points…
  • 39. Or, you could always add up tasks
  • 40. Does it address our issues? Initial Uncertainty Accuracy/Effort Tradeoff False Precision Differing Skill Levels
  • 42. Another Look - Decomposition
  • 43. Calibrated Estimates in Ranges Manage Moderate Manage Build Manage Tracks Content Deadlines Program Venue 1 – 2 Days 3 – 5 Days 1 – 2 Days 4 – 6 Days .5 – 1 Days 9.5 – 16 Days @ $100/hour & 8 hours/day $7,600 – $12,800 Note, Entire team calibrated and involved in determining these estimates.
  • 44. For More information How to Measure Anything: Finding the Value of Intangibles in Business by Douglas W. Hubbard HowToMeasureAnything.com
  • 45. Where it Helps Initial Uncertainty Accuracy/Effort Tradeoff False Precision Differing Skill Levels
  • 47. Ah ha! Here’s the poker connection!
  • 48. Discuss (briefly) the item to estimate As an Event Organizer I want to know how audience members vote by athlete by gender So That I can determine if men and women vote differently.
  • 51. Estimating Scales (Modified) Fibonacci Sequence: 0, ½, 1, 2, 3, 5, 8, 13, 20, 40, 80, 100 Using a regular deck of cards: A, 2, 3, 5, 8, King Team Member Hands: 1–5 Leonardo Pisano Bigollo aka Fibonacci Italian Mathematician
  • 53. Discuss outliers Well, we changed the voting I wasn’t sure we knew how machines to ask gender a Andwhy did youthe two So how about pick during Yeah, what she said. to tell an audience sign in last iteration, so it king? aces? member’s gender. should be easy
  • 55. Extrapolate based on Velocity Assumptions:  2 week iterations  Overall backlog size: 600 points  Planning Velocity: 30  5 Person Team  Avg Cost/person/wk: $4,000 Estimate: $800,000
  • 56. Your turn… Determine relative sizes of these various features using the scale 1,2,3,4,5 Based on this feature being sized an 1.
  • 57.
  • 58. Does it address our issues? Initial Uncertainty Accuracy/Effort Tradeoff False Precision Differing Skill Levels
  • 60. An Alternative to Planning Poker 1 2 3 5 8 User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story User Story
  • 61. How should we approach estimating for a project?
  • 62. Calibrated Guestimate Phase Based Estimates Break it down add it up Set expectation for revisions
  • 63. Agile Comparison Calibrated to past Estimates projects Extrapolate from Velocity Set expectation for revisions
  • 64. If you remember nothing else Initial Don’t spend uncertainty more effort means you will than it’s not be accurate. worth. Don’t imply Incorporate more precision multiple than is perspectives. possible.
  • 65. Questions? Kent J. McDonald kent@kentmcdonald.com www.BeyondRequirements.com Twitter: @BeyondReqs Slides available from: http://www.knowledgebridgepart ners.com/presentations/software estimating/ 65

Notas do Editor

  1. What do poker, Greek oracles, an Italian mathematician from the middle ages, and the path of hurricanes have in common?  Given the title of this presentation, chances are it has something to do with estimation, but you’ll have to come see it to get the full connection.In case that wasn’t sufficient enticement, Kent McDonald discusses the challenges and realities of estimating knowledge work, be it analysis, testing, software development, or the entire effort.  One big challenge and reality is there are no guaranteed ways to arrive at perfectly accurate or precise estimates, which ironically is why they are called estimates.  Not being one to whine about a problem without offering a solution, Kent introduces and gives you a chance to practice some practical techniques that your team can use to quickly determine estimates that are just as informative as the ones you just spent six weeks formulating.
  2. Image credit:http://www.crystalinks.com/delpipythia.jpghttp://www.fibonacci.name/images/Fibonacci.jpeg
  3. Not much is known about projects when estimates are made
  4. Everyone wants “accurate” estimatesEstimates are inherently inaccurate.
  5. Point of diminishing returns
  6. Different people take different amount of time to do a task based on skill