An Overview of Quality Assurance Practices in Agile Methodologies
Olli P. Timperi · 2004
The focus of literature and debates of agile methodologies has been on the development activities while quality assurance practices of different agile methodologies have received less attention and an overall picture is missing. This paper collects quality assurance practices of different agile methodologies together and analyzes them. Accuracy of quality assessment, costs, information to be gathered, timing, empirical evidence, and concrete guidance are analyzed from each quality assurance practice. Based on the findings, quality assurance is analyzed at a methodology level from a good enough quality viewpoint. The findings show that agile methodologies propose a wide range of quality assurance practices that cover the most important areas. The biggest problem found was that testing was not described in appropriate detail. The results indicate that most agile methodologies have focused on validation at the expense of verification. Thus, most of the studied methodologies lack the balance in quality assurance and are not capable of producing good enough quality software. In the current situation, it is recommended to combine quality assurance practices of different methodologies in order to get good enough software delivered to EVERAL agile methodologies have been developed in the last few years. Agile methodologies are software development methodologies that are adaptive and collaboration-oriented. The focus of literature and debates of agile methodologies has been on the development activities while quality assurance practices of different agile methodologies have received less attention and an overall picture is missing. However, quality must be addressed if these methodologies are to be applied to practice in the software industry. This paper collects quality assurance practices of different agile methodologies together and analyzes them. The methodologies are analyzed from a good enough quality (Bach, 1997) perspective. Good enough quality is a framework for analyzing the quality of a software product in terms of its readiness to delivery. The aim of agile methodologies is to deliver business value rapidly by delivering working software frequently. Therefore, the good enough quality concept is suitable for analyzing how agile methodologies have used quality assurance practices to gain confidence that the implemented software is of good enough quality before deliveries. Based on the results, strengths, weaknesses, and applicability of the methodologies from the quality assurance viewpoint are discussed and improvement areas as well as future research areas are suggested. The research problem can be stated in the following two questions. What quality assurance practices are proposed in different agile methodologies? How does the combination of these practices within a methodology support achieving quality from a good enough quality perspective? The main objective of the research is to collect quality assurance practices from different agile methodologies to a single paper and analyze them to gain deeper knowledge about the state of quality assurance in these methodologies. The analysis of quality assurance practices focuses on the accuracy of product quality assessment, cost of quality assurance, information that is gathered to support decision making, and timing of all these elements. In addition, empirical evidence and concrete guidance are addressed. Each methodology should provide these pieces of information in order to be applicable to practice. The second objective of the research is to analyze and discuss how the combination of proposed quality assurance practices aims to achieve good enough quality at a methodology level. The sub objective of the research is to suggest improvement areas in quality assurance