CSC/ECE 517 Fall 2007/wiki3 10 ljh: Difference between revisions
Line 1: | Line 1: | ||
=The Agile Debate= | =The Agile Debate= | ||
==Project Description== | ==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. | 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. | ||
Line 14: | Line 12: | ||
Plan-driven methodology encompasses several different processes including [http://courses.cs.vt.edu/~csonline/SE/Lessons/Waterfall/index.html waterfall], [http://www.sei.cmu.edu/tsp/psp.html Personal Software Process], and the [http://en.wikipedia.org/wiki/Rational_Unified_Process Rational Unified Processes]. | Plan-driven methodology encompasses several different processes including [http://courses.cs.vt.edu/~csonline/SE/Lessons/Waterfall/index.html waterfall], [http://www.sei.cmu.edu/tsp/psp.html Personal Software Process], and the [http://en.wikipedia.org/wiki/Rational_Unified_Process Rational Unified Processes]. | ||
==What is Agile Methodology?== | ==What is Agile Methodology?== | ||
Line 22: | Line 21: | ||
Agile methodology encompasses several different processes including [http://www.extremeprogramming.org/ Extreme Programming], [http://agile.csc.ncsu.edu/crystal.html Crystal], [http://agile.csc.ncsu.edu/scrum.html Scrum], and [http://agile.csc.ncsu.edu/fdd.html Feature Driven Development]. | Agile methodology encompasses several different processes including [http://www.extremeprogramming.org/ Extreme Programming], [http://agile.csc.ncsu.edu/crystal.html Crystal], [http://agile.csc.ncsu.edu/scrum.html Scrum], and [http://agile.csc.ncsu.edu/fdd.html Feature Driven Development]. | ||
==Benefits of Plan-Driven Methodology== | ==Benefits of Plan-Driven Methodology== | ||
Line 38: | Line 38: | ||
* Requires teams to regularly evaluate how to become more effective and modify accordingly [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] | * "Higher customer satisfaction, lower defect rates, faster development times" [3] | ||
==References== | ==References== |
Revision as of 23:16, 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]
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]
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]