Software quality and model-based process improvement
In this chapter, we introduced software quality and model based process improvement. Quality is more and more often seen as a critical software attribute and a determinant of business success. The absence of quality in software products and services results in dissatisfied users, financial loss, and may even endanger to our lives. SPI is a process oriented approach to address quality problems. We presented underlying principles by focusing on quality, process and quality, and the Co Q. We explained quality using different defining approaches, such as transcendental, product, user, manufacturing, and value based approaches. We then defined process and qualitystartingwiththeconceptofprocessaswidelyappreciatedastheproper ground for improving product quality and productivity. We highlighted the importance of SPC, plan do check act, and TQM. We also explained Co Q. Co Q analysis and technique shave been in use for more than 50 years and there are multiple models for Co Q. These models are the effective tools in feasibility analysis of SPI programs and the measurement and evaluation of the program performance. Both theory and experience advise investing on prevention and appraisal costs to get the highest returns from the decreased costs of appraisal and failure. In terms of best practices, we focused on software process maturity, models for SPI, and results from implementations. The use of maturity models has been popularized in software engineering through the SEI software CMM, which was published in 1991. In 1993,inEurope, ISO started the SPICE initiative. Both these models define capability levels for software processes and corresponding key process areas. Not every organization that has attempted model based process improvement has succeeded. A group of problems were observed to be general and related to the management of change and to underestimated costs and timeframes. Survey results also included evidence that SPI efforts were overcome by crisis due political struggles within the organizations. Software processes are characterized by a vast number off actors, that is, business goals, organizational culture, accumulated knowledge and experience, company size, the market, domain and environmental and regulatory constraints, etc. SPI is thus challenged by this process diversity, and there is no generic reference model that suits all software development projects and organizations. Furthermore, our analysis showed that the main are as of future research should focus on SPI for small organizations and agile development, measurement, and using SPC and automation/tools.