Software quality and assurance in waterfall model and XP: a comparative study

  • Authors:
  • Sana'a Jawdat Khalaf;Mohamed Noor Al-Jedaiah

  • Affiliations:
  • -;-

  • Venue:
  • WSEAS Transactions on Computers
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

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]