CSC/ECE 517 Fall 2011/ch5 6d ny: Difference between revisions
Line 146: | Line 146: | ||
==Conclusion== | ==Conclusion== | ||
To conclude, agile software development stresses rapid iterations, small and frequent releases, and evolving requirements facilitated by direct user involvement in the development process. This development isn’t a managerial free-for-all. It requires discipline and adherence to processes, even when those processes are not burdensome. | |||
When it comes to methodologies, each project is different. One thing is clear: that there is no “one-size-fits-all” solution. | |||
==See also== | ==See also== |
Revision as of 17:10, 13 November 2011
Agile Landscape
Introduction
Agile- denoting “the quality of being agile; readiness for motion; nimbleness, activity, dexterity in motion ” is a group of software development methodologies based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.
The term “Agile Software Development” was introduced in 2001 by Agile Software Development Manifesto published by a group of software practitioners and consultants. The important aspects of this Manifesto are,
- Individuals and interactions over processes and tools.
- Working software over comprehensive documentation.
- Customer collaborations over contract negotiation.
- Responding to change over following plan.
Flowchart
Agile Software development processes are based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.Agile processes use feedback, rather than planning, as their primary control mechanism. The feedback is driven by regular tests and releases of the evolving software.
Different Methodologies
- Extreme Programming(XP)
- Scrum
- Crystal family of Methodologies
- Feature Driven Development
- Rational Unified Process
- Dynamic Systems Development
- Adaptive Software Development
- Open Source Software Development
- Agile Modelling
- Pragmatic Programming
Different Methodologies
Extreme Programming
Definition
Origin
FlowChart
Usage
Scrum
Definition
Origin
FlowChart
Usage
Crystal family of Methodologies
Definition
Origin
FlowChart
Usage
Feature Driven Development
Definition
Origin
FlowChart
Usage
Rational Unified Process
Definition
Origin
FlowChart
Usage
Dynamic Systems Development
Definition
Origin
FlowChart
Usage
Adaptive Software Development
Definition
Origin
FlowChart
Usage
Open Source Software Development
Definition
Origin
FlowChart
Usage
Agile Modelling
Definition
Origin
FlowChart
Usage
Pragmatic Programming
Definition
Origin
FlowChart
Usage
Comparision
How widely these methodologies are used
Evidence to support the effectiveness of Agile Development
Conclusion
To conclude, agile software development stresses rapid iterations, small and frequent releases, and evolving requirements facilitated by direct user involvement in the development process. This development isn’t a managerial free-for-all. It requires discipline and adherence to processes, even when those processes are not burdensome. When it comes to methodologies, each project is different. One thing is clear: that there is no “one-size-fits-all” solution.