CSC/ECE 517 Fall 2007/wiki3 10 ljh: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 30: Line 30:
* "Predictability, stability, and high assurance" [3]
* "Predictability, stability, and high assurance" [3]
* Attractive methodology for highly critical systems [4]
* Attractive methodology for highly critical systems [4]


==Benefits of Agile Methedology==
==Benefits of Agile Methedology==

Revision as of 23:21, 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]
  • 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

Oil and Water?]