SlideShare uma empresa Scribd logo
1 de 43
Baixar para ler offline
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Semelhante a 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
 

Semelhante a 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
 

Mais de 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
 

Mais de 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)
 

Último

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
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
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
#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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 

Último (20)

Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
#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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 

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