Agile Software Development: Its about Feedback and Change



Agile Software Development: Its about Feedback and Change

IEEE Computer Society, June 2003

Submitted by: Bhavani Prasad Sangannagari

Student-ID: 990 02 0777

This paper discusses about a software approach that is different from many traditional development methods. Most of the traditional development methods begin with documenting a complete set of requirements. Agile Software development methods are useful in environments where customer requirements are not definitive, where technology and business environments keep shifting, etc. Author compares recent work or methodologies developed for this process. Lightweight methodologies that were resulted from the discussions of some of the experienced practitioners were claimed to achieve more customer satisfaction and high quality while maintaining lightness in the work process. These lightweight methodologies were described as agile and then four comparative values underlying agile position were recognized as individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following plan. Empirical methods that are in synch with the agile Manifesto can considered to be agile. This article then discusses about the conversations around agile under different circumstances, scalability, and adaptability and finally ends with summarizing different articles regarding this topic.

The paper contrasts between two processes namely empirical versus defined process. Defined process is like a well-established protocol that if once started and allowed to completion produces the same result every time. Empirical processes are more dynamic towards to changes which employ short inspect and adapt cycles, with short feedback loops and therefore are more suitable to handle industry’s conflicting and unpredictable demands. It recognizes spreading of agile development techniques in the community unless which has no interest in change. Agile development is said to effect the power structure within an organization by effecting the decision-making community. Also agile practices improve product quality by necessitating early involvement of test groups for rapid feed back. Finally coming to the discussions about the various related articles discussed in the paper one of them identifies three categories of risk factors that may influence the bias toward agile or plan-driven side.

It appears from the discussion that agile development methodologies can only be applied to short non-life critical projects. While discussing about the scalability author says that people who prefer CMM certification are less interested in agile techniques and vice-versa. But in one of the summaries among related articles, he points out that methods are being developed to find the best mix of plan-driven versus agile. It discovers the agile techniques were being used in the industry right from 1960’s and building of techniques into a theoretical and practical framework was the only new thing about it.

It is true that in most of the projects, stakeholder requirements have been high volatile; technologies have been changing fast from time to time. In such cases agile development methods may help. But in these situations life critical projects, large projects, may be difficult to carry out using these methods.

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download