|
Release Management
From the white paper:
The crowning activity of quality assurance is the final verification that the application (or system) in question does provide the reliability, performance, and functionality required to warrant deployment to the intended users. The commercial software world usually does this with a four-step process: alpha release; beta release; deployment; and technical support and maintenance. The phased release provides an opportunity to test the application under deployment conditions while minimizing the business and productivity impact of any yet-undiscovered defects.
The software release process should be under the control of Configuration Management and under the supervision of the QA leader; it should not be under the control or supervision of the software development leader or the project manager. The goal of this process is not to add last minute capabilities, but to repair defects in reliability and performance while maintaining (or possibly decreasing) functionality. The QA leader must certify that the application is ready for deployment, with all the business and productivity implications that carries.
Note that you must take great care with source code configuration management (SCCM) through this period. It should be easy to recreate each separate version through alpha, beta, and release; likewise, individual developers should be able to roll back to previous versions of individual classes and components. This is for both technical and management reasons. At this point in development, schedule pressures and work loads will be their greatest, which means that errors are most likely to be made at the point where you can least afford them. The ability to roll back quickly to an earlier build or version will be critical.
|