See edit history of this section
Post feedback on this section
- 1. The Requirement
- 2. Rationale
- 3. Guidance
- 4. Small Projects
- 5. Resources
- 6. Lessons Learned
- 7. Software Assurance
1. Requirements
3.1.7 The project manager shall define and document the milestones at which the software developer(s) progress will be reviewed and audited.
1.1 Notes
NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.
1.2 History
1.3 Applicability Across Classes
Classes F and G are labeled as "X (not OTS)" which means that the project is required to meet this requirement for all software that is not considered off-the-shelf.
Class A B C D E F Applicable?
Key: - Applicable | - Not Applicable
2. Rationale
For any software project, it is critical for management to review progress early and periodically to ensure the project remains on schedule, is progressing toward implementation of the requirements, and ultimately is addressing the customer's needs. It is also important for management to confirm periodically that the technical goals of the project are being achieved and that the technical direction of the project is appropriate (NPR 7123.1, NASA Systems Engineering Processes and Requirements). 041 Milestone reviews provide this type of management visibility into a project.
For software development that is acquired (supplied by a contractor), having regular progress reviews is even more important since these reviews are the keys to ensuring the contractor understood and will provide the product that NASA requested and that meets NASA's requirements for safety, quality, reliability, etc.
Milestone reviews can also serve to facilitate and ensure coordination between multiple development groups including development groups at multiple NASA Centers and contractors.
3. Guidance
The purpose of the milestone review meeting is to review the overall milestone progress and accomplishments at selected milestones/phases during the project life cycle. Milestone reviews are generally defined by the project manager. This meeting also facilitates the project team to have a get-together with higher management and other stakeholders and to discuss project issues; share lessons learned and suggest improvements for the next milestones.
3.1 Why Do Milestones Matter?
The use of project milestones is essentially a scheduling strategy. In smaller projects, you may only have two milestones: the project start and end dates. Milestones are also less common in Agile projects as the Agile Methodology focuses on short iterations and evolving schedules and plans. Within an Agile project, the only milestones may be at the end of each sprint. Milestones are more common in traditional project management methodologies that follow a more structured approach to planning and scheduling.
Milestones help ensure that critical project deadlines are met. Often these deadlines are dictated to you by the customer or project sponsor. For example, if you are developing software to support a space flight project the project manager would likely tell you when they want to see the first draft and when they expect to receive the final product. Both of these dates are milestones.
Milestones can also act as mile markers on long projects. For instance, let’s say you have a year-long project to complete a new product release. We can assume that the work effort is estimated to be fairly steady throughout the entire project. This means that, at the three-month mark, the project should be 25% complete, at the six-month mark it should be 50% complete, and at the nine-month mark, it should be 75% complete.
A milestone may be created at each of these points to assess actual progress compared with expected progress. If you arrive at the three-month mark to discover the project is only 15% complete, you now have an early warning sign that there may be a problem and the expected end date might be at risk.
Milestones are also useful for communicating project success. When you’re in the middle of a complex project, it can be difficult to determine who is accomplishing what. You can become so focused on the minutiae of each task that you lose perspective.
But with milestones, you can easily move away from the task level and see the overall progress more clearly. Plus, regularly communicating the milestones you’ve met is a great way to gain trust and keep stakeholders updated on their investments even before the project is completed.
See also 7.08 - Maturity of Life Cycle Products at Milestone Reviews, 7.09 - Entrance and Exit Criteria.
3.2 How To Select Milestones
When creating your own project management schedule, it can be challenging to determine what to set as milestones. Too few milestones may not provide you with enough project oversight, but too many milestones clutter up your reports and reduce their value.
Achieve the right balance, it’s not as simple as just listing every deliverable due date. Project milestones need to have a clear and consistent meaning, both throughout and across projects. For instance, if “submission of initial draft” is a milestone on one project, it should be a milestone on all similar projects. This creates consistency for reporting, which enables stakeholders to better understand the overall progress of all projects.
If you’re not sure what should and should not be a milestone, the following questions may help:
- Is it an activity that requires time, or is it an end product?
- Will it impact the final deadline?
- Is it an important moment in the project?
- Will it be a strong indicator of overall project progress?
- Does it need to be reviewed and approved by stakeholders?
- Is it an event that impacts the project?
Key deliverables owed to you by outside parties are also useful deadlines. For instance, imagine that you require a subcontractor to complete some sub-assembly before your team can begin production. In this scenario, the due date for the subcontractor should be a milestone. Another example is if you have a critical material delivery expected to arrive in six weeks. That arrival date may need to be a milestone in your schedule.
3.3 How To Use Milestones In Your Project Management Software
One of the best ways to organize your project effectively is to interconnect the tasks with the project goals. That makes tasks meaningful for your team and motivates people to get things done faster.
For example, if you’re launching a new software update, major milestones may include:
Finalize software design
Finalize software production
Complete software testing
You can then organize the associated tasks by the project milestones. This allows everyone to see which concrete steps need to be achieved to reach each goal, and it gives team members a better understanding of the impact of their individual tasks.
Milestones can also be used to define check-in points throughout the project so that everyone is clear about what progress looks like, what the expectations are, and when they’ll be measured. By inputting these checkpoints into the schedule and managing them, you enable the team to stay in sync with overall project goals and outcomes.
3.4 Tasks Associated With A Milestone Review
- The project Manager calculates milestone progress and prepares a milestone review report using the milestones review report template.
- The project manager sends the meeting request to the relevant stakeholders along with the meeting agenda and milestone review report as per plan.
- The project manager conducts milestones review meetings according to the meeting agenda.
- All agenda items are discussed, and issues, improvement suggestions, lessons learned, and action items are noted and logged in the issue management system.
- The project manager sends a milestone review report to the project and customer contact person.
- The project manager assigns the action items to appropriate stakeholders and obtains their commitment.
- The project manager tracks the action items to closure.
See also SWE-018 - Software Activities Review,
3.5 Acquired Software Development
For acquired software development, milestone reviews are incorporated into the contract because the contract is the binding document for contractor performance and deliverables. Regardless of whether the development is in-house or contracted, the development agreement needs to contain, among other key elements, surveillance activities including monitoring activities, reviews, audits, decision points, meetings, known contract milestones, etc.
See also Topic 8.06 - IV&V Surveillance.
Other items related to milestone reviews to include in the development agreement are:
- Review periods for deliverables.
- The period for making corrections to resolve findings.
- Formal reviews, such as those found in NPR 7123.1 041, NPR 7120.5 083, NPR 7120.7 264 (IT and Institutional Infrastructure), and NPR 7120.8 269(Research and Technology).
- Technical reviews.
- Progress reviews.
- Acceptance reviews.
Consult Center guidance on the following topics as Center guidance may provide insights into reviews and review topics to be considered for inclusion in the Statement of Work (SOW) and contract:
- Acquisition.
- Planning.
- Scheduling.
- Process Monitoring and Control (PMC).
The references in 7.03 - Acquisition Guidance may provide additional guidance on project milestone reviews and topics for consideration. Topic 7.09 - Entrance and Exit Criteria describes inputs, material that will be reviewed, and outputs for each life cycle milestone review which may be useful as input to the development of checklists for these reviews. Consult the NPR 7120 family of requirements documents for definitions of milestones and approaches for different project types.
Keep in mind that reviews not included in the contract may be difficult to require of the contractor, so it is important to ensure the SOW and other contract elements are reviewed by the proper project management and/or technical authority for completeness.
3.6 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook:
Related Links |
---|
3.7 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
Project review plans and milestones are covered in NPR 7120.5 083, NPR 7120.7 264, NPR 7120.8 269, and NPR 7123.1 041. Projects are to ensure that software components are a part of specific project milestone reviews. Small projects need to determine a review process that meets the project requirements and contains adequate content to provide the greatest insights into progress toward the project's technical goals and the technical direction of the project.
5. Resources
5.1 References
- (SWEREF-041) NPR 7123.1D, Office of the Chief Engineer, Effective Date: July 05, 2023, Expiration Date: July 05, 2028
- (SWEREF-048) NPR 8705.4A, Office of Safety and Mission Assurance, Effective Date: April 29, 2021, Expiration Date: April 29, 2026
- (SWEREF-082) NPR 7120.5F, Office of the Chief Engineer, Effective Date: August 03, 2021, Expiration Date: August 03, 2026,
- (SWEREF-083) NPR 7150.2D, Effective Date: March 08, 2022, Expiration Date: March 08, 2027 https://nodis3.gsfc.nasa.gov/displayDir.cfm?t=NPR&c=7150&s=2D Contains link to full text copy in PDF format. Search for "SWEREF-083" for links to old NPR7150.2 copies.
- (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-264) NPR 7120.7A, Office of the Chief Information Officer, Effective Date: August 17, 2020, Expiration Date: August 17, 2025 .
- (SWEREF-269) NPR 7120.8A, NASA Office of the Chief Engineer, 2008, Effective Date: September 14, 2018, Expiration Date: September 14, 2023
- (SWEREF-528) Public Lessons Learned Entry: 921,
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
A documented lesson from the NASA Lessons Learned database notes the following:
- Acquisition and Oversight of Contracted Software Development (1999). Lesson Number 0921 528: Tailorable acquisition management and oversight processes for NASA contracted software development are essential to ensure that customers receive a quality product. A documented lesson from the NASA Lessons Learned database includes a cause of the loss of a mission "the lack of a controlled and effective process for acquisition of contractor-developed, mission-critical software." In this particular case, the quality of the contractor's product was not monitored as it would have been if the proper milestones for reviewing and auditing contractor progress were in place.
6.2 Other Lessons Learned
No other Lessons Learned have currently been identified for this requirement.
7. Software Assurance
7.1 Tasking for Software Assurance
1. Confirm that milestones for reviewing and auditing software developer progress are defined and documented.
2. Participate in project milestones reviews.
7.2 Software Assurance Products
- Software Assurance Status Reports
- SA audit schedule is consistent with the project schedule.
- List of any issues//risks identified with schedule or developer progress.
Objective Evidence
- Milestone review plans.
- Definition for software products life cycle entrance and exit criteria.
- Evidence of SA participation in milestone reviews.
SA Products for Milestone Reviews
Review | Software Assurance Product for Review |
---|---|
All Reviews |
|
Additional Software Assurance /Safety Products for Milestone Reviews | |
System Requirements Review (SRR) |
|
Software Requirements Review (SwRR) |
|
Mission Definition Review (MDR) |
|
System Definition Review (SDR) |
|
Preliminary Design Review (PDR) |
|
Critical Design Review (CDR) |
|
Production Readiness Review (PRR) |
|
System Integration Review (SIR) |
|
Test Readiness Review (TRR) |
|
System Acceptance Review (SAR) |
|
Operational Readiness Review (ORR) |
|
Flight Readiness Review (FRR) |
|
See also Topic 8.05 - SW Failure Modes and Effects Analysis, 8.07 - Software Fault Tree Analysis, 8.12 - Basics of Software Auditing
7.3 Metrics
- # of Non-Conformances from reviews (Open vs. Closed; # of days Open)
7.4 Guidance
List of tasks for the software development required for the project’s software developers. - look at the software development schedule milestones (see 7.08 - Maturity of Life Cycle Products at Milestone Reviews, software products required, and software processes used. Related to the SA tasks on SWE-036 - Software Process Determination.
7.5 Additional Guidance
Additional guidance related to this requirement may be found in the following materials in this Handbook: