Software Design Life Cycles (SDLC) Models:
- Waterfall Model
- Incremental or Iterative Development Model
- Prototyping Model
- Agile Methodology (Agile methodology has various derivate approaches, such as Extreme Programming, Dynamic Systems Development Method (DSDM), and SCRUM. Extreme Programming is one of the most widely used approaches. Test-driven development is one of the core practices of Extreme Programming. We talked about Test-driven development in post#21.)
For more information about above mentioned different software design life cycle models, please read here.
The above article describes Extreme Programming in details, but doesn’t mention much about SCRUM. To understand how SCRUM works, please read “How to implement Scrum in 10 easy steps“.
What are the differences between SCRUM and Extreme Programming?
1. Scrum teams typically work in iterations (called sprints) that are from two weeks to one month long. XP teams typically work in iterations that are one or two weeks long.
2. Scrum teams do not allow changes into their sprints. A new feature of equivalent size can be swapped into the XP team’s iteration in exchange for the unstarted feature.
3. Extreme Programming teams work in a strict priority order. By contrast, the Scrum product owner prioritizes the product backlog but the team determines the sequence in which they will develop the backlog items.
4. Scrum doesn’t prescribe any engineering practices; XP does.
For more information about the differences between Scrum and Extreme Programming, please read here.