Computing Science
Software Design and Development
Development Methodologies
🤓 Study
📖 Quiz
Play audio lesson
Development Methodologies
Development Methodologies
Waterfall Methodology
- Sequential design process: stages are completed one at a time, with each stage depending on the output of the previous stage.
- Rigorous structure: provides clear milestones for project management.
- Limited flexibility: issues can arise if changes are needed after a stage has been completed, as it often requires revisiting multiple stages.
Agile Methodology
- Iterative and incremental approach: Agile methodology involves frequent incremental releases with gradual improvement and iteration at each stage.
- Responsive to changes: Unlike the waterfall method, Agile allows for changes to be made after the initial planning.
- Early and predictable delivery: Using time-boxed, fixed schedule Sprints or iterations, new features are delivered quickly and predictably.
- Promotes teamwork: Agile encourages active stakeholder involvement, collaboration, and face-to-face communication.
- Can lead to frequent changes, which can increase the risk of the project scope spiralling out of control if not managed correctly.
Spiral Model
- Combines Waterfall and Agile: The Spiral Model is a risk-driven process model generator for software projects that combines aspects of both design and prototyping-in-stages.
- Focus on risk analysis: It requires a direct consideration of identified project risks during the development of the software.
- Costly and complex: Suitable for large, expensive and complicated projects.
Methodology Comparison
- Determine the most suitable development methodology by evaluating the project size and requirements, how definitive the project requirements are, the client's availability for communication and engagement, the technical skills of the development team, and the importance of risk assessment.
- Waterfall methodology is good for smaller projects with very well-defined requirements and little change expected.
- Agile methodology is best for projects where there is a higher likelihood of regular changes and need for client input throughout the project.
- Spiral methodology is the go-to for large, complex and high risk projects, where both the development team and the client need to understand and react to risks at each stage.