bannerc

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

SWE-194 - Delivery Requirements Verification

1. Requirements

4.6.4 The project manager shall complete, prior to delivery, verification that all software requirements identified for this delivery have been met, that all approved changes have been implemented, and that all defects designated for resolution prior to delivery have been resolved. 

1.1 Notes

NPR 7150.2, NASA Software Engineering Requirements, does not include any notes for this requirement.

1.2 Applicability Across Classes

 

Class

     A      

     B      

     C      

     D      

     E      

     F      

Applicable?

   

   

   

   

   

   

Key:    - Applicable | - Not Applicable
A & B = Always Safety Critical; C & D = Sometimes Safety Critical; E - F = Never Safety Critical.

2. Rationale

Requirements are the basis for building a product that meets the needs of the project. They define the behavior of the system and the constraints under which the problem is to be solved. It is important that the implemented product is verified against the requirements to show that it actually meets all of the requirements.

However, requirements change over time and the documentation of the requirements is not always up to date. Also, for Agile approaches, not all of the requirements are necessarily documented up front. It is critical that the Project Manager use an appropriate method or tool to keep track of the requirements necessary for each delivery of the software and that these are kept up to date with any changes or defect resolutions.

The verification planning, execution, and results should include all requirements for that delivery. A traceability matrix that shows all of the planned and modified requirements to the test procedures/results is critical for showing compliance to this NPR requirement. Also critical are the test reports that show that each requirement verification passed.


3. Guidance

This requirement applies to all NASA centers and Software Classes A, B, C, D, and F.

For non-Agile lifecycle, an analysis of the baseline set of requirements and all change requests would need to be performed against the verification plans, procedures, and results to show that every requirement has been verified successfully.

For an Agile lifecycle, for each planned release, an analysis of the set of requirements associated with that release and all change requests associated with those requirements would need to be performed against the verification plans, procedures, and results to show that every requirement has been verified successfully. Additionally, any defect resolutions that were designated for inclusion in the release need to be analyzed against the verification procedures and results to ensure that they were resolved and successfully verified.

Keeping track of requirements changes can be done by several methods as described in SWE-053.

Verification is done by several methods. For guidance on inspections, see section 5.3 in the NPR. For guidance on testing, see section 4.5 in the NPR, specifically SWE-065, 066, 068, 071, and 191.

For this effort, having a complete bi-directionality between requirements, design, and verification is significant and will make the analysis easier.


SWE-053Manage Requirements Changes
SWE-065Test Plan, Procedures, Reports
SWE-066Perform Testing
SWE-068Evaluate Test Results
SWE-071Update Test Plans and Procedures
SWE-191Software Regression Testing

4. Small Projects

No additional guidance is available for small projects.

5. Resources

5.1 References

No references have been currently identified for this SWE. If you wish to suggest a reference, please leave a comment below.


5.2 Tools

Unable to render {include} The included page could not be found.
 

6. Lessons Learned

Unable to render {include} The included page could not be found.

7. Software Assurance

SWE-194 - Delivery Requirements Verification
4.6.4 The project manager shall complete, prior to delivery, verification that all software requirements identified for this delivery have been met, that all approved changes have been implemented, and that all defects designated for resolution prior to delivery have been resolved. 

7.1 Tasking for Software Assurance

  1. Confirm that the project has identified the software requirements to be met, the approved changes to be implemented, and defects to be resolved for each delivery.
  2. Confirm that the project has met all software requirements identified for the delivery.
  3. Confirm that approved changes have been implemented and tested.
  4. Confirm that identified defects have been resolved. If SWE-191 is applicable, confirm that the delivery passes regression tests.
  5. Confirm that SA has approved or signed-off on the project's delivered products.

7.2 Software Assurance Products

  • Evidence that SA has approved or signed-off on the delivered products

7.3 Metrics

  • None at this time

7.4 Guidance

For each delivery, review the delivery documentation and confirm that the documentation identifies the particular requirements that have been implemented for this delivery, any changes that are approved for implementation in this delivery and any defects that need to be resolved/implemented before delivery. It is usually helpful for the project to include a list of defects or discrepancies that have not been resolved in this delivery and will either need to be resolved in a future delivery or in maintenance. Delivery documentation for this information may include a delivery letter and a version description document.

 

Confirm that all the requirements identified for this delivery have been successfully tested by reviewing the traceability matrices to see which tests map to the requirements for the delivery and checking the test reports for those requirements.

 

Review the set of approved changes for the software to be delivered and confirm that all of the approved changes that were scheduled to be implemented by delivery are actually in the software deliverable. Also confirm that: 

  • The changes have been tested to confirm the approved change produces correct results,
  • If the change was a defect, the changes fixes the defect, and that checks have been made to catch any similar defects elsewhere in the deliverable software,
  • Regression tests have been successfully run to ensure previously tested capabilities of the software still work. A full set of regression tests should be run on critical software.

 

For the set of defects identified in the software to be delivered, confirm that all defects planned for delivery have been resolved in one of the following ways:

  • Defect is fixed and tested (confirming the above)
  • Defect has an agreed-upon work-around (documented in the user documentation)
  • Defect has been discussed with customer and agreement was reached to defer the defect to a later build or maintenance or to leave the defect as is. If the agreement is to leave the defect “as is”, identify any risk associated with this decision

 

Software assurance personnel should sign off on the delivery documentation signifying that the delivery is complete and correct

 

For guidance on testing, see section 4.5 in the NPR, specifically SWE-065, 066, 068, 071, and 191. For more guidance on managing changes and release management, see SWE-053, 080 and 085.


SWETITLE
053Manage Requirements Changes
080Track and Evaluate Changes
085Release Management
065
068
071
191



  • No labels