- Analysis
- Design
- Implementation (programming testing and installing)
- Evaluation
- Maintenance
- Feasibility - is the problem solvable
- Requirements - working out what the solution needs to do
Analysis and design - working out how the solution needs to do it
- Implementation - coding the solution
- Testing - checking if it actally works
- Deployment - installing it in the target environment
- Evaluation - checking in with the user if the solution is complete
- Maintenance - ensuring it continues to function properly by updating, patching and improving it
Requirements
System Design
Implementation
Integration & testing
Deployment
Maintenance
- Easy to understand and follow each stage in the model
- It is clearly documented, making it easier for anyone to make the program for themselves
- Inflexible, so any changes made to the program are hard to implement once the project has started.
- If a problem is found later in the cycle, it can be time consuming to fix
- If stages are delayed the development time will be much longer
In projects where the requirements in each stage are well understood and clear or unlikely to change.
- Adaptable, so it can respond to changes in requirements. Including late changes
- There's a lot of communication between the team members and the strakeholders, so it benefits bespoke programs
- Encourages working a lot with customers to ensure the product meets their needs
- Has continuous testing throughout the cycle, meaning the developed product will be high quality
- Needs experienced team members, and can be challenging without them.
- Less documentation as its more focused of coding and adaptability
- The constant communication and collaboration can be tiring for team members
In smaller sized or medim sized project where many changes are highly likely
- Flexible, it accommodates changes throughout various stages of the development
- Risk management, does risk assessmnts to help identify and mention issues early
- encourages feedback and input from clients throughout the development process, good for bespoke programs
- It's more complex and harder to manage than other methodologies
- Expensive as more resources are needed and you need to hire risk assessors
- Time-consuming as there's a big emphasis on risk management and planning, so the process is longer
Large projects where changes within the project are highly likely
- Projects are developed quickly and with high quality
- Clients are involved throughout the development process, ensuring the system matches their needs and expectations
- Flexible, so changes can be made throughout the development with no problems
- Developed in small increments with constant feedback which can help increase the quality of the project
Needs strong team work and team members that can work well together
- There may be a lack of quality as the developers are focused more on how fast the project is made.
- Due to this models flexibility, it can lead to many changes with some not being necessary and some you cannot control
Projects which need to be created fast