User:NcsuOO517
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