User:NcsuOO517

From Expertiza_Wiki
Jump to navigation Jump to search

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