4.4.6 Each NASA Mission Directorate shall establish its own software measurement system to include the minimum reporting requirements in SWE-091. NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement. This requirement applies to Mission Directorates at NASA Headquarters. Class A_SC A_NSC B_SC B_NSC C_SC C_NSC D_SC D_NSC E_SC E_NSC F G H Applicable? Key: A_SC = Class A Software, Safety-Critical | A_NSC = Class A Software, Not Safety-Critical | ... | - Applicable | - Not Applicable The intent of the requirement is for a Mission Directorate to assess and define a software measurement system with reporting requirements necessary to manage and provide insight needed on Mission Directorate projects. The minimum reporting requirements can vary by Mission Directorate project or product line. The projects have metrics requirements and those requirements need to support the Mission Directorate to assess and define a software measurement system with reporting requirements. Software measurement programs are established to meet measurement objectives and goals at multiple levels. The data gained from these measurement programs are used in the management of projects, for assuring safety and quality, and in improving overall software engineering practices. In general, the Mission Directorate/Mission Support Office level measurement systems are designed to meet the following high level goals: With these high-level goals in mind, Mission Directorates are to establish specific measurement systems for their particular programs and projects to enable reporting on the minimum requirements categories listed in SWE-091, and repeated here: Once these software measurement systems are established, the software measures and analysis results that emanate from them enable Directorate-wide assessments of the abilities and skills in the workforce, and potential opportunities for improving the software development. Each Mission Directorate develops its own measurement system, tailoring it to its needs and objectives, and basing it on an understanding of its unique development environment used for executing its programs and projects. Software measurement systems have three components: Source of data, technical support, and analysis and packaging. An agreed-to plan for the software measurement system usually accounts for the proper execution of the collection of the data. Data sourcing activities include: The data collection efforts conducted by the personnel supporting the Mission Directorate's activities occur more efficiently if the personnel time is minimized, if the volume and extent of the software measurements are properly planned, optimized, and directly related to the Directorate's goals, and the support personnel are properly trained in the software measurement system to perform the work. As listed in SWE-091, and in the section on rationale above, this requirement calls for measures to be collected for category listings of software progress tracking, software functionality, software quality, software requirements volatility, and software characteristics. Example sets for each of these measures are listed in SWE-117. The selected measures are recorded in suitable Mission Directorate guidelines, planning documents, and data repositories. Remember that software measurement is a means to an end, not an end itself. Selected measures are to be obtained to support the achievement of a goal. As the Mission Directorate objectives evolve and mature, the software measurement system is reviewed, and updated, if necessary and beneficial. No additional guidance is available for small projects. The community of practice is encouraged to submit guidance candidates for this paragraph. Tools to aid in compliance with this SWE, if any, may be found in the Tools Library in the NASA Engineering Network (NEN). 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. 1. Selection and use of Software Metrics for Software Development Projects, Lesson No. 3556: "The design, development, and sustaining support of Launch Processing System (LPS) application software for the Space Shuttle Program provide the driving event behind this lesson. "Metrics or measurements should be used to provide visibility into a software project's status during all phases of the software development life cycle in order to facilitate an efficient and successful project." The Recommendation states that "As early as possible in the planning stages of a software project, perform an analysis to determine what measures or metrics will used to identify the 'health' or hindrances (risks) to the project. Because collection and analysis of metrics require additional resources, select measures that are tailored and applicable to the unique characteristics of the software project, and use them only if efficiencies in the project can be realized as a result. The following are examples of useful metrics: 2. Flight Software Engineering Lessons, Lesson No. 2218: "The engineering of flight software (FSW) for a typical NASA/Caltech Jet Propulsion Laboratory (JPL) spacecraft is a major consideration in establishing the total project cost and schedule because every mission requires a significant amount of new software to implement new spacecraft functionality." The lesson learned Recommendation No. 8 provides this step as well as other steps to mitigate the risk from defects in the FSW development process: "Use objective measures to monitor FSW development progress and to determine the adequacy of software verification activities. To reliably assess FSW production and quality, these measures should include metrics such as the percentage of code, requirements, and defined faults tested, and the percentage of tests passed in both simulation and test bed environments. These measures should also identify the number of units where both the allocated requirements and the detailed design have been baselined, where coding has been completed and successfully passed all unit tests in both the simulated and test bed environments, and where they have successfully passed all stress tests." 572
See edit history of this section
Post feedback on this section
1. Requirements
1.1 Notes
1.2 Applicability Across Classes
X - Applicable with details, read above for more | P(C) - P(Center), follow center requirements or procedures2. Rationale
3. Guidance
4. Small Projects
5. Resources
5.1 Tools
6. Lessons Learned
SWE-095 - Directorate Measurement System
Web Resources
View this section on the websiteUnknown macro: {page-info}