Release Management in Software Engineering
Release system is version of system which is distributed to customers. System release managers are responsible for deciding when system can be released to customers, managing process of creating release and distribution media and documenting release for only ensurity that it can be re-created same as distributed if it is possible.
A system release is not just executable code of system. Release may also include following :
Attention reader! Don’t stop learning now. Get hold of all the important CS Theory concepts for SDE interviews with the CS Theory Course at a student-friendly price and become industry ready.
- Configuration files : It defines release should be configured for particular installations.
- Data Files : These are needed for successful system operation.
- Installation Program : It is used to help install system on target hardware.
- Electronic and Paper documentation : It describes system.
- Packaging and associated publicity : It defines that have been designed for that release.
It is not assumed by release managers that every time customer have to install new system releases because there are some customers who are happy with an existing system. May consider it not worth cost of changing to a new release. Therefore there is no dependency on new releases of system that they cannot be used without installations of previous releases. To illustrate this problem, consider following scenario :
- Release 1 : It should be distributed and put into use.
- Release 2 : It requires installation of new data files, but some customers do not need customers do not need facilities of release 2 so remain with release 1.
- Release 3 : It require data files which are already installed in release 2 and has no new data files of its own.
It is not assume by software distributors that files required for release 3 have already been installed in all sites. Some sites may go directly from release 1 to release 3, by skipping release 2. To reflect local circumstances, some sites may have modified data files associated with release 2. For this reason, data files need to be distributed and must installed with release 3 of system.
- Release decision making –
It is an expensive process for preparing and distributing a system release especially for mass-market software products. It release are too frequent, customers may not upgrade to new release, especially if it is not free. In case of infrequent system release, customers may move to alternate systems results in loss of market share.
- Release creation –
As from name suggests, it is used for creation. Basically it process of creation of collections of files and documentation that includes all of components of system release. For identification, executable code of programs and all associated data files must be collected. There is a need to wrote configuration descriptions for different hardware and operating systems and instructions prepared for customers who need to configure their own systems. In case of distributed machine readable manuals, then electronic copies must be stored with software. Also, scripts for installations program may have to be written. At end, when all information is available, release directory is handed over for distribution.
- Release documentation –
When a system release is produced, it must be documented to ensure that it can be recreated exactly in future. This particularly important for customized long lifetime embedded systems such as those controlling complex machines.