User:NcsuOO517: Difference between revisions
Line 61: | Line 61: | ||
== References == | == References == | ||
[1] Hoda, Rashina et al. "[http://portal.acm.org.www.lib.ncsu.edu:2048/ft_gateway.cfm?id=1869467&type=pdf&CFID=113113249&CFTOKEN=65350389 Agility in Context]." ''Proceedings of the ACM international conference on Object oriented programming systems languages and applications'' (2010): 74-88. ACM DL. |
Revision as of 21:37, 8 November 2010
Agile Software Development Methodology
Purpose
"Agile is set up to strongly support garnering feedback and guiding the customer toward better understanding what they want and need"
"Both Scrum and XP suit similar kinds of projects: a small, co-located team; an on-site or available customer representative; an emphasis on coding and testing early; and frequent feedback into updated requirements"
Common Practices
- Iterative, incremental development cycle
- Extreme Programming (XP)
- SCRUM
- Retrospectives
- Test-driven development
- Requirements analysis
- Planning Poker
- User stories
- Team velocities
- Release planning
Disadvantages
- Lack of customer involvement made gathering requirements extremely difficult, leading to loss of productivity and rework. - Contract negotiation - customers want "fixed deadline, fixed price, and fixed scope" - meaning requirements are fixed. Agile embraces change, which you can't do w/ a fixed price project. - Design-intensive projects - Superficial documentation - Adaptation to changing requirements not always needed - Sometimes difficult to break down complication development into small user stories - Distributed teams had difficulty carrying out some team collaboration tasks
Other Software Development Methodologies
Waterfall
Waterfall vs. Agile
Spiral
Spiral vs. Agile
Iterative
Iterative vs. Agile
Rapid Application Development (RAD)
RAD vs. Agile
Rational Unified Process (RUP)
RUP vs. Agile
Conclusion
References
[1] Hoda, Rashina et al. "Agility in Context." Proceedings of the ACM international conference on Object oriented programming systems languages and applications (2010): 74-88. ACM DL.