Baselines. Record the intermediate states of software development.
What are baselines in software development? What are their advantages? And how do you establish a baseline?
What is a baseline in software development?
The term baseline comes from configuration management. Configuration management describes activities that lead and steer configurations. A configuration represents all the work results described by a product. According to the IEEE, a baseline, also called a reference configuration, is:
“A specification or product that has been formally reviewed and agreed to by responsible management, that thereafter serves as the basis for further development, and can be changed only through formal change control procedures.”
To put it more simply: Establishing a baseline creates an unchangeable “snapshot” of your work or product at a certain point in time.
Baselines in software configuration management
Configuration management also takes place in software development. Software configuration management is a method of controlling the development of software and changes throughout the entire life cycle. It makes sure, for example:
- every change to the software has been confirmed and documented,
- changes don’t get lost,
- the who and the what of a change are documented and
- a previous version of the software can be returned to at any time.
So it develops software from baseline to baseline. In this case a baseline corresponds most often with a milestone or a release: All work results that belong to a release are “frozen” in their current version – so for example, existing requirements, test cases or documents. Based on the unchangeable state of release 1, release 2 can be developed.
Baselines in requirements management
Baselines are often found in requirements management. There, they are only a snapshot of your requirements. These preliminary states can then be used to check the quality of the requirements with your stakeholders, to give them to another team or to have a foundation for the design development. Above all, the quality assurance of the requirements is important to stop the scope creep:
Stakeholders change their desires and goals over the course of the project, and this results in new requirements. Through this, the project schedule and costs increase. If baselines are regularly established for your requirements, then you can also regularly gather feedback from the stakeholders and clarify the requirements with them. Another advantage: When you delete a requirement accidentally, you can always return to the state of the baseline.