Introduction


The software engineering community has begun to examine agile methodologies to judge their impact on the creation of quality software. Such an interest can be seen in the literary, corporate, and academic inclusion of such methodologies as Extreme Programming [Beck2000], Adaptive Software Development [Highsmith1999], Crystal [Cockburn2001], Scrum [Rising+2000], and others.

Any software development process has to deal with the inevitable change, to satisfy rapidly evolving requirements and technologies. Recent growth in Internet and entrepreneurial software assets accentuates the need to handle such unavoidable change. The software engineering community has begun to examine and implement lightweight, agile methodologies [Cockburn2001]. Advocates of these methodologies profess that these methods are superior for dealing with change and, therefore, for providing customers with what they want, when they want it, and with acceptable defect rates.

As we said, quite a few emerging methodologies can be classified as agile. The creators of these methodologies met in Snowbird, Utah, in February 2001 to find common ground. As a result, they formed the Agile Alliance [Beck+2001]. These individuals state their uniting principles this way.

We are uncovering better ways of developing software by doing it and helping others to do it. We value:

  • Working software over comprehensive documentation.

  • Individuals and interactions over processes and tools.

  • Customer collaboration over contract negotiation.

  • Responding to change over following a plan.

These principles and the details of the agile methodologies sound promising, particularly given the tumultuous conditions of the software industry. However, the practices of these methodologies diverge significantly from processes that have been viewed as trusted, commendable, predictable processes, such as the Personal Software Process [Humphrey1995] and the Rational Unified Process [Jacobson+1999]. There is a need to quantitatively study the effectiveness of this new class of methodologies to assess whether they are, indeed, improvements over the more traditional practices.

Software metrics and models are invaluable for characterizing software processes and assessing their effectiveness and improvement. A well-defined set of product and process metrics can support a quantifiable, objective assessment of the costs and benefits of the agile methodologies. In this chapter, we propose an experimental framework for this assessment. Through industrial use of this framework for empirically investigating the effectiveness of agile methodologies, we, as a software community, can gain valuable information on prudent use of these methodologies.



Extreme Programming Perspectives
Extreme Programming Perspectives
ISBN: 0201770059
EAN: 2147483647
Year: 2005
Pages: 445

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net