SlideShare a Scribd company logo
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

More Related Content

What's hot

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 Design
Mark 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 Reviews
TechWell
 
Software Project Scheduling Diagrams
Software Project Scheduling DiagramsSoftware Project Scheduling Diagrams
Software Project Scheduling Diagrams
Saqib 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
 
Lect3
Lect3Lect3
Project Management Workshop Overview
Project Management Workshop OverviewProject Management Workshop Overview
Project Management Workshop Overview
ahmad bassiouny
 
Software Engineering (Project Management )
Software Engineering (Project  Management )Software Engineering (Project  Management )
Software Engineering (Project Management )
ShudipPal
 
The art of project estimation
The art of project estimationThe art of project estimation
The art of project estimation
Return on Intelligence
 
Project Estimation
Project EstimationProject Estimation
Project Estimation
Kasun Ranga Wijeweera
 
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's
VersionOne
 

What's hot (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
 

Similar to Estimation

Scheduling
SchedulingScheduling
Work Breakdown Structure
Work Breakdown StructureWork Breakdown Structure
Work Breakdown Structure
Emanuele Della Valle
 
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
Emanuele Della Valle
 
Software Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentalsSoftware Project Management - Introduction and fundamentals
Software Project Management - Introduction and fundamentals
Emanuele Della Valle
 
Understanding Software Project Management
Understanding Software Project ManagementUnderstanding Software Project Management
Understanding Software Project Management
Emanuele Della Valle
 
project on software industry
project on software industryproject on software industry
project on software industry
Aamir chouhan
 
Wbs, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
Sulman Ahmed
 
Wbs
WbsWbs
People Dimension in Software Projects
People Dimension in Software ProjectsPeople Dimension in Software Projects
People Dimension in Software Projects
Emanuele Della Valle
 
Software Development Life Cycle
Software Development Life CycleSoftware Development Life Cycle
Software Development Life Cycle
nayanbanik
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
saman Iftikhar
 
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING  SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
Gaditek
 
Software Project management
Software Project managementSoftware Project management
Software Project management
sameer farooq
 
Chapter 4 Software Project Planning.pptx
Chapter 4 Software Project Planning.pptxChapter 4 Software Project Planning.pptx
Chapter 4 Software Project Planning.pptx
gadisaAdamu
 
INTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERINGINTRODUCTION TO SOFTWARE ENGINEERING
INTRODUCTION TO SOFTWARE ENGINEERING
Preeti 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
 
SPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptxSPM_UNIT-1(1).pptx
SPM_UNIT-1(1).pptx
Sushant895574
 
The Waterfall Model
The Waterfall ModelThe Waterfall Model
The Waterfall Model
Damian T. Gordon
 

Similar to Estimation (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, estimation and scheduling
Wbs, estimation and schedulingWbs, estimation and scheduling
Wbs, estimation and scheduling
 
Wbs
WbsWbs
Wbs
 
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
 

More from 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 streams
Emanuele Della Valle
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
Emanuele 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 Reasoning
Emanuele Della Valle
 
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
Emanuele Della Valle
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
Emanuele 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 - Fluxedo
Emanuele 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 value
Emanuele 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-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
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 Technologies
Emanuele 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
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
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-03
Emanuele 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
 

More from 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)
 

Recently uploaded

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
OnBoard
 

Recently uploaded (20)

Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
De-mystifying Zero to One: Design Informed Techniques for Greenfield Innovati...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Leading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdfLeading Change strategies and insights for effective change management pdf 1.pdf
Leading Change strategies and insights for effective change management pdf 1.pdf
 

Estimation

  • 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