CSC/ECE 517 Fall 2007/wiki3 10 ljh: Difference between revisions
Line 38: | Line 38: | ||
==References== | ==References== | ||
[1] [http://agile.csc.ncsu.edu/SEMaterials/AgileMethods.pdf A Survey of Agile Development Methodologies] | * [1] [http://agile.csc.ncsu.edu/SEMaterials/AgileMethods.pdf A Survey of Agile Development Methodologies] | ||
[2] [http://agile.csc.ncsu.edu/SEMaterials/PlanDriven.pdf A Survey of Plan-Driven Development Methodologies] | * [2] [http://agile.csc.ncsu.edu/SEMaterials/PlanDriven.pdf A Survey of Plan-Driven Development Methodologies] | ||
[3] [http://portal.acm.org/citation.cfm?id=999485&coll=ACM&dl=ACM&CFID=43700200&CFTOKEN=87947446 Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods ] | * [3] [http://portal.acm.org/citation.cfm?id=999485&coll=ACM&dl=ACM&CFID=43700200&CFTOKEN=87947446 Balancing Agility and Discipline: Evaluating and Integrating Agile and Plan-Driven Methods ] |
Revision as of 22:53, 18 November 2007
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]
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]
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]