Teaching Agile Software Development Quality Assurance
چکیده
This chapter presents a teaching framework for agile quality—that is, the way quality issues are perceived in agile software development environments. The teaching framework consists of nine principles, the actual implementation of which is varied and should be adjusted for different specific teaching environments. This chapter outlines the principles and addresses their contribution to learners’ understanding of agile quality. In addition, we highlight some of the differences between agile software development and plan-driven software development in general, and with respect to software quality in particular. This chapter provides a framework to be used by software engineering instructors who wish to base students learning on students’ experiences of the different aspects involved in software development environments. IntroductIon Quality assurance (QA) is an integral and essential ingredient of any engineering process. Though there is a consensus among software practitioners about its importance, in traditional software development environments conflicts may still arise between software QA people and developers (Van Vliet, 2000, p. 125). Agile software development methods emerged during the past decade as a response to the characteristics problems of software development processes. Since the agile methods introduced a different perspective on QA, we will call the agile approach toward quality issues agile quality—AQ, and will focus, in this chapter, on the teaching of AQ. By the term AQ, we refer to all the activities (e.g., testing, refactoring, requirement gathering) that deal with quality as they are manifested and applied in agile software development environments. It is important to emphasize that the term