During the initial stages of an ALM project, customers often fail to identify the exact requirements that are needed to achieve their goal. This often ends up leading to unsuccessful projects. Since “Change” is inevitable in Software Development Lifecycle, it is better to manage the “Change” rather than be affected by the impact of those changes.
… are you ready?
In a project, Change in “Scope” of Work items affect the other two constraints of the triangle — the Budget/Cost and Time/Schedule — factors that affect the overall quality of a software. This can, however, be managed with the help of “Baseline.”
Fig 1: Triple Constraint
What is a Baseline?
The term Baseline is derived from Configuration Management domain. It consists of pre-approved product attributes that have been identified at a particular point in time in the Software development lifecycle. We can also define Baseline as a snapshot of the product’s elements used as a basis for control, measurement, and comparison.
How to baseline your project scope?
- Define Scope
In order to define the scope, we need to document it in “Scope Statement.” In ALM, a scope statement begins with the description of a scope that explains what we are producing as an end product.
It also includes a list of ‘Major Deliverable’ items that we are producing, the scope along with the assumptions and the constraints associated with it, as well as the total expenditure and time required for the project.
- Approve Scope
The next step is approving the Scope, which is generally done by members belonging to the Change Control Board. Generally, the members of the CCB can be either the Stakeholders or the Business Representatives.
After all the reviews are done based on the risks related to the work items and the objective, changes are made to the respective items several times before the final approval. Besides, if any further changes in the requirements are received from the customer in the latter part of the project, then it is passed through the CCB, where each change is evaluated for feasibility, impact to cost, schedule and risk before being formally approved or rejected.
When to Baseline
The best time to baseline the work items are:
- At the beginning of a project when the requirements and the scope of the project have been confirmed.
- When the changes proposed by the customers are approved by the Change Control Board.
Uses of Baseline
- “List of Items” in a Snapshot
There is a popular saying by Barry Bohem
“Producing software from a specification is like walking on water – it’s easier if it’s frozen.“
List of deliverables that are linked to the Budget and the Schedule can be frozen. Freezing the deliverables along with its related items makes it is easy for developers to start their work on a defined set of items. As a result, based on the working software produced, the customer is able to give rapid feedback to the developers.
- Comparable Changes made to the List of Items
The Customer at any time may feel that some enhancements or changes are required, which they were unable to define during the initial phase of the Software development.
However, the changes made could be incorporated only if it is approved by the Change Control Board. These can be tracked by “Compare Version” which displays those items and their attributes that have been changed between the scheduled time of selected baseline and their current versions. This side-by-side comparison includes version details along-with the modified, removed and inserted attribute values.
- Comparable Baselines
A situation may arise when, during the course of a software development, the priority of some requirements may change. Depending on such business values, some of the work items may need to be removed or added as a new item.
In such cases, “Compare Baseline” could be used to track changes.
The Baseline created at the start of a project can be compared to the Baseline created at the mid/end of the project based on the prioritized business values.
Comparing one Baseline with the other displays a parallel comparison of only those items and their attributes that have changed between the two selected baselines. It also includes those items that have been added and deleted between the times of the baselines as well.
Benefits of Baseline
- Monitor and Control Changes
Monitoring and controlling changes are important aspects of a Project Baseline. It allows the project managers to keep track of the changes occurring at several stages in the project. It helps to forecast outcomes, manage changes, take corrective actions, and report progress.
Inability to monitor and control changes closely enough may lead to failure of a project as we may feel that we have gone off plan and it is too late to get back on track.
- Assess Performances
If project managers get to learn about the plan, they can compare it with the actuals and decide whether the progress of the project is on track or not. Based on this, they can also plot a graph; to predict the actual start date and the end date. In that case, managers can assume that the team will take some extra number of days to complete the task.
In the figure below, the yellow line indicates the estimation of the ‘Planned work’ and the blue line indicates the “Actual work.”
- Variance Analysis and check whether it’s acceptable
Variance Analysis is the quantitative difference between actual and planned behavior — essential factors for attaining business objectives.
It aids to control over the expenses by determining the planned versus actual costs and the variances in between that leads them to adjust the business objectives, goals, and strategies accordingly. It helps in taking remedial actions when needed.
- Managing Regression Risk
If Test Artifacts like Test Cases along with the test results are baselined with the product build, Project Managers can review the functionality tested and the test results for a build at any given point in time.
- Improved Future Estimate
When a plan is created, the project managers estimate how long each task will take and how much effort will be required to complete it. This estimation can be easy for them if they use the previous experience. Hence, it is useful in using as a stable reference for future work.
Added Benefits of using Kovair Baseline
Baseline in Kovair facilitates handling projects with the use of “Compare Version” and “Compare Baseline” option, which offers a simple and efficient method of tracking the requirement enhancements and add/remove items respectively during the entire software development lifecycle.
Kovair allows you to Freeze your “List of Items” along with its defined relationship with other items, which helps to identify the planned product items that need to be taken care of. Another important advantage of Kovair Baseline is that it provides the flexibility of choosing “List of Items” as it can be customized as per the use of the organizations.