Adaptive software development: a collaborative approach to managing complex systems
Adaptive software development: a collaborative approach to managing complex systems
Agile software development
Agile software development ecosystems
Agile software development ecosystems
Standards and agile software development
SAICSIT '03 Proceedings of the 2003 annual research conference of the South African institute of computer scientists and information technologists on Enablement through technology
Hi-index | 0.01 |
Dealing with an increasingly volatile organizational environment is a serious challenge for managers of any software development. Traditional formal software development methodologies can be characterized as reflecting linear, sequential processes, and the related management approaches, and be effective in development software with stable, known, consistent requirements. Yet most real-world development efforts are much more likely to be conducted in more volatile environments, as organizations adapt to changing technology, markets, and social conditions. Requirements for systems must be able to change right along with them, often at "Internet speed" [1]. Project management approaches based on the traditional linear development methodologies are mismatched with such dynamic systems. The support of software quality in a software development process may be regarded under two aspects: first, by providing techniques, which support the development of high quality software and second, by providing techniques, which assure the required quality attributes in existing artifacts. Both approaches have to be combined to achieve effective and successful software engineering [2]. Agile methods may produce software faster but we also need to know how they meet our quality requirements. In this paper we compare the waterfall model with agile processes to show how agile methods achieve software quality under time pressure and in an unstable requirements environment, i.e. we analyze agile software quality assurance. We present a detailed waterfall model showing its software quality support processes. We then show the quality practices that agile methods have integrated into their processes. This allows us to answer the question "Can agile methods ensure quality even though they develop software faster and can handle unstable requirements?"[3]