Tuesday, March 29, 2011

Software Quality Trends

Franco et al state that there are the 4 R's with regards to trends in Software Quality Assurancei;
  • Risk
  • ROI
  • Regulations and Compliance
  • Rich Customer Experience
ROI is defined as “Return on Investment” this term is borrowed directly from the financial industry and refers to how much of a return is gained from a given investment.ii
ROI is calculated using the following formula:
ROI = (Investment Gain - Investment Cost)/ Investment Cost)

The ROI of Software Quality Assurance can be calculated by utilizing COCOMO based estimationsiii.

Basic COCOMO utilized thousands of lines of code as a base metric of calculation; it also has only three classes of Software Project team size:

  1. Organic Small teams with extensive experience and non-rigid requirements
  2. Semi-Detached Medium sized mixed teams with mixed experience and rigid requirements
  3. Embedded Tight Constraints such as hardware or operational environments

Basic Equations are as follows:
Effort Applied in Man-Months:
where KLOC is 1000 lines of code;
Development Time in Months:

People Required:

Equation Co-efficients are as follows:

Software Project




Organic
2.4
1.05
2.5
0.38
Semi-Detached
3
1.12
2.5
0.35
Embedded
3.6
1.2
2.5
0.32
COCOMO is a standard cost model developed by Bohem; we can integrate COCOMO into ROI calculations to develop cost projections for any given project.
The cost model also requires that we estimate the size and potential earnings of a given software product. Sales forecasting is a common method used by industry to estimate earnings for a given quarter based on sales from previous quarters.
A standard method to forecast sales is to use a moving average model, the following formula is a simplified method used to forecast moving averagesiv:
First we must calculate the current average using the previous quarter's earnings data:

Then we calculate the new average using the projected quarters data:
This is a simplified non-weighted formula, and is used for illustrative purposes; weighted moving averages are far more accurate but also far more complicated and may require smoothing and various other considerations given a specific dataset.
Another needed variable is the loaded labor rate for the given people used or the project member loaded labor rate, the loaded labor rate is the cost per person per hour including all incidental costs of said persons employ.
 Where w = number of hours in a working day; this value varies per employer and locale; Cb equals the cost of benefits and Cc equals the cost of office space for the individual in terms of Lease per square feet of space and Cd equals any other incidental costs. All other costs associated with the employ of this individual must be added to this formula for each employee on the project costs such as parking or transit subsidies, health club memberships should also be considered to further improve the loaded labor rate calculations.
The total SQA cost may be estimated by using COCOMO and Loaded Labor rates using the following formula:

The Cost of Software Quality equals the daily loaded labor rate times the number of days required multiplied by the the number of people involved.
Given the sales projection and the loaded labor rate cost for the project members the ROI of the SQA portion of a software product may be calculated using the standard ROI formula as follows:


Thus the return on investment includes the Sales projection minus the cost of software quality over the cost of software quality. Should the projection be very large; say in the millions of dollars then the return is positive. If the return is negative then the organization may need to re-examine the risk models for this project.

The applications of the above formula for software quality allow an organization to determine weather or not a given investment is sound and offers great value for a given project and it's software quality. Practical applications include the costs and benefits of testing a given operating system before sale and the potential gains; however this model is limited in it's projections and the availability of previous financial data. Finical estimates are just that; educated guesses about how well a product may do; thus the ROI is variable and dependent upon estimations. 
References
iFrancino, Yevette (Tech Target, March 8th 2010) Software Quality Insights [Online] World Wide Web, Available From: http://itknowledgeexchange.techtarget.com/software-quality/sharma-opines-software-qa-trends/ (Accessed on March 25th 2011)
iiN.A. (Princeton, WordNet 3.0) Return On Investment definition [Online] World Wide Web, Available From: http://wordnetweb.princeton.edu/perl/webwn?s=roi (Accessed on March 25th 2011)
iiiBohem, Barry (Prentice Hall, 1981) Software Engineering Economics ISBN: 0-13-822122-7
ivN.A. (SAP, n.d.) Forecast Formulas [Online] World Wide Web, available from: http://help.sap.com/saphelp_nw70/helpdata/en/96/d26256e39011d3b78e0000e82debc6/content.htm (Accessed on March 25th 2011)

No comments:

Post a Comment