Here’s an overview of the various software development lifecycles/methods/models.
| 🔢 Waterfall lifecycle | 😵💫 Spiral model | 🏃 Agile development | 👥 Extreme programming | ⚡ Rapid application development | |
|---|---|---|---|---|---|
| Unique feature | Well-defined sequence | Risk-driven | Sprints 🏃 | Pair programming | Focus groups |
| Important notes | Traditional | Just a guide. Uses other methodologies as appropriate. | Group of methodologies. Refinement of RAD. | Framework focusing on team values/culture | Iterates on prototypes (kinda basic tbh) |
| Main focus | Clear responsibilities | Risk analysis and management | Programming! | Teamwork, shared ownership | Usability of the program |
| Iterative? | |||||
| Prototypes? | |||||
| User involvement | Minimal | Frequent | Constant | Constant | Frequent |
| Handling changed requirements | Terrible | Good | Very good | Very good | Good |
| Good documentation? | Maybe at the end | Maybe | |||
| Risk analysis? | |||||
| Focus groups? | |||||
| Velocity | Slow | Slow-ish | Medium | Medium | Rapid! |