Software Release Criteria

The following formal criteria that must be met before a software release can be allowed. Attach to this form empirical documentation for each item.
    1. [ ] Automated Functional System Tests for all features in the Staged Delivery Plan are passing. May be manual instead of automated for Stage 1, Spring 2008.

    2. [ ]  At least 80% of System Tests for non-functional requirements in the SRS are passing.
    3.  
    4. [ ] Actual code complete is at least 90% of planned.
    5.  
    6. [ ] The slope of the code growth curve for the week prior to release must be less than 25%. (Based on data from daily build reports).

    7. [ ] Automated coding style checker reports each class has less than 2 violations per 100 LOC.
    8.  
    9. [ ] At least 90% of binary miniature milestones (action items) are complete.
    10.  
    11. [ ] There are no severity 1 open defects.
    12.  
    13. [ ] The number of defects reported must be at least 80% of predicted.
    14.  
    15. [ ] 75% of all severity 2 reported defects must have been fixed.
    16.  
    17. [ ] The slope of the defects reported curve for the five days prior to release must be less than 30%.
    18.  
    19. [ ] A test coverage tool shows that statement coverage from functional tests
      Stage 1: non-UI classes is at least 65%, and for UI classes is at least 70%.
      Stage 2: non-UI classes is at least 90%, and for UI classes is at least 95%.


Explanation of any items not checked goes here.


Notes for Spring 2008 Stage 1 release

Code growth curve: 5 days
Defect reported curve: 3 days

Notes for Winter 2007 second release

#1 Each developer writes their own tests for their fix or enhancement. Usually the test is System level test run as a Costello script, but some enhancements  will also require an automated unit test (JUnit).
Implies:
Staged Delivery Plan lists all fixes.
System Test scripts exist.
Test Case Matrix contains references to these tests.
SRS is updated and clarified.

Instructor will check:

Live demo of System Tests automation.
Live demo of Unit Tests automation.
Evidence of results (pass/fail).
Documentation of Basis Path tests. Each developer performs Basis Path tests on one method with complexity greater than 4.

#9 includes broken builds. (Including any automatic tests run on the build).
#10 means defects in the code you wrote.

Reminder: Penalty for late release is one-third letter grade per day (except Sat/Sun). QA mgr is exempt from late penalty, but gets penalized for defects found by customer/instructor in the product.