Monday, August 11, 2008

AN OVERVIEW OF EXISTING QUALITY MODELS

There are numerous quality management practices available in industry. These practices can be categorized into five general groups.
1.Total quality management
2.Management quality standards interpreted for software intensive systems
3.Specific IT quality standards with process capability determination features
4.National level quality award criteria
5.World-class standards

Within these groups there are a number of IT industries specific standards (BS15000 ,ISO9000-3 , international models (ISO 9001-2000, CMMI ) and quality awards (Baldrige , EFQM ).
Different models, standards and awards emphasize different activities. Which model fits to a specific industry or organization depends on the organization strategic objectives and the business in which the organization is operating. For example Michael Tingey in his book Malcolm Baldridge and SEI/CMM for Software (1997) studied the standards and models for the types of activities emphasized, he discovered that Malcom Baldrige model puts a large emphasis on improving and then on planning. In comparison, the ISO9001 standard puts its highest emphasis on managing and then on implementing. The SEI SW-CMM model is the reverse of ISO9001—its largest emphasis is on implementing and then managing.

Friday, August 8, 2008

Process Improvement Issues in Small Software Industry

For the last one decade there is a multitude of literature being written on software process improvement (SPI) . SPI with conventional models like CMM/CMMI, ISO-15504 promises huge potential benefits for organizations. Some of the Process Improvement (PI) potential benefits are :

* Increased productivity
* Reduced cost
* Reduced defects
* Reduced rework
* Improved time to market with satisfied customers

However, most of the studies on SPI are centered on large organizations. Software process improvement (SPI) requires a considerable investment in terms of cost, time training, commitment from top management and good communication flow.

Traditional SPI approaches and assessment methods are costly for small organizations. The models underlying traditional SPI assessment and implementation programs such as CMM CMMI ISO90001 , SPICE and BOOTSTRAP were designed for large organizations. Process Improvement (PI) initiatives with such conventional models have difficulties and challenges when we implement them on small organizations. Hanna describes some major limitations of the existing SPI reference models. ISO/IEC 12207 and ISO/IEC15504 have undergone significant modifications during the last three years. So their adoption cost and suitability is not clear for small organizations. ISO 9001-2000 is not specific for software industry and it is not a set of processes as are CMM/CMMI. Another weakness of ISO 9001 is its generalizability. ISO-9001 is an abstract and sparse document that can be applied to any category of business. So it is very difficult to apply ISO-9001 standards to a software organization. Elif, Onur, Oguz and Billur also describe few limitations of ISO 9001 implementation in small organizations. Among major challenges of implementing ISO 9001, on small organizations are

* Lack of guidance of ISO 9001 standards on where to start and how to install quality system elements,
* Lack of action knowledge about process improvement principles

ISO9001 is lacking in maturity stages like CMM/CMMI. ISO-9001 organization choose to have only two statue, ‘satisfies’ or ‘not satisfied’ while CMM/CMMI have five distinct maturity stages for an organization to compare its process maturity with the levels below or above.

Although CMM/CMMI is a set of industry best practices but its implementation cost is a major drawback. For example, CMM based process assessment cost lies between +/- $25,000 and duration is +/- 8 months while its overall implementation cost is well over $100,000 which is disproportionate to the available resources of small organizations. In another case study it was estimated that CMMI based gap analysis would cost $20,000 for five days and SCAMPI certification audit would cost $30000 for eight days for total of $50,000 .

Another important limitation, of implying CMM/CMMI in small environment, is that many of the practices are not applicable (or not have clear benefit) to small organizations. One peculiar phenomenon of small organizations is their role multiplicities, one person has multiple roles. These overlapping roles make the implementation, of SPI reference models, very difficult for small structure organizations.

Sunday, August 3, 2008

software effort estimation

Formal estimation models There are many different types of formal effort estimation models available.
Effort estimation models may be based on sophisticated analyses and dependencies between effort and other variables in sets of previously completed projects and result in, e.g., formulae of the following type: Effort = a Sizeb * Adjustment factor
Examples of well-known estimation models are these:
COCOMO . In COCOMO, the use of effort of a typical project is assumed to follow a pre-defined formula regarding the relationship between Size and Effort. To account for differences in productivity, it is possible to make a number of (to some extent subjective) adjustments to the “nominal” effort estimate, e.g., the estimate can be adjusted for level of reuse.
Use Case Point Estimation (UCP) .The method takes as main input a software specification described through “Use Cases”, which is part of the notation of UML and is similar to the use of “Function Point”-based estimation models. Each use case is counted and weighted, and is adjusted for technical parameters. An expected productivity rate is provided as input. Current research in this area is typically directed at making better models, e.g., investigating when, how and how much local calibration of the models that are beneficial.
Model-based effort estimation processes may rely on expert judgment-based input. Hence, model output may also be biased towards over-optimism or be affected by the presence of irrelevant information. Further, inconsistency in effort estimates may be a problem, despite the use of models.
Effort Estimation Error Measurement:
Measuring estimation error is a fundamental activity in software estimation research. It is the basis of many activities, such as analysing whether or not an organization has an estimation problem, evaluating estimation methods, and identifying causes of estimation error. Software projects differ in size and, for aggregation purposes, most measures of estimation error are consequently based on relative estimation error. The most commonly used measure of estimation error is the Magnitude of Relative Error (MRE).
MRE is calculated by the following formula:
MRE= MOD(ACTUAL EFFORT-ESTIMATED EFFORT)/ACTUAL EFFORT.

REFERENCES:
1 .J. Li and G. Ruhe, "A comparative study of attribute weighting heuristics for effort estimation by analogy," proc. Proceedings of the 2006 ACM/IEEE international symposium on International symposium on empirical software engineering, pp. 66-74, 2006.
2. C. Lokan and E. Mendes, "Cross-company and Single-company Effort Models using the ISBSG Database: a Further Replicated Study," proc. Proceedings of the 2006 ACM/IEEE international symposium on International symposium on empirical software engineering, pp. 75-84, 2006.
3. S. Makridakis, S. C. Wheelwright, and R. J. Hyndman, Forecasting Methods and Applications, 3rd ed. New York: John Wiley & Sons, Inc., 1998.