The Release subphase
In the USoft Approach, Release is a subphase of the DELIVER phase.
In the Release subphase, specifications and corresponding implementations are actually made available to the community of end users (humans or systems or both). Typically, this routine is performed exactly once for each iteration of USoft Approach's PLAN – DEFINE – DELIVER cycle, and each time all the released components are tagged to a specific version number.
Of all the subphases in the USoft Approach, the Release subphase is the most concentrated in time. It can often be completed within 48 hours. It is also the most important subphase: all the activities in the PLAN phase and the DEFINE phase lead up to it. Every effort to make the release as simple and risk-free as possible should belong to the DEFINE phase, not to the Release subphase itself.
In the case of specifications, Release involves earmarking each specification as being included in this Release Version and publishing the content. Often a physical copy of the specifications is made in a somewhat different form, maybe a PDF document or a set of HTML pages, and installed at a specific location such as an Intranet location or document server.
In the case of implementations, Release is similar to a classic software release. All defined and coded artefacts are transferred to a Production server or (in C/S solutions) distributed to a number of Production workstations. Usually, the following key steps must be performed when doing an implementation release:
•Notifying end users in the Production environment of the impending release, possibly by informing them of new and changed functionality, and maybe even training them ahead of time.
•Performing a final confidence test. If performed, this should be the ONLY test performed as part of the DELIVER phase. A confidence test is usually done by making a temporary copy (image, shapshot) of the entire Production server to some other server and performing the entire Release routine as it has been prepared, then checking if there are any unwanted effects, especially in the area of upgraded data.
•Closing down the Production server or system(s) at the announced time.
•Actually transferring all the prepared materials to the Production server or systems. This includes running any one-time data conversion scripts that may be needed to bring existing Production data in line with new or changed rules. It is this data conversion that is the most error-prone element in many USoft releases and therefore, in the USoft Approach, this step will have already been tested at the end of the DEFINE phase and again during the confidence test.
•Doing a cursory release test after the transfer to detect any problems that are easily visible at this point.
•Bringing the server back up (or, in the case of file distribution of a C/S application, distributing new flat files) and notifying end users that the new system is available.