![](media/image1.png){width="1.125in" height="1.0118055555555556in"}

ISD Software Project Estimation

**Number:** 580-SP-026-01 **Approved By:** (signature)

**Effective Date:** June 20, 2005 **Name:** Joe Hennessy

**Expiration Date:** June 20, 2010 **Title:** Chief, ISD

**Responsible Office:** 580/Information Systems Division (ISD) **Asset
Type:** Sub-process

######### Title: ISD Software Project Estimation PAL Number: 1.2.1

  -------------- --------------------------------------------------------
  **Purpose**    The purpose of this sub-process is to help projects
                 accurately and consistently estimate the size and
                 complexity, effort, schedule, and cost of the software
                 development project, and to document the basis of
                 estimates (BOEs).

  -------------- --------------------------------------------------------

  -------------- --------------------------------------------------------
  Scope          This sub-process operates within the Project Planning
                 Process. It applies to the initial estimation performed
                 during Project Planning, estimate updates at major
                 milestones **and** to any re-planning that may be
                 necessary. This sub-process is applicable to all ISD
                 mission software projects.

  -------------- --------------------------------------------------------

+-------------+--------------------------------------------------------+
| **Context   |                                                        |
| Diagram**   |                                                        |
+-------------+--------------------------------------------------------+
| Roles and   | **Product Development Lead (PDL):**                    |
|             |                                                        |
| Respo       | Conducts software project estimation and is            |
| nsibilities | responsible for the documentation of estimates.        |
|             |                                                        |
|             | **Development Team Lead(s):**                          |
|             |                                                        |
|             | Supports the PDL in executing this process.            |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Usage       | This sub-process is entered from the Project Planning  |
| Scenarios   | Process. There are three usage scenarios:              |
|             |                                                        |
|             | -   Initial entry at inception of the software         |
|             |     development or maintenance project                 |
|             |                                                        |
|             | -   Subsequent re-entry during next milestone update   |
|             |                                                        |
|             | -   Subsequent re-entry during a re-plan               |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Inputs      | While the following may still be under development,    |
|             | proceed with the best information available (and       |
|             | iterate/refine as more information is available)       |
|             | regarding:                                             |
|             |                                                        |
|             | -   Requirements                                       |
|             |                                                        |
|             | -   List of Deliverables                               |
|             |                                                        |
|             | -   Development/Acquisition Strategy                   |
|             |                                                        |
|             | -   A list of COTS, GOTS, and reused software          |
|             |     components                                         |
|             |                                                        |
|             | -   High Level Work Breakdown Structure (WBS)          |
|             |                                                        |
|             | -   (For re-entry during re-planning) Risk Management  |
|             |     Plan and Database                                  |
|             |                                                        |
|             | -   Historical project data and personal experience    |
|             |                                                        |
|             | -   Skills and experience levels required              |
|             |                                                        |
|             | -   Full cost labor rates for skill types              |
|             |                                                        |
|             | *Guidance: Input comes from Project Formulation,       |
|             | Project Planning, and Project Monitoring and Control   |
|             | Processes. The activities within the Project Planning  |
|             | process are iterative/interdependent and estimation    |
|             | activities may be "entered" multiple times. Also,      |
|             | input to estimation should be solicited from multiple  |
|             | Project Planning tasks. For example, input to          |
|             | estimation should be solicited from the "Identify      |
|             | Personnel and other Resources" and "Risk               |
|             | Identification and Planning" activities.*              |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Entry       | All inputs are required and one of the following:      |
| Criteria    |                                                        |
|             | -   Initiation of development project or,              |
|             |                                                        |
|             | -   Next milestone planning or,                        |
|             |                                                        |
|             | -   Identification of need to re-plan                  |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Exit        | All outputs are required and both of the following:    |
| Criteria    |                                                        |
|             | -   Documentation of estimates and BOE                 |
|             |                                                        |
|             | -   Documentation of management approval               |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Output      | Estimation Package (or Notebook) containing:           |
|             |                                                        |
|             | -   Size estimates and BOE                             |
|             |                                                        |
|             | -   Effort estimate (including BOE and applied against |
|             |     schedule and WBS)                                  |
|             |                                                        |
|             | -   Schedule estimate (including BOE)                  |
|             |                                                        |
|             | -   Cost estimate (including BOE and applied against   |
|             |     schedule and WBS)                                  |
|             |                                                        |
|             | -   Refined total life-cycle cost (including BOE)      |
|             |                                                        |
|             | -   Actuals history for use in future estimation       |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Major Tasks | The PDL shall perform sequentially and iteratively     |
|             | (for the tasks 1-4) as necessary:                      |
|             |                                                        |
|             | 1.  Estimate software size and document BOE            |
|             |                                                        |
|             | 2.  Estimate labor and document BOE                    |
|             |                                                        |
|             | 3.  Estimate schedule and document BOE                 |
|             |                                                        |
|             | 4.  Estimate costs and document BOE -- ensure all cost |
|             |     information is held as proprietary                 |
|             |                                                        |
|             | 5.  Finalize and approve estimates and BOE             |
|             |                                                        |
|             |     *GUIDANCE: The Development Team Leads have         |
|             |     secondary responsibility and support the PDL in    |
|             |     each of the Major Tasks.*                          |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Task 1:     | **Estimate Software Size and Document the BOE**        |
|             |                                                        |
|             | a)  Determine sizing estimation method. Typical        |
|             |     methods of software estimation include:            |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | 1.  Count of subsystems or subroutines                 |
|             |                                                        |
|             | 2.  Analogous efforts                                  |
|             |                                                        |
|             | 3.  Expert judgment (see "[Wideband Delphi             |
|             |     Est                                                |
|             | imation](http://software.gsfc.nasa.gov/ISDpaAll.cfm)") |
|             |                                                        |
|             | 4.  Function point estimate                            |
|             |                                                        |
|             | 5.  Lines of code estimate                             |
|             |                                                        |
|             |     *Guidance: There are trade-offs with each method   |
|             |     of estimation. Select the method that provides     |
|             |     adequate accuracy from appropriate time and        |
|             |     effort. Other criteria such as number of pages in  |
|             |     documents or numbers, classes / objects, volume of |
|             |     data, the number of displays / reports or number   |
|             |     and complexity of functions may also be considered |
|             |     as appropriate. Consider the development of        |
|             |     multiple independent estimates that are then       |
|             |     reconciled.*                                       |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | b)  Use the selected estimation method to estimate the |
|             |     size of the software to be developed               |
|             |                                                        |
|             | *Guidance: The criteria/thought-process that           |
|             | justified/resulted in the estimate(s) is documented in |
|             | the BOE. This basis should be developed with (or       |
|             | before) the actual estimate.*                          |
|             |                                                        |
|             | c)  Determine the degree of uncertainty in the         |
|             |     estimate, considering requirements completeness,   |
|             |     stability, and risk of Technical Approach          |
|             |                                                        |
|             | *Guidance: Uncertainty can be expressed descriptively  |
|             | (e.g., "rough", "ballpark", "firm", "high", or "low")  |
|             | or as a numeric proportion. This degree of uncertainty |
|             | is necessary to understand the range of possible       |
|             | values and prepare appropriate reserves*               |
|             |                                                        |
|             | d)  Document all assumptions, estimates, uncertainty,  |
|             |     and BOE                                            |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Task 2:     | **Estimate Labor and Document BOE**                    |
|             |                                                        |
|             | a)  Determine effort estimation method                 |
|             |                                                        |
|             | b)  Estimate effort taking into account the WBS,       |
|             |     software size/complexity, and uncertainty.         |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | 1.  The estimates can be determined from various       |
|             |     perspectives, including:                           |
|             |                                                        |
|             |     a.  Internal (Civil Servant) and external          |
|             |         (contractor) labor                             |
|             |                                                        |
|             |     b.  Development, support, and operations labor     |
|             |                                                        |
|             |     c.  Labor for work products                        |
|             |                                                        |
|             |     d.  Labor for WBS elements                         |
|             |                                                        |
|             | 2.  Methods of performing estimates includes:          |
|             |                                                        |
|             |     a.  Analogous efforts                              |
|             |                                                        |
|             |     b.  Expert judgment (see "[Wideband Delphi         |
|             |         Est                                            |
|             | imation](http://software.gsfc.nasa.gov/ISDpaAll.cfm)") |
|             |                                                        |
|             |         GUIDANCE: The branch and/or project may have   |
|             |         specific procedures or desk instructions       |
|             |         regarding the method for estimating effort.    |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | c)  Determine degree of uncertainty in estimates       |
|             |                                                        |
|             | d)  Document the estimate, uncertainty, and BOE        |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Task 3:     | **Estimate Schedule and Document BOE**                 |
|             |                                                        |
|             | a)  Estimate total schedule duration                   |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | 1.  Methods of performing estimates includes:          |
|             |                                                        |
|             |     a.  Analogous efforts                              |
|             |                                                        |
|             |     b.  Expert judgment (see "[Wideband Delphi         |
|             |         Est                                            |
|             | imation](http://software.gsfc.nasa.gov/ISDpaAll.cfm)") |
|             |                                                        |
|             |         GUIDANCE: The branch and/or project may have   |
|             |         specific procedures or desk instructions       |
|             |         regarding the method for estimating effort.    |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | b)  Identify timing of life-cycle phases, major        |
|             |     milestones, subsystems, configuration items and    |
|             |     major activities                                   |
|             |                                                        |
|             | c)  Develop schedule consistent with WBS               |
|             |                                                        |
|             | d)  Document BOE                                       |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Task 4:     | **Estimate Costs in Dollars and document BOE**         |
|             |                                                        |
|             | a)  Estimate labor costs taking size, complexity,      |
|             |     effort, schedule and staffing profile (skill mix   |
|             |     and staffing levels) into consideration.           |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | 1.  Methods of performing estimates includes:          |
|             |                                                        |
|             |     a.  Analogous efforts                              |
|             |                                                        |
|             |     b.  Expert judgment (see "[Wideband Delphi         |
|             |         Est                                            |
|             | imation](http://software.gsfc.nasa.gov/ISDpaAll.cfm)") |
|             |                                                        |
|             | 2.  Ensure the following are considered as             |
|             |     appropriate:                                       |
|             |                                                        |
|             |     a.  Internal (Civil Servant) labor                 |
|             |                                                        |
|             |     b.  Contractor labor                               |
|             |                                                        |
|             |     c.  Development and non-development (e.g.,         |
|             |         management and support, requirements           |
|             |         management, CM) labor                          |
|             |                                                        |
|             |     d.  Operations Labor                               |
|             |                                                        |
|             |     e.  Labor for work products                        |
|             |                                                        |
|             |     f.  Labor for WBS elements                         |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | b)  Estimate procurement and facilities costs which    |
|             |     typically include:                                 |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | 1.  COTS software                                      |
|             |                                                        |
|             | 2.  Hardware                                           |
|             |                                                        |
|             | 3.  Tools                                              |
|             |                                                        |
|             | 4.  Facilities (including tracking stations)           |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | c)  Estimate "other" costs which typically include:    |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | 1.  Other contract costs (e.g., award fees) -- ensure  |
|             |     all cost information is held as proprietary        |
|             |                                                        |
|             | 2.  Development/test/operations/maintenance            |
|             |     environments                                       |
|             |                                                        |
|             | 3.  Travel                                             |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | d)  Determine/refine total life-cycle cost by year and |
|             |     quarter                                            |
|             |                                                        |
|             | e)  Document BOE                                       |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| Task 5:     | **Finalize and Approve Estimates and BOE**             |
|             |                                                        |
|             | a)  Distribute estimates to senior management and      |
|             |     stakeholders for review, comment, and concurrence  |
|             |                                                        |
|             | b)  Address comments as necessary                      |
|             |                                                        |
|             | c)  Document senior management approval                |
|             |                                                        |
|             | *Guidance: The Software Manager and higher level       |
|             | management need to be aware of the degree of           |
|             | uncertainty in estimates and the software risks that   |
|             | could impact the Software Project. Responsibility for  |
|             | tracking risks -- and appropriate reserves -- must be  |
|             | negotiated and clearly defined. Feedback from this     |
|             | process may cause earlier tasks to be revisited        |
|             | resulting in updated estimates and BOE.*               |
+-------------+--------------------------------------------------------+

+-------------+--------------------------------------------------------+
| *           | Recommended Measures:                                  |
| *Measures** |                                                        |
|             | -   Actual effort spent on estimation                  |
+-------------+--------------------------------------------------------+

+-------------+------------------+------------------------------------+
| **Tools and | **Name**         | **Description**                    |
| Templates** |                  |                                    |
+-------------+------------------+------------------------------------+
|             | *Software        | Repository of baselined estimates  |
|             | estimates /      | and project actuals (TBD)          |
|             | actuals          |                                    |
|             | database*        |                                    |
+-------------+------------------+------------------------------------+
|             | [*FSW Cost       | FSW costing tool with embedded     |
|             | Estimation       | guidelines (TBD)                   |
|             | Spreadshe        |                                    |
|             | et/Guidelines*]( |                                    |
|             | http://software. |                                    |
|             | gsfc.nasa.gov/to |                                    |
|             | olsDetail.cfm?se |                                    |
|             | lTool=1.2.1.1.1) |                                    |
+-------------+------------------+------------------------------------+
|             | [*FSW            | Database of actuals (TBD)          |
|             | Complexities &   |                                    |
|             | Cost Comparisons |                                    |
|             | Database*](      |                                    |
|             | http://software. |                                    |
|             | gsfc.nasa.gov/to |                                    |
|             | olsDetail.cfm?se |                                    |
|             | lTool=1.2.1.1.2) |                                    |
+-------------+------------------+------------------------------------+
|             | [Point Counting  | Spreadsheets to support the        |
|             | Spreadsheets     | monitoring of work that 1) have a  |
|             | ](http://softwar | moderate number of known tasks and |
|             | e.gsfc.nasa.gov/ | 2) have task dependencies which    |
|             | toolsDetail.cfm? | are not a serious source of risk.  |
|             | selTool=1.4.2.1) | The spreadsheets can display trend |
|             |                  | information to provide insight     |
|             |                  | into progress including the        |
|             |                  | ability to meet schedules.         |
+-------------+------------------+------------------------------------+
|             | System           | GSFC has a site license of this    |
|             | Evaluation and   | tool that estimates software       |
|             | Estimation of    | development and maintenance cost,  |
|             | Resources        | effort, schedule, staffing,        |
|             | Software         | reliability and risk. It includes  |
|             | Estimation Model | a knowledge base of algorithms to  |
|             | [SEER            | aid the in producing concept level |
|             | S                | estimates. SEER-SEM is sponsored   |
|             | EM](http://www.d | by the Aeronautical Systems Center |
|             | eskbook.osd.mil/ | (ASC)/FME, Air Force Materiel      |
|             | software/24.jsp) | Command (AFMC), and is currently   |
|             |                  | used throughout the Department of  |
|             |                  | Defense.                           |
+-------------+------------------+------------------------------------+
|             | [Ask             | An agency wide cost estimation and |
|             | Pete](h          | planning tool used at GSFC based   |
|             | ttp://smad-ext.g | on COCOMO II which provides:       |
|             | rc.nasa.gov/rmo/ |                                    |
|             | pete/index.html) | -   Cost and schedule estimates    |
|             |                  |                                    |
|             |                  | -   Recommended control level      |
|             |                  |     which should be used for the   |
|             |                  |     project                        |
|             |                  |                                    |
|             |                  | -   Recommended documents and      |
|             |                  |     plans which should be prepared |
|             |                  |     during development             |
|             |                  |                                    |
|             |                  | -   Descriptions of the typical    |
|             |                  |     activities that should be      |
|             |                  |     performed during each phase    |
|             |                  |     based on the identified        |
|             |                  |     control level                  |
|             |                  |                                    |
|             |                  | -   A schedule and estimate of     |
|             |                  |     Software Assurance activities  |
|             |                  |                                    |
|             |                  | -   An evaluation of the           |
|             |                  |     likelihood and consequences of |
|             |                  |     failure for a project and      |
|             |                  |     recommended IV&V and           |
|             |                  |     Independent Assessment         |
|             |                  |     activities.                    |
|             |                  |                                    |
|             |                  | This system is customizable with   |
|             |                  | the entire rulebase is stored in a |
|             |                  | Microsoft Access database which    |
|             |                  | can be edited to delete, modify or |
|             |                  | add additional factors.            |
+-------------+------------------+------------------------------------+
|             | [GiSMOW](htt     | A GSFC developed web-based ground  |
|             | p://idcsvr5.gsfc | system and mission operation cost  |
|             | .nasa.gov:8080/G | estimating tool which covers the   |
|             | iSMOW/index.jsp) | space to ground link and the       |
|             |                  | mission operations portion of the  |
|             |                  | ground system. Not a parametric    |
|             |                  | cost model; instead it is intended |
|             |                  | to capture cost estimates          |
|             |                  | performed for missions in the IMDC |
|             |                  | or missions in formulation.        |
|             |                  |                                    |
|             |                  | GiSMOW features:                   |
|             |                  |                                    |
|             |                  | -   A work breakdown structure     |
|             |                  |     that can be customized by the  |
|             |                  |     user                           |
|             |                  |                                    |
|             |                  | -   Mission milestones to ease the |
|             |                  |     effort in updating a cost      |
|             |                  |     estimate due to schedule       |
|             |                  |     changes                        |
|             |                  |                                    |
|             |                  | -   Skill rates and inflation      |
|             |                  |     rates                          |
|             |                  |                                    |
|             |                  | -   Default/historic effort by     |
|             |                  |     activity curves or levels of   |
|             |                  |     effort                         |
|             |                  |                                    |
|             |                  | -   Reports of cost by quarter or  |
|             |                  |     year and by fixed dollars or   |
|             |                  |     real year dollars              |
|             |                  |                                    |
|             |                  | -   Export of the cost estimate to |
|             |                  |     Excel spreadsheets             |
|             |                  |                                    |
|             |                  | -   Pre-built templates and sample |
|             |                  |     missions                       |
|             |                  |                                    |
|             |                  | -   Built-in wizards               |
+-------------+------------------+------------------------------------+

  -------------- ---------------------------------------------------------- ------------------------------------
  **Training**   **Course Name**                                            **Description**

                 [Quantitative Software Management                          Cost estimation topics covered
                 Class](http://software.gsfc.nasa.gov/QSMindex.html)        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.

                 [Software Project                                          Week long project management class.
                 Management](http://software.gsfc.nasa.gov/classlist.cfm)   Course ID HQ0005
  -------------- ---------------------------------------------------------- ------------------------------------

+-------------+--------------------------------------------------------+
| **R         | -   [Cost and Schedule                                 |
| eferences** |     Es                                                 |
|             | timating](http://www.swpal.nasa.gov/center/gsfc/est/): |
|             |     NASA PAL Estimation page                           |
|             |                                                        |
|             | -   [JPL Software Cost Estimation                      |
|             |     Handbook](http://www                               |
|             | .swpal.nasa.gov/center/jpl/JPL_SW_Cost_Estimation.pdf) |
|             |                                                        |
|             | -   *FSW Estimation Procedure* (TBD)                   |
|             |                                                        |
|             | -   [GPR-7120.1C](http://gdm                           |
|             | s.gsfc.nasa.gov/gdmsnew/master_list2.jsp?doc_id=1209): |
|             |     Program and Project Management                     |
|             |                                                        |
|             | ```{=html}                                             |
|             | <!-- -->                                               |
|             | ```                                                    |
|             | -   [GPR-8700.5A](http://gdm                           |
|             | s.gsfc.nasa.gov/gdmsnew/master_list2.jsp?doc_id=2403): |
|             |     In-House Development and Maintenance of Software   |
|             |     Products                                           |
|             |                                                        |
|             | -   [580-PG-                                           |
|             | 8730.3.1](http://isd.gsfc.nasa.gov/iso9k/iso9001.htm): |
|             |     Product Development Handbook                       |
|             |                                                        |
|             | -   [580-PL-002-01](http://sof                         |
|             | tware.gsfc.nasa.gov/assetsapproved/pa1.0.0.1.doc)**:** |
|             |     ISD Software Policies                              |
|             |                                                        |
|             | -   [580-PR-004-01](ht                                 |
|             | tp://software.gsfc.nasa.gov/AssetsApproved/PA1.2.doc): |
|             |     ISD Project Planning Process                       |
|             |                                                        |
|             | -   [Wideband Delphi Estimation                        |
|             |                                                        |
|             | procedure](http://software.gsfc.nasa.gov/ISDpaAll.cfm) |
|             |                                                        |
|             | -   Software Projects [Lessons                         |
|             |     Le                                                 |
|             | arned](http://software.gsfc.nasa.gov/lessonslinks.htm) |
|             |                                                        |
|             | -   [Software Estimates/Actuals                        |
|             |     Database](http://s                                 |
|             | oftware.gsfc.nasa.gov/toolsDetail.cfm?selTool=1.2.1.1) |
|             |                                                        |
|             | []{.mark}                                              |
|             |                                                        |
|             | -   **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 ISD process descriptions            |
+-------------+--------------------------------------------------------+

  -------------- --------------------------------------------- -------------
  **Quality      **Controlled Document / Description**         **Record
  Management                                                   Custodian**
  System                                                       
  Records**                                                    

                 **Controlled Doc Name:** Project Estimation   **PDL**
                 Package                                       
  -------------- --------------------------------------------- -------------

+-------------+-------+-------+---------------------------------------+
| **Change    | ####  | #     | **Description of Improvements**       |
| History**   | ## Ve | ##### |                                       |
|             | rsion |  Date |                                       |
+-------------+-------+-------+---------------------------------------+
|             | 1.0   | June  | Initial approved version by CCB       |
|             |       | 20,   |                                       |
|             |       | 2005  |                                       |
+-------------+-------+-------+---------------------------------------+
|             | ##    | ##    |                                       |
|             | ####  | ####  |                                       |
+-------------+-------+-------+---------------------------------------+