See edit history of this section
Post feedback on this section
1. Requirements
2.1.5.10 For Class A, B, and C software projects, each Center Director, or designee, shall establish and maintain software cost repository(ies) that contains at least the following measures:
a. Planned and actual effort and cost.
b. Planned and actual schedule dates for major milestones.
c. Both planned and actual values for key cost parameters that typically include software size, requirements count, defects counts for maintenance or sustaining engineering projects, and cost model inputs.
d. Project descriptors or metadata that typically includes software class, software domain/type, and requirements volatility.
1.1 Notes
NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.
1.2 History
2. Rationale
Establishing, maintaining, and using a cost repository enables projects and programs to develop credible software cost estimates.
3. Guidance
3.1 Cost Repository
A cost repository is a tool for capturing and maintaining the historical project data useful for generating project estimates.
Software organizations and those supporting the cost estimation process should maintain a historical record of the data used to generate the cost estimates as well as the actual costs associated with those projects. Comparing the actual costs to the estimated costs and determining the basis for the differences allows for improved accuracy in future estimations. Additionally, data in cost repositories can help determine project cost growth over time and deviation between estimates and actuals.
Cost repositories are useful during all levels of planning: proposals, concept studies, feasibility studies, detailed task planning, as well as independent cost assessments. Cost repositories should be populated during the cost estimation process and updated throughout the process so that the data in the repository accurately reflects the data used as the basis for the cost estimate. The data need to be “sufficient to break them down to the lower levels needed to estimate various [work breakdown structure] (WBS) elements.” 419 Additionally, cost model inputs should have a pedigree associated with them.
See also SWE-015 - Cost Estimation, SWE-151 - Cost Estimate Conditions,
3.2 Cost Repository Data
Cost repositories should contain technical, schedule, program, and cost data in a format that allows meaningful data roll-up and comparison across multiple projects. The recommended minimum data set includes:
- Planned and actual effort.
- Planned and actual schedule dates (e.g., start, major milestones, completion).
- Planned and actual cost.
- Planned and actual values for key cost parameters such as:
- Software size (e.g., lines of new, reused, and modified-reused code).
- Requirements count.
- Defects count for maintenance or sustaining engineering projects.
- Cost model inputs (e.g., complexity, requirements volatility).
- Project descriptors or metadata that typically includes software class, software domain/type, and requirements volatility.
Additional repository data could include:
- Project name, organization.
- Platform.
- Software language.
- Software classification.
- Safety-criticality.
- Constraints (e.g., resources, budget, schedule).
See also SWE-091 - Establish and Maintain Measurement Repository.
3.3 Data Retention and Reporting
A cost repository could be a simple spreadsheet or a database depending on the amount of data to be stored and maintained for the organization as well as the number of stakeholders who need to access, use, and maintain the data. The implementation tool could also depend upon the type of analysis that will be performed on the data and whether there is a benefit to having the tool perform some of that analysis.
Data in cost repositories should be reported to or accessible by organizational and Center-level data systems for organizational or Center-level analysis, measurements, and process improvements.
See also SWE-090 - Management and Technical Measurements,
3.4 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook:
Related Links |
---|
3.5 Center Process Asset Libraries
SPAN - Software Processes Across NASA
SPAN contains links to Center managed Process Asset Libraries. Consult these Process Asset Libraries (PALs) for Center-specific guidance including processes, forms, checklists, training, and templates related to Software Development. See SPAN in the Software Engineering Community of NEN. Available to NASA only. https://nen.nasa.gov/web/software/wiki 197
See the following link(s) in SPAN for process assets from contributing Centers (NASA Only).
SPAN Links |
---|
4. Small Projects
No additional guidance is available for small projects. The community of practice is encouraged to submit guidance candidates for this paragraph.
5. Resources
5.1 References
- (SWEREF-197) Software Processes Across NASA (SPAN) web site in NEN SPAN is a compendium of Processes, Procedures, Job Aids, Examples and other recommended best practices.
- (SWEREF-419) GAO-09-3SP. United States Government Accountability Office. Applied Research and Methods. March, 2009.
- (SWEREF-460) NPR 7150 traced to NASA-STD-8739 8 and NASA-STD-8719 13B_20100924 This NASA-specific information and resource is available in Software Processes Across NASA (SPAN), accessible to NASA-users from the SPAN tab in this Handbook.
- (SWEREF-567) Public Lessons Learned Entry: 1772.
5.2 Tools
NASA users find this in the Tools Library in the Software Processes Across NASA (SPAN) site of the Software Engineering Community in NEN.
The list is informational only and does not represent an “approved tool list”, nor does it represent an endorsement of any particular tool. The purpose is to provide examples of tools being used across the Agency and to help projects and centers decide what tools to consider.
6. Lessons Learned
6.1 NASA Lessons Learned
The NASA Lessons Learned database contains the following lessons learned related to cost estimation:
- Know-How Your Software Measurement Data Will Be Used. Lesson Number 1772 567: When software measurement data used to support cost estimates is provided to NASA by a project without an understanding of how NASA will apply the data, discrepancies may produce erroneous cost estimates that disrupt the process of project assessment and approval. Major flight projects should verify how NASA plans to interpret such data and use it in their parametric cost estimating model, and consider duplicating the NASA process using the same or a similar model prior to submission.
6.2 Other Lessons Learned
No other Lessons Learned have currently been identified for this requirement.
0 Comments