Estimation Process Number: 580-SP-073-01 Effective Date: October 1, 2009 Expiration Date: October 1, 2014
Approved By: (signature) Name: John T. Donohue Title: Chief, SED
Responsible Office: 580/Software Engineering Division (SED) Title: Estimation Process
Asset Type: Sub-Process PAL Number: 1.2.1
Purpose
This document describes the generic process to be followed for all software project estimation. This process is a “helper” process for the project’s planning process.
Scope
This process is applicable to all software projects throughout their lifecycle.
Context Diagram Planning Process
Project Monitoring & Control Process
Estimation Process Project Startup Process
Roles and Responsibilities
Project Lead or Other Senior Management (PLOSM):
May select Estimation Lead (see Task 1). Estimation Lead (EL): The Estimation Lead is responsible for: Planning the estimate Coordinating with the experts (below) Collecting the estimation data Performing the estimate Documenting the basis of the estimate estim ate and the results of the estimate Domain Expert (DE): One or more domain experts provide, as needed, the detailed information needed to estimate the costs in their areas of expertise.
Estimation Process, Version: 1.0
Page 1 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Estimation Method/Tool Expert (EM/TE):
One or more estimation method/tool experts provide, as needed, guidance in the use of the estimation methods and tools used to perform the estimate. Usage Scenarios
This process is used anytime an estimate is required. This process is typically used when the following events occur: Project Inception – Initial estimate before the official project startup Major Milestones – At each major milestone the project cost estimates should be refined with the improved data available Re-planning Events – Whenever a re-planning activity occurs the relevant cost estimates should be reevaluated as part of that re-planning.
Inputs
Currently available versions of the following as appropriate for the type of estimate to be performed: Design Information: Design Drawings Requirements Operational Concepts Specifications Interface Control Documents Equipment Lists Tools Lists Deliverables List Planning Information: All Plans (e.g., Software Management Plan/ Product P lan) Schedules Documented Commitments Maintenance Agreements Helpdesk Support Agreements Work Breakdown Structure Cost Information: Catalogs Vendor Quotes Historical Data GUIDANCE: Collect as many of the inputs as are available and appropriate at the time of the estimate. Later estimates should have access to more, and more complete, information sources.
Estimation Process, Version: 1.0
Page 2 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Entry Criteria
To enter this process: Project must be at initiation, one of the milestones selected for estimations, or a project re-planning that requires a new estimate, and … One or more of the required inputs must be available as appropriate for the type of estimate to be performed. GUIDANCE: Entering this process for the second or more time implies that additional and/or more accurate data is available compared to the previous entry to this process for a particular project estimate.
Exit Criteria
All outputs have been completed. GUIDANCE: The estimate is complete when all the objectives as defined in the estimation planning task and documented in the Basis of Estimate Overview and Scope are met.
Outputs
Estimation package containing: The completed estimate The Basis of Estimate (BOE) documenting the foundation for the estimate GUIDANCE: Store any supporting data or worksheets with the BOE.
Major Tasks
The EL shall: 1. Plan the estimate 2. Prepare for the estimate 3. Perform the estimate 4. Reconcile current & previous estimate (if any) 5. Complete the BOE GUIDANCE: The DE(s) provides domain information as requested by the EL. The EM/TE(s) provides guidance on estimation methods and tools as requested by the EL.
Estimation Process, Version: 1.0
Page 3 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Task 1
Plan the estimate. [EL, except as noted] a. Determine who the Estimation Lead is. [PLOSM or team consensus] b. Determine the project parameters: 1. Purpose of project 2. Physical location 3. Location within organizational structure 4. Sponsors/customers 5. Expected start & finish dates of project c. Determine the purpose of the estimate d. Select other estimation team members as needed: 1. Domain experts 2. Estimation methodology/tool experts e. Determine the scope parameters of the estimate [EL with help from DEs] 1. Period of performance 2. Tasks/components included (from WBS if available). GUIDANCE: Group these into work packages as appropriate. Estimates should be performed on a per work package basis. 3. Cost areas to be included. Typical areas are: i. Material ii. Equipment/Tools iii. Labor iv. Travel v. Transportation vi. Training vii. Facilities viii. Reserves f. Select estimation methodologies and tools [EL with help from EM/TEs] 1. Determine which estimation methods/tools will be used for each work package as appropriate. g. Create a schedule of estimation activities, including: 1. Start and finish dates for the estimate 2. Due dates for interim work products 3. Milestones for presentations of results as needed 4. Due dates of commitments by others to provide information, tools, etc. to the estimation team (if any). h. Document all of the above in the BOE
Estimation Process, Version: 1.0
Page 4 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Task 2
Prepare for the estimate. [EL with help from DEs] Prepare for the estimate by collecting all the necessary data to perform the estimate and making determinations to fill any holes: a. Collect any documents that contain project design information about the current project or from previous projects that can be used for reference. Typical examples of design information include: 1. design drawings 2. requirements 3. operational concepts 4. specifications 5. interface control documents 6. equipment lists 7. tools lists 8. deliverables lists b. Collect any documents that contain project planning information about the current project or from previous projects that can be used for reference. Typical examples of planning information include: 1. All project plans (e.g., the Software Management Plan) 2. Schedules 3. Documented commitments 4. Maintenance agreements 5. Helpdesk support agreements c. Determine any additional strategies required for the estimate that are not coved by the planning information collected. Examples include: 1. System/software complexity assessments 2. Software reuse assessments 3. Technical Readiness Level (TRL) assessment of the System/Software d. Determine what assumptions, if any, have been made regarding any of the planning information collected or determined above. e. Collect any documents that contain cost information relevant to the project, including historical data. Typical examples of cost information include: 1. Catalog prices 2. Vendor quotes 3. Historical databases 4. Expert opinions 5. Other input parameters needed for the selected estimation methodologies and tools not covered by the above f. Document all of the above in the BOE.
Estimation Process, Version: 1.0
Page 5 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Task 3
Perform the estimate. [EL with help from EM/TEs] a. For each work package, use the methodologies and/or tools defined in Task 1 to complete the estimates for each cost area of the work package. Use detailed worksheets for all of the calculations with sufficient explanatory information so that they will be understood when referenced later.
Table 1: Example Task Labor Summary Worksheet
FTE Calculations for WP1 WBS
Task Descri tion
Task hrs
Due Date
4.1.1.1
Pre are Re Doc
90
3/6/10
4.1.1.2
Pre are O s Conce t
40
3/6/10
4.1.2.1
Pre are Flow Chart
10
7/12/10
…
…
etc …
Total:
1100
Table 2: Example Labor Calculation Worksheet
CSCI New Software Labor calculations CSCI
Size (New SLOC)
Complexity/
Estimated New Lines per person per day
PersonDays of effort required
App 1
250
Large learning curve
6
41.67
App 2
175
Easy
7
25
difficulty
(etc.)
b. Add up the costs of each work package to get the overall project cost. c. Add the costs across work packages for each cost area to get the total cost per cost area. d. Document the results using tables similar to the ones below:
Estimation Process, Version: 1.0
Page 6 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Table 3: Example Cost Table
Work Package Name
Cost Area
Area Cost ($K)
Work Package Cost ($K)
WP1 – Software Develop.
Material
10
93
Labor
55 [1 FTE]
Travel
5
Training
23
WP2 – Facilities Develop.
Facilities
12
Equipment
45
WP3 – Customer Helpdesk Support
Labor
15 [.24 FTE]
Travel
2
57
Total:
17
167
Table 4: Example Cost per Cost Area Table
Cost Area
WP1
WP2
WP3
Totals ($K)
Material Equipment Labor Travel Transportation Training Facilities (etc.) Totals:
10 0 55 5 0 23 0 0 93
0 45 0 0 0 0 12 0 12
0 0 15 2 0 0 0 0 17
10 45 70 7 0 23 12 0 167
e. Assess and document the level of confidence you have in, and the fidelity of, the estimate based on the amount and quality of information available at the time the estimate was computed. GUIDANCE: Suggested terminology is “High” level of confidence indicates complete and accurate input information based on sound quantitative methods. “Medium” indicates somewhat incomplete/ambiguous inputs but no significant gaps and/or intuitive rather than quantitative methods used. “Low” indicates that significant gaps/ambiguous inputs exist and/or mostly intuitive methods used.
f.
Attach any worksheets or other interim work products generated in performing the estimate to the BOE
Estimation Process, Version: 1.0
Page 7 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Task 4
Reconcile current and previous Estimate (if any). [EL] a. If this is not the first estimate of this work, compare the results of this estimate to the previous estimate. b. Analyze and explain the causes of any significant differences between the two. c. Document the differences, analysis and explanation in the BOE.
Task 5
Complete the BOE. [EL] a. Review the Basis of Estimate (BOE) Guide to determine which sections are not yet in the BOE for the current estimate. b. Complete the missing sections as appropriate for the current estimate c. Store each BOE with its estimate (e.g., as attachment or within the same folder) and name it so that it is obvious which estimate it refers to. GUIDANCE: Some divisions may require a division-level review as an additional task if the estimate exceeds a particular value. Check with, and follow, division procedures before completing the estimate.
Measures
Required Measures:
Estimation Effort – keep track of the amount of time each contributor puts into each estimation and the total of all contributors. Cost Variance – keep track of the cost results from each estimate over time, particularly estimates tied to project milestones. Include the actual cost at the end of the project as the final entry. GUIDANCE: See the Project Cost Estimation Tracking Tool for the recommended method for recording the estimation measures. Reporting Measures: Measures should be reported to the SPI group after each new or updated estimate. GUIDANCE: Some divisions may require reporting metrics to the division management. Check with, and follow, division procedures for reporting metrics.
Estimation Process, Version: 1.0
Page 8 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Tools and Templates
Training
Name
Description
Project Cost Estimation Tracking Tool
Provides a convenient table for capturing the cost metrics. Also displays the data as bar charts. http://software.gsfc.nasa.gov/tools.cfm
System Evaluation and Estimation of Resources Software Estimation Model (SEER SEM)
GSFC has a site license of this tool that estimates software development and maintenance cost, effort, schedule, staffing, reliability and risk. It includes a knowledge base of algorithms to aid the in producing concept level estimates. SEER-SEM is sponsored by the Aeronautical Systems Center (ASC)/FME, Air Force Materiel Command (AFMC), and is currently used throughout the Department of Defense. http://www.deskbook.osd.mil/software/24.jsp
Course Name
Quantitative Software Management Class
Description
Cost estimation topics covered include software estimating methods and models, software development estimation, software development metrics, cost drivers, productivity, common errors in software estimation, rules of thumb, software productivity databases, and risk reduction/mitigation.
Training availability can be checked at http://software.gsfc.nasa.gov/training.htm. References
Cost and Schedule Estimating: NASA PAL Estimation page GPR-7120.1C: Program and Project Management GPR-8700.5A: In-House Development and Maintenance of Software Products 580-PG-8730.3.1: Product Development Handbook 580-PL-002-01: GSFC Software Policies 580-PR-004-01: GSFC Project Planning Process Wideband Delphi Estimation procedure Software Projects Lessons Learned Software Estimates/Actuals Database Glossary: http://software.gsfc.nasa.gov/glossary.cfm Defines common terms used in ISD processes Process Asset Library: http://software.gsfc.nasa.gov/process.cfm Library of all GSFC process descriptions
Estimation Process, Version: 1.0
Page 9 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .
Quality Management System Records
Controlled Document / Description
Record Custodian
Controlled Doc Name: Project Estimation
PDL
package
Change History
Version
Date
1.0
9/19/09
Estimation Process, Version: 1.0
Description of Improvements
Initial approved version by CCB
Page 10 of 10
September 19, 2009
Check the Process Asset Library at http://software.gsfc.nasa.gov/process.cfm to obtain the latest version. NOTE: Words or phrases shown in blue underlined contain links to additional information. Guidance & tailoring information is shown in italics with gray background .