CSC/ECE 517 Fall 2007/wiki3 10 ljh
The Agile Debate
Project Description
The Agile debate. Perhaps the most prominent controversy in o-o design today is whether it is possible to do a robust design with as little advance planning as agile methodologies recommend. Research this issue, on the Web and in the ACM DL, and report (fairly) on the major arguments of both sides, and on the evidence for both positions.
What is Plan-Driven Methodology?
Laurie Williams describes Plan-driven methods: "Plan-driven methods are those that begin with the solicitation and documentation of a set of requirements that is as complete as possible. Based on these requirements, one can then formulate a plan of development. Usually, the more complete the requirements, the better the plan." [1]
Plan-driven methodology encompasses several different processes including waterfall, Personal Software Process, and the Rational Unified Processes.
What is Agile Methodology?
Laurie Williams describes agile methodoly as:
"Agile methods are a subset of iterative and evolutionary methods (Larman, 2004; Larman and Basili, June 2003) and are based on iterative enhancement (Basili and Turner, 1975) and opportunistic development processes (Curtis, 1989). In all iterative products, each iteration is a self-contained, mini-project with activities that span requirements analysis, design, implementation, and test (Larman, 2004)."[1]
Agile methodology encompasses several different processes including Extreme Programming, Crystal, Scrum, and Feature Driven Development.
Benefits of Plan-Driven Methodology
- "Thorough documentation" [2]
- "Detailed plans, workflow, roles, responsibilities, and work product descriptions" [2]
- "Focus on verification and validation" [2]
- "Predictability, stability, and high assurance" [3]
- Attractive methodology for highly critical systems [4]
Benefits of Agile Methedology
- Allows for changing requirements [1]
- Delivers working software frequently [1]
- Encourages interaction between business people and developers [1]
- Requires teams to regularly evaluate how to become more effective and modify accordingly [1]
- "Higher customer satisfaction, lower defect rates, faster development times" [3]
References
- [1] A Survey of Agile Development Methodologies
- [2] A Survey of Plan-Driven Development Methodologies
- [3] Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods
- [4] [www.agilealliance.org/system/article/file/923/file.pdf Agile and Plan-Driven Methods Oil and Water?]