2.4 ROI evaluation
2.4.1.3 Cost for added work associated with new SCM
The configuration manager spends most of his time doing configuration identi- fication, preparing and assisting to the CCB meetings and conducting audits. The total time spent in configuration identification is divided in decomposi- tion activities, baseline management and the creation of the baseline. The time spent doing the CCB secretary can be evaluated by the formula NchanTCCB.
represents the average time per CCB decision. The time spent doing audit can be estimated considering the average time spent doing an audit (Taudit) and
the average number of audit per month (Naudit) by the formula NauditTaudit.
There are other costs associated with new SCM tasks, as shown in the second chapter. These costs can be quantified with the analysis of the particular SCM implementation case.
The administrator and the technician spend their time maintaining the system, creating new version views and managing and maintaining the repository, this work mostly depends on the complexity of the SCM tool.
The main developers’ added workloads associated with SCM are status ac- counting, like writing comments and reports, and doing impact assessment for CCB meetings. This staffcategory does not add relevant costs associated with the new SCM tasks and it can be omitted in the formula.
2.4.2
Benefits
Benefits are calculated in hour units but they can be easily translated in money units multiplying the number of hours with the cost per hour associated with the worker category.
2.4.2.1 Benefit on bug fix
Using the number of internal and external defects per month and the average time per bug fix before the introduction of SCM and knowing also the decrease rate of the number of bug fix and of bug fix time permits to estimate the total save time associated with the bug fix.
Where:
Nerr Average number of defects per month Tbug Average time spent per bug fix
α1 Rate of decrease of the number of bug fix
α2 Rate of decrease of the time per bug fix
2.4.2.2 Save time with automated software builds
Considering the average time spent every month on the various type of build in a project (T buildi) and the respective rate of workload decrease (βi), it is
possible to calculate the payback using an automated build with the formula:
AutomatedBuilding ="βiT buildi
2.4.2.3 Manage version, parallel work and automatic merge
Version management Considering the time spent per month creating, track- ing and recreating versions (T veri) and the respective rate of workload
decrease (γi), it is possible to calculate the payback using version man-
agement tool with the formula:
B1 ="γiT veri
Automatic merge The improvement achieved by an automatic merge tool depends on the dimension of the diff3 and from the average number
of merge done in a month (number of version or number of branches). Knowing the average time spent merging files (Tmerge) and the average
number of merge per month (Nmerge), the total benefit can be calculated.
B2 =γ4TmergeNmerge
Where γ4 is the rate of decrease workload.
Parallel work SCM permits to have parallel work eliminating the classical coordination problems, like double maintenance, shared data problem, simultaneous update, the reduction of lose time instead this errors is represented byB3 .
B3 =NCoordP roblTlose
Where Tlose is the average wasted time lose with one of the classical
problem of coordination and NCoordP robl is the average number of those
errors per month.
2.4.2.4 Traceability addresses less time for V&V and testing
Knowing the average time per month for doing test (Ttest) and the percentage
of decrease of this time (δ) the last term of the formula can be calculated.
2.4.3
ROI Algorithm
During the first period of SCM introduction, the gain factor associated with the entries of the model can be variable; because, during this time, the staffhas to learn the new processes and understand how the SCM tool works. For this reason the ROI should be calculated considering monthly costs and benefits; this calculation can be done with an iterative algorithm in which the changes of the gain factor during this period can be considered.
The method
SCM is a set of activities designed to control changes identifying the work prod- ucts that are likely to change, establishing relationship among them, defining mechanism to manage different versions of these work products, controlling the changes imposed, and auditing and reporting the changes made. SCM is involved in most of the activities of a project.
There are different aspects about costs and benefits of SCM, often subjective, which have to be considered to calculate the earning applying this discipline in a corporation. The presence of this multitude of subjective aspects, associated with a SCM system, made necessary the elaboration of a method which can guide the user selecting and quantifying the related costs and benefits.
GQM (Goal Question Metrics) is used to show where the organization is along the path to gather the benefits of SCM.
3.1
GQM Analysis
The GQM method provides a measurement plan, that deals with the particular set of problems and the set of rules for obtained data interpretation. The interpretation makes clear if the project goals were reached [10].
The Goal Question Metric approach is based upon the assumption that, to make measures in a purposeful way, an organization must first specify the goals for itself and its projects. Then it must trace those goals to the data that are intended to define those goals operationally. Finally provide a framework for
interpreting the data with respect to the stated goals. GQM defines a measurement model on three levels:
Conceptual level (goal): This level comprehend the major goals of the ob- ject of study.
Operational level (question): A set of questions is used to define models of the object of study and then focuses on that object to characterize the assessment or achievement of a specific goal.
Quantitative level (metric): A set of metrics, based on the models, is as- sociated with every question in order to answer it in a measurable way. A GQM model is a hierarchical structure (Figure 3.1: GQM Analysis).
Figure 3.1: GQM Analysis
The main idea is that measurement activities should always be preceded iden- tifying clear goals for them. To determine whether a particular goal has been reached, it is necessary to make questions, whose answers will show if the goals have been obtained. Then, from each question, the attributes that must be measured, in order to answer that question, are generated.
3.2
GQM application
3.2.1
SCM Goals
SCM purposes are divided in 4 goals
Stability of the staff: Affected groups and individuals are informed of the status and content of software baseline (Status Accounting). SCM elim- inates confusion (chaos, double maintenance, shared data problem, si- multaneous update, etc) providing coordination and communication in the group.
More productivity: Selected work products are identified, controlled and available providing maintenance support. SCM helps to manage versions and variants of a software, helping software reuse.
Quality assurance: Changes to identified software work products are con- trolled (Change Control).
Punctuality: SCM activities are planned, providing visibility to the project manager.