SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Planning and Managing Software Projects 2011-12
Class 8

Estimation
Emanuele Della Valle
http://emanueledellavalle.org
Credits                                                           2

§  This slides are largely based on Prof. John Musser
    class notes on Principles of Software Project
    Management
§  Original slides are available at
    http://www.projectreference.com/
§  Reuse and republish permission was granted




 Planning and Managing Software Projects – Emanuele Della Valle
Agenda                                                            3

§  Last Class
     •  Review Classes 5 and 6
     •  Work Breakdown Structures (WBS)
§  Today
     •  Brief Class 7 review
     •  Estimation




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
Estimation                                                                          4

§          Predictions are hard, especially about the future
                                                                       -  Yogi Berra*




* http://en.wikipedia.org/wiki/Yogi_Berra


      Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
Planning, Estimating, Scheduling                                  5

§  Plan:
     •  Identify activities. No specific start and end dates.
§  Estimating:
     •  Determining the size & duration of activities.
§  Schedule:
     •  Adds specific start and end dates, relationships, and
        resources.




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
WBS                                                               6

§  Hierarchical list of project s work activities
§  WBS becomes input to many things
     •      Network scheduling
     •      Costing
     •      Risk analysis
     •      Organizational structure
     •      Control
     •      Measurement
§  What hurts most is what s missing




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
WBS Types and Formats                                             7

§  Types:
     •      Process
     •      Product
     •      Hybrid
     •      Less frequently used ones: organizational and
            geographic
§  Formats:
     •  Outline
     •  graphical (similar to an organizational chart)




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
WBS Levels                                                        8

§  Up to six
§  Usually 3-6
§  Level 1-3: Managerial
     •  Level 1: authorizations
     •  Level 2: budgets
     •  Level 3: schedules
§  Level 4-6: Technical




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
WBS Guidelines                                                    9

§  List of Activities, not Things
§  Describe activities using bullet language
     •  Meaningful but terse labels
§  All WBS paths do not have to go to the same level
§  Do not plan more detail than you can manage




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
WBS Techniques                                                    10

§  Top-Down
§  Bottom-Up
§  Analogy
§  Brainstorming
§  Rolling Wave




 Planning and Managing Software Projects – Emanuele Della Valle
Class 7 Review
Homework – 2: WBS                                                 11
§  Create a WBS for your project
§  Guidelines
     •  Do it at managerial level (see slide 14)
     •  Choose the type of WBS among process, product or
        hybrid approach
     •  Follow the standard hierarchical numbering scheme for
        WBS structures
     •  Use outline format
§  Submission
     •  Use the tool you prefer between Notepad/Word/Excel
     •  Add homework-2 to the appropriate folder in the
        dropbox folder of your project




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Introduction                                                      12

§  Very difficult to do, but needed often
§  Created, used or refined during
     •      Strategic planning
     •      Feasibility study and/or SOW
     •      Proposals
     •      Vendor and sub-contractor evaluation
     •      Project planning (iteratively)
§  Basic process
     •      Estimate the size of the product
     •      Estimate the effort (man-months)
     •      Estimate the schedule
     •      NOTE: Not all of these steps are always explicitly
            performed




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Introduction (cont.)                                              13

§  Remember, an exact estimate is an oxymoron
§  Estimate how long will it take you to get home from
    class this afternoon
     •      On what basis did you do that?
     •      Experience right?
     •      Likely as an average probability
     •      For most software projects there is no such average
§  Most software estimations are off by 25-100%




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Target vs. Committed Dates                                        14

§  Target:
     •  Proposed by business or marketing
     •  Do not commit to this too soon!
§  Committed:
     •  Team agrees to this
     •  After you ve developed a schedule




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Cone of Uncertainty                                               15




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Size                                                              16

§  Small projects (10-99 FPs), variance of 7% from post-
    requirements estimates
§  Medium (100-999 FPs), 22% variance
§  Large (1000-9999 FPs) 38% variance
§  Very large (> 10K FPs) 51% variance




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Methodologies                                                     17

§  Top-down
§  Bottom-up
§  Analogy
§  Expert Judgment
§  Priced to Win
§  Parametric or Algorithmic Method
     •  Using formulas and equations




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Top-down Estimation                                               18

§  Based on overall characteristics of project
     •  Some of the others can be types of top-down
        (Analogy, Expert Judgment, and Algorithmic methods)
§  Advantages
     •  Easy to calculate
     •  Effective early on (like initial cost estimates)
§  Disadvantages
     •  Some models are questionable or may not fit
     •  Less accurate because it doesn t look at details




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Bottom-up Estimation                                              19

§  Create WBS
§  Add from the bottom-up
§  Advantages
     •  Works well if activities well understood
§  Disadvantages
     •  Specific activities not always known
     •  More time consuming




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Expert Judgment                                                   20

§  Use somebody who has recent experience on a similar
    project
§  You get a guesstimate
§  Accuracy depends on their real expertise
§  Comparable application(s) must be accurately chosen
     •  Systematic
§  Can use a weighted-average of opinions




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Estimation by Analogy                                             21

§  Use past project
     •  Must be sufficiently similar (technology, type,
        organization)
     •  Find comparable attributes (ex: # of inputs/outputs)
     •  Can create a function
§  Advantages
     •  Based on actual historical data
§  Disadvantages
     •  Difficulty matching project types
     •  Prior data may have been mis-measured
     •  How to measure differences – no two exactly same




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Priced to Win                                                     22

§  Just follow other estimates
§  Save on doing full estimate
§  Needs information on other estimates (or prices)
§  Purchaser must closely watch trade-offs
§  Price to lose?




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Algorithmic Measures                                              23

§  Lines of Code (LOC)
§  Function points
§  Feature points or object points
§  Other possible
     •  Number of bubbles on a DFD
     •  Number of of ERD entities
     •  Number of processes on a structure chart
§  LOC and function points most common
     •  (of the algorithmic approaches)
§  Majority of projects use none of the above




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Code-based Estimates                                              24

§  LOC Advantages
     •  Commonly understood metric
     •  Permits specific comparison
     •  Actuals easily measured
§  LOC Disadvantages
     •      Difficult to estimate early in cycle
     •      Counts vary by language
     •      Many costs not considered (ex: requirements)
     •      Programmers may be rewarded based on this
             –  Can use: # defects/# LOC
     •  Code generators produce excess code




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
LOC Estimate Issues                                               25

§  How do you know how many in advance?
§  What about different languages?
§  What about programmer style?
§  Stat: avg. programmer productivity: 3,000 LOC/yr
§  Most algorithmic approaches are more effective after
    requirements (or have to be after)




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Function Points                                                   26

§  Software size measured by number & complexity of
    functions it performs
§  More methodical than LOC counts
§  House analogy
     •  House s Square Feet ~= Software LOC
     •  # Bedrooms & Baths ~= Function points
     •  Former is size only, latter is size & function
§  Three basic steps




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Function Point Process                                                  27

1. Count # of biz functions per category
          •  Categories: outputs, inputs, db inquiries, files or data
             structures, and interfaces
2. Establish Complexity Factor for each and apply
          •  Simple, Average, Complex
          •  Set a weighting multiplier for each (0->15)
          •  This results in the unadjusted function-point total
3. Compute an influence multiplier and apply
          •  It ranges from 0.65 to 1.35; is based on 14 factors
4. Results in function point total
          •  This can be used in comparative estimates




§       For a tutorial: http://www.devdaily.com/FunctionPoints/
      Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Wideband Delphi                                                   28

§  Group consensus approach
§  Rand corp. (http://www.rand.org/) used original
    Delphi approach to predict future technologies
§  Present experts with a problem and response form
§  Conduct group discussion, collect anonymous opinions,
    then feedback
§  Conduct another discussion & iterate until consensus
§  Advantages
     •  Easy, inexpensive, utilizes expertise of several people
     •  Does not require historical data
§  Disadvantages
     •  Difficult to repeat
     •  May fail to reach consensus, reach wrong one, or all may
        have same bias
 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Parametric Method Issues                                          29

§  Remember: most projects you ll run into don t use
    these
§  Which is normal , so don t be surprised
     •  Or come-in to new job and say Hey, let s use
        COCOMO
§  These are more effective on large projects
     •  Where a past historical base exists
§  Primary issue for most projects are
     •  Lack of similar projects
             –  Thus lack of comparable data




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Size
Code Reuse & Estimation                                           30

§  Does not come for free
§  Code types: New, Modified, Reused
§  If code is more than 50% modified, it s new
§  Reuse factors have wide range
     •  Reused code takes 30% effort of new
     •  Modified is 60% of new
§  Integration effort with reused code almost as
    expensive as with new code




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Effort Estimation                                                 31

§  Now that you know the size , determine the effort
    needed to build it
§  Various models: empirical, mathematical, subjective
§  Expressed in units of duration
     •  Person-Months (or Man-Months, less politically correct)




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Effort Estimation                                                      32

§  McConnell shows schedule tables for conversion of size
    to effort
§  As with parametric size estimation, these techniques
    perform better with historical data
§  Again, not seen in average projects
§  Often the size and effort estimation steps are
    combined (not that this is recommended, but is what
    often is done)
§          Commitment-Based Scheduling is what is often done
          •  Ask developer to commit to an estimate (his or her
             own)




      Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Efforts
COCOMO                                                            33

§  COnstructive COst MOdel
§  Allows for the type of application, size, and Cost
    Drivers
§  Outputs in Person Months
§  Cost drivers using High/Med/Low & include
     •  Motivation
     •  Ability of team
     •  Application experience
§  Biggest weakness?
     •  Requires input of a product size estimate in LOC




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Issues                                                            34

§  Quality estimations needed early but information is
    limited
§  Precise estimation data available at end but not
    needed
     •  Or is it? What about the next project?
§  Best estimates are based on past experience
§  Politics of estimation:
     •  You may anticipate a cut by upper management
§  For many software projects there is little or none
     •      Technologies change
     •      Historical data unavailable
     •      Wide variance in project experiences/types
     •      Subjective nature of software estimation



 Planning and Managing Software Projects – Emanuele Della Valle
Estimations - Issues
Over and Under Estimation                                              35

§  Over estimation issues
     •  The project will not be funded
             –  Conservative estimates guaranteeing 100% success may
                mean funding probability of zero.
     •  Parkinson s Law: Work expands to take the time allowed
     •  Danger of feature and scope creep
     •  Be aware of double-padding : team member +
        manager
§  Under estimation issues
     •  Quality issues (short changing key phases like testing)
     •  Inability to meet deadlines
     •  Morale and other team motivation issues




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Estimation Guidelines                                             36

§  Estimate iteratively!
     •      Process of gradual refinement
     •      Make your best estimates at each planning stage
     •      Refine estimates and adjust plans iteratively
     •      Plans and decisions can be refined in response
     •      Balance: too many revisions vs. too few




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Know Your Deadlines                                               37

§  Are they Real Deadlines ?
     •  Tied to an external event
     •  Have to be met for project to be a success
     •  Ex: end of financial year, contractual deadline, Y2K
§  Or Artificial Deadlines ?
     •  Set by arbitrary authority
     •  May have some flexibility (if pushed)




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
 Presentation                                                      38

§  How you present the estimation can have huge impact
§  Techniques
     •  Plus-or-minus qualifiers
             –  6 months +/-1 month
     •  Ranges
             –  6-8 months
     •  Risk Quantification
             –  +/- with added information
             –  +1 month of new tools not working as expected
             –  -2 weeks for less delay in hiring new developers
     •  Cases
             –  Best / Planned / Current / Worst cases
     •  Coarse Dates
             –  Q3 2009
     •  Confidence Factors
             –  April 1 – 10% probability, July 1 – 50%, etc.

 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Other Estimation Factors                                          39

§  Account for resource experience or skill
     •  Up to a point
     •  Often needed more on the low end, such as for a new
        or junior person
§  Allow for non-project time & common tasks
     •  Meetings, phone calls, web surfing, sick days
§  There are commercial estimation tools available
     •  They typically require configuration based on past data




 Planning and Managing Software Projects – Emanuele Della Valle
Estimations
Other Estimation Notes                                            40

§  Remember: manage expectations
§  Parkinson s Law
     •        Work expands to fill the time available
§  The Student Syndrome
     •  Procrastination until the last minute (cram)




 Planning and Managing Software Projects – Emanuele Della Valle
Optional Reading                                                  41

§  McConnell: 9, Scheduling
§  Schwalbe: 5, Project Time Management




 Planning and Managing Software Projects – Emanuele Della Valle
Comix                                                            42




Planning and Managing Software Projects – Emanuele Della Valle
Questions?                                                        43




 Planning and Managing Software Projects – Emanuele Della Valle

Weitere ähnliche Inhalte

Was ist angesagt?

P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-managementEmanuele Della Valle
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)Syed Muhammad Hammad
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9Syed Muhammad Hammad
 
Software Project Management lecture 12
Software Project Management lecture 12Software Project Management lecture 12
Software Project Management lecture 12Syed Muhammad Hammad
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)Syed Muhammad Hammad
 
Microsoft SQL Server Seven Deadly Sins of Database Design
Microsoft SQL Server Seven Deadly Sins of Database DesignMicrosoft SQL Server Seven Deadly Sins of Database Design
Microsoft SQL Server Seven Deadly Sins of Database DesignMark Ginnebaugh
 
EIS_Case_Study_29march2016
EIS_Case_Study_29march2016EIS_Case_Study_29march2016
EIS_Case_Study_29march2016Tanaya Bose
 
Contextually-Driven System Architecture Reviews
Contextually-Driven System Architecture ReviewsContextually-Driven System Architecture Reviews
Contextually-Driven System Architecture ReviewsTechWell
 
Software Project Scheduling Diagrams
Software Project Scheduling DiagramsSoftware Project Scheduling Diagrams
Software Project Scheduling DiagramsSaqib Raza
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)ShudipPal
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)Ankit Gupta
 
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overviewahmad bassiouny
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )ShudipPal
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Marvin Heery
 
Agile Project Management for PMP's
Agile Project Management for PMP'sAgile Project Management for PMP's
Agile Project Management for PMP'sVersionOne
 

Was ist angesagt? (20)

P&msp2010 08 development-management
P&msp2010 08 development-managementP&msp2010 08 development-management
P&msp2010 08 development-management
 
Software Project Management (lecture 3)
Software Project Management (lecture 3)Software Project Management (lecture 3)
Software Project Management (lecture 3)
 
P&msp2010 11 final-stages
P&msp2010 11 final-stagesP&msp2010 11 final-stages
P&msp2010 11 final-stages
 
Software Project Management lecture 9
Software Project Management lecture 9Software Project Management lecture 9
Software Project Management lecture 9
 
P&msp2010 05 scheduling
P&msp2010 05 schedulingP&msp2010 05 scheduling
P&msp2010 05 scheduling
 
Software Project Management lecture 12
Software Project Management lecture 12Software Project Management lecture 12
Software Project Management lecture 12
 
Software Project Management (lecture 4)
Software Project Management (lecture 4)Software Project Management (lecture 4)
Software Project Management (lecture 4)
 
Microsoft SQL Server Seven Deadly Sins of Database Design
Microsoft SQL Server Seven Deadly Sins of Database DesignMicrosoft SQL Server Seven Deadly Sins of Database Design
Microsoft SQL Server Seven Deadly Sins of Database Design
 
EIS_Case_Study_29march2016
EIS_Case_Study_29march2016EIS_Case_Study_29march2016
EIS_Case_Study_29march2016
 
Contextually-Driven System Architecture Reviews
Contextually-Driven System Architecture ReviewsContextually-Driven System Architecture Reviews
Contextually-Driven System Architecture Reviews
 
Software Project Scheduling Diagrams
Software Project Scheduling DiagramsSoftware Project Scheduling Diagrams
Software Project Scheduling Diagrams
 
Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)Software Engineering (Project Scheduling)
Software Engineering (Project Scheduling)
 
Other software processes (Software project Management)
Other software processes (Software project Management)Other software processes (Software project Management)
Other software processes (Software project Management)
 
Lect3
Lect3Lect3
Lect3
 
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overview
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
 
Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4Introduction To Agile Refresh Savannah July20 2010 V1 4
Introduction To Agile Refresh Savannah July20 2010 V1 4
 
Agile Project Management for PMP's
Agile Project Management for PMP'sAgile Project Management for PMP's
Agile Project Management for PMP's
 

Ähnlich wie Estimating Software Project Size and Effort

Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningEmanuele Della Valle
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsEmanuele Della Valle
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project ManagementEmanuele Della Valle
 
project on software industry
project on software industryproject on software industry
project on software industryAamir chouhan
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and schedulingSulman Ahmed
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software ProjectsEmanuele Della Valle
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cyclenayanbanik
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdfsaman Iftikhar
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING  SOFTWARE ENGINEERING
SOFTWARE ENGINEERING Gaditek
 
Software Project management
Software Project managementSoftware Project management
Software Project managementsameer farooq
 
Chapter 4 Software Project Planning.pptx
Chapter 4 Software Project Planning.pptxChapter 4 Software Project Planning.pptx
Chapter 4 Software Project Planning.pptxgadisaAdamu
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGPreeti Mishra
 
Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Faichi Solutions
 

Ähnlich wie Estimating Software Project Size and Effort (20)

Scheduling
SchedulingScheduling
Scheduling
 
Work Breakdown Structure
Work Breakdown StructureWork Breakdown Structure
Work Breakdown Structure
 
P&msp2010 04 wbs-and-estimation
P&msp2010 04 wbs-and-estimationP&msp2010 04 wbs-and-estimation
P&msp2010 04 wbs-and-estimation
 
Planning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle PlanningPlanning Phase Part I - Project Phases and Lifecycle Planning
Planning Phase Part I - Project Phases and Lifecycle Planning
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentals
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project Management
 
project on software industry
project on software industryproject on software industry
project on software industry
 
Wbs
WbsWbs
Wbs
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
 
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software Projects
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
 
P&msp2010 10 project-control
P&msp2010 10 project-controlP&msp2010 10 project-control
P&msp2010 10 project-control
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING  SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
 
Software Project management
Software Project managementSoftware Project management
Software Project management
 
Chapter 4 Software Project Planning.pptx
Chapter 4 Software Project Planning.pptxChapter 4 Software Project Planning.pptx
Chapter 4 Software Project Planning.pptx
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
 
Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans!
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
 

Mehr von Emanuele Della Valle

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streamsEmanuele Della Valle
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningEmanuele Della Valle
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search enginesEmanuele Della Valle
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoEmanuele Della Valle
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Emanuele Della Valle
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...Emanuele Della Valle
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Emanuele Della Valle
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create valueEmanuele Della Valle
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Emanuele Della Valle
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Emanuele Della Valle
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Emanuele Della Valle
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesEmanuele Della Valle
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Emanuele Della Valle
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Emanuele Della Valle
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Emanuele Della Valle
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)Emanuele Della Valle
 

Mehr von Emanuele Della Valle (20)

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streams
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream Reasoning
 
Big Data and Data Science W's
Big Data and Data Science W'sBig Data and Data Science W's
Big Data and Data Science W's
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - Fluxedo
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create value
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic Technologies
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)
 

Kürzlich hochgeladen

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
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
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
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
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGSujit Pal
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
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
 

Kürzlich hochgeladen (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
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 ...
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Google AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAGGoogle AI Hackathon: LLM based Evaluator for RAG
Google AI Hackathon: LLM based Evaluator for RAG
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
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
 

Estimating Software Project Size and Effort

  • 1. Planning and Managing Software Projects 2011-12 Class 8 Estimation Emanuele Della Valle http://emanueledellavalle.org
  • 2. Credits 2 §  This slides are largely based on Prof. John Musser class notes on Principles of Software Project Management §  Original slides are available at http://www.projectreference.com/ §  Reuse and republish permission was granted Planning and Managing Software Projects – Emanuele Della Valle
  • 3. Agenda 3 §  Last Class •  Review Classes 5 and 6 •  Work Breakdown Structures (WBS) §  Today •  Brief Class 7 review •  Estimation Planning and Managing Software Projects – Emanuele Della Valle
  • 4. Class 7 Review Estimation 4 §  Predictions are hard, especially about the future -  Yogi Berra* * http://en.wikipedia.org/wiki/Yogi_Berra Planning and Managing Software Projects – Emanuele Della Valle
  • 5. Class 7 Review Planning, Estimating, Scheduling 5 §  Plan: •  Identify activities. No specific start and end dates. §  Estimating: •  Determining the size & duration of activities. §  Schedule: •  Adds specific start and end dates, relationships, and resources. Planning and Managing Software Projects – Emanuele Della Valle
  • 6. Class 7 Review WBS 6 §  Hierarchical list of project s work activities §  WBS becomes input to many things •  Network scheduling •  Costing •  Risk analysis •  Organizational structure •  Control •  Measurement §  What hurts most is what s missing Planning and Managing Software Projects – Emanuele Della Valle
  • 7. Class 7 Review WBS Types and Formats 7 §  Types: •  Process •  Product •  Hybrid •  Less frequently used ones: organizational and geographic §  Formats: •  Outline •  graphical (similar to an organizational chart) Planning and Managing Software Projects – Emanuele Della Valle
  • 8. Class 7 Review WBS Levels 8 §  Up to six §  Usually 3-6 §  Level 1-3: Managerial •  Level 1: authorizations •  Level 2: budgets •  Level 3: schedules §  Level 4-6: Technical Planning and Managing Software Projects – Emanuele Della Valle
  • 9. Class 7 Review WBS Guidelines 9 §  List of Activities, not Things §  Describe activities using bullet language •  Meaningful but terse labels §  All WBS paths do not have to go to the same level §  Do not plan more detail than you can manage Planning and Managing Software Projects – Emanuele Della Valle
  • 10. Class 7 Review WBS Techniques 10 §  Top-Down §  Bottom-Up §  Analogy §  Brainstorming §  Rolling Wave Planning and Managing Software Projects – Emanuele Della Valle
  • 11. Class 7 Review Homework – 2: WBS 11 §  Create a WBS for your project §  Guidelines •  Do it at managerial level (see slide 14) •  Choose the type of WBS among process, product or hybrid approach •  Follow the standard hierarchical numbering scheme for WBS structures •  Use outline format §  Submission •  Use the tool you prefer between Notepad/Word/Excel •  Add homework-2 to the appropriate folder in the dropbox folder of your project Planning and Managing Software Projects – Emanuele Della Valle
  • 12. Estimations Introduction 12 §  Very difficult to do, but needed often §  Created, used or refined during •  Strategic planning •  Feasibility study and/or SOW •  Proposals •  Vendor and sub-contractor evaluation •  Project planning (iteratively) §  Basic process •  Estimate the size of the product •  Estimate the effort (man-months) •  Estimate the schedule •  NOTE: Not all of these steps are always explicitly performed Planning and Managing Software Projects – Emanuele Della Valle
  • 13. Estimations Introduction (cont.) 13 §  Remember, an exact estimate is an oxymoron §  Estimate how long will it take you to get home from class this afternoon •  On what basis did you do that? •  Experience right? •  Likely as an average probability •  For most software projects there is no such average §  Most software estimations are off by 25-100% Planning and Managing Software Projects – Emanuele Della Valle
  • 14. Estimations Target vs. Committed Dates 14 §  Target: •  Proposed by business or marketing •  Do not commit to this too soon! §  Committed: •  Team agrees to this •  After you ve developed a schedule Planning and Managing Software Projects – Emanuele Della Valle
  • 15. Estimations Cone of Uncertainty 15 Planning and Managing Software Projects – Emanuele Della Valle
  • 16. Estimations Size 16 §  Small projects (10-99 FPs), variance of 7% from post- requirements estimates §  Medium (100-999 FPs), 22% variance §  Large (1000-9999 FPs) 38% variance §  Very large (> 10K FPs) 51% variance Planning and Managing Software Projects – Emanuele Della Valle
  • 17. Estimations - Size Methodologies 17 §  Top-down §  Bottom-up §  Analogy §  Expert Judgment §  Priced to Win §  Parametric or Algorithmic Method •  Using formulas and equations Planning and Managing Software Projects – Emanuele Della Valle
  • 18. Estimations - Size Top-down Estimation 18 §  Based on overall characteristics of project •  Some of the others can be types of top-down (Analogy, Expert Judgment, and Algorithmic methods) §  Advantages •  Easy to calculate •  Effective early on (like initial cost estimates) §  Disadvantages •  Some models are questionable or may not fit •  Less accurate because it doesn t look at details Planning and Managing Software Projects – Emanuele Della Valle
  • 19. Estimations - Size Bottom-up Estimation 19 §  Create WBS §  Add from the bottom-up §  Advantages •  Works well if activities well understood §  Disadvantages •  Specific activities not always known •  More time consuming Planning and Managing Software Projects – Emanuele Della Valle
  • 20. Estimations - Size Expert Judgment 20 §  Use somebody who has recent experience on a similar project §  You get a guesstimate §  Accuracy depends on their real expertise §  Comparable application(s) must be accurately chosen •  Systematic §  Can use a weighted-average of opinions Planning and Managing Software Projects – Emanuele Della Valle
  • 21. Estimations - Size Estimation by Analogy 21 §  Use past project •  Must be sufficiently similar (technology, type, organization) •  Find comparable attributes (ex: # of inputs/outputs) •  Can create a function §  Advantages •  Based on actual historical data §  Disadvantages •  Difficulty matching project types •  Prior data may have been mis-measured •  How to measure differences – no two exactly same Planning and Managing Software Projects – Emanuele Della Valle
  • 22. Estimations - Size Priced to Win 22 §  Just follow other estimates §  Save on doing full estimate §  Needs information on other estimates (or prices) §  Purchaser must closely watch trade-offs §  Price to lose? Planning and Managing Software Projects – Emanuele Della Valle
  • 23. Estimations - Size Algorithmic Measures 23 §  Lines of Code (LOC) §  Function points §  Feature points or object points §  Other possible •  Number of bubbles on a DFD •  Number of of ERD entities •  Number of processes on a structure chart §  LOC and function points most common •  (of the algorithmic approaches) §  Majority of projects use none of the above Planning and Managing Software Projects – Emanuele Della Valle
  • 24. Estimations - Size Code-based Estimates 24 §  LOC Advantages •  Commonly understood metric •  Permits specific comparison •  Actuals easily measured §  LOC Disadvantages •  Difficult to estimate early in cycle •  Counts vary by language •  Many costs not considered (ex: requirements) •  Programmers may be rewarded based on this –  Can use: # defects/# LOC •  Code generators produce excess code Planning and Managing Software Projects – Emanuele Della Valle
  • 25. Estimations - Size LOC Estimate Issues 25 §  How do you know how many in advance? §  What about different languages? §  What about programmer style? §  Stat: avg. programmer productivity: 3,000 LOC/yr §  Most algorithmic approaches are more effective after requirements (or have to be after) Planning and Managing Software Projects – Emanuele Della Valle
  • 26. Estimations - Size Function Points 26 §  Software size measured by number & complexity of functions it performs §  More methodical than LOC counts §  House analogy •  House s Square Feet ~= Software LOC •  # Bedrooms & Baths ~= Function points •  Former is size only, latter is size & function §  Three basic steps Planning and Managing Software Projects – Emanuele Della Valle
  • 27. Estimations - Size Function Point Process 27 1. Count # of biz functions per category •  Categories: outputs, inputs, db inquiries, files or data structures, and interfaces 2. Establish Complexity Factor for each and apply •  Simple, Average, Complex •  Set a weighting multiplier for each (0->15) •  This results in the unadjusted function-point total 3. Compute an influence multiplier and apply •  It ranges from 0.65 to 1.35; is based on 14 factors 4. Results in function point total •  This can be used in comparative estimates §  For a tutorial: http://www.devdaily.com/FunctionPoints/ Planning and Managing Software Projects – Emanuele Della Valle
  • 28. Estimations - Size Wideband Delphi 28 §  Group consensus approach §  Rand corp. (http://www.rand.org/) used original Delphi approach to predict future technologies §  Present experts with a problem and response form §  Conduct group discussion, collect anonymous opinions, then feedback §  Conduct another discussion & iterate until consensus §  Advantages •  Easy, inexpensive, utilizes expertise of several people •  Does not require historical data §  Disadvantages •  Difficult to repeat •  May fail to reach consensus, reach wrong one, or all may have same bias Planning and Managing Software Projects – Emanuele Della Valle
  • 29. Estimations - Size Parametric Method Issues 29 §  Remember: most projects you ll run into don t use these §  Which is normal , so don t be surprised •  Or come-in to new job and say Hey, let s use COCOMO §  These are more effective on large projects •  Where a past historical base exists §  Primary issue for most projects are •  Lack of similar projects –  Thus lack of comparable data Planning and Managing Software Projects – Emanuele Della Valle
  • 30. Estimations - Size Code Reuse & Estimation 30 §  Does not come for free §  Code types: New, Modified, Reused §  If code is more than 50% modified, it s new §  Reuse factors have wide range •  Reused code takes 30% effort of new •  Modified is 60% of new §  Integration effort with reused code almost as expensive as with new code Planning and Managing Software Projects – Emanuele Della Valle
  • 31. Estimations Effort Estimation 31 §  Now that you know the size , determine the effort needed to build it §  Various models: empirical, mathematical, subjective §  Expressed in units of duration •  Person-Months (or Man-Months, less politically correct) Planning and Managing Software Projects – Emanuele Della Valle
  • 32. Estimations Effort Estimation 32 §  McConnell shows schedule tables for conversion of size to effort §  As with parametric size estimation, these techniques perform better with historical data §  Again, not seen in average projects §  Often the size and effort estimation steps are combined (not that this is recommended, but is what often is done) §  Commitment-Based Scheduling is what is often done •  Ask developer to commit to an estimate (his or her own) Planning and Managing Software Projects – Emanuele Della Valle
  • 33. Estimations - Efforts COCOMO 33 §  COnstructive COst MOdel §  Allows for the type of application, size, and Cost Drivers §  Outputs in Person Months §  Cost drivers using High/Med/Low & include •  Motivation •  Ability of team •  Application experience §  Biggest weakness? •  Requires input of a product size estimate in LOC Planning and Managing Software Projects – Emanuele Della Valle
  • 34. Estimations Issues 34 §  Quality estimations needed early but information is limited §  Precise estimation data available at end but not needed •  Or is it? What about the next project? §  Best estimates are based on past experience §  Politics of estimation: •  You may anticipate a cut by upper management §  For many software projects there is little or none •  Technologies change •  Historical data unavailable •  Wide variance in project experiences/types •  Subjective nature of software estimation Planning and Managing Software Projects – Emanuele Della Valle
  • 35. Estimations - Issues Over and Under Estimation 35 §  Over estimation issues •  The project will not be funded –  Conservative estimates guaranteeing 100% success may mean funding probability of zero. •  Parkinson s Law: Work expands to take the time allowed •  Danger of feature and scope creep •  Be aware of double-padding : team member + manager §  Under estimation issues •  Quality issues (short changing key phases like testing) •  Inability to meet deadlines •  Morale and other team motivation issues Planning and Managing Software Projects – Emanuele Della Valle
  • 36. Estimations Estimation Guidelines 36 §  Estimate iteratively! •  Process of gradual refinement •  Make your best estimates at each planning stage •  Refine estimates and adjust plans iteratively •  Plans and decisions can be refined in response •  Balance: too many revisions vs. too few Planning and Managing Software Projects – Emanuele Della Valle
  • 37. Estimations Know Your Deadlines 37 §  Are they Real Deadlines ? •  Tied to an external event •  Have to be met for project to be a success •  Ex: end of financial year, contractual deadline, Y2K §  Or Artificial Deadlines ? •  Set by arbitrary authority •  May have some flexibility (if pushed) Planning and Managing Software Projects – Emanuele Della Valle
  • 38. Estimations Presentation 38 §  How you present the estimation can have huge impact §  Techniques •  Plus-or-minus qualifiers –  6 months +/-1 month •  Ranges –  6-8 months •  Risk Quantification –  +/- with added information –  +1 month of new tools not working as expected –  -2 weeks for less delay in hiring new developers •  Cases –  Best / Planned / Current / Worst cases •  Coarse Dates –  Q3 2009 •  Confidence Factors –  April 1 – 10% probability, July 1 – 50%, etc. Planning and Managing Software Projects – Emanuele Della Valle
  • 39. Estimations Other Estimation Factors 39 §  Account for resource experience or skill •  Up to a point •  Often needed more on the low end, such as for a new or junior person §  Allow for non-project time & common tasks •  Meetings, phone calls, web surfing, sick days §  There are commercial estimation tools available •  They typically require configuration based on past data Planning and Managing Software Projects – Emanuele Della Valle
  • 40. Estimations Other Estimation Notes 40 §  Remember: manage expectations §  Parkinson s Law •  Work expands to fill the time available §  The Student Syndrome •  Procrastination until the last minute (cram) Planning and Managing Software Projects – Emanuele Della Valle
  • 41. Optional Reading 41 §  McConnell: 9, Scheduling §  Schwalbe: 5, Project Time Management Planning and Managing Software Projects – Emanuele Della Valle
  • 42. Comix 42 Planning and Managing Software Projects – Emanuele Della Valle
  • 43. Questions? 43 Planning and Managing Software Projects – Emanuele Della Valle