


Once the design stage has been completed and the changes, requirements and bugs have been defined then coding can begin.
Coding involves the software engineer translating the requirements into code that performs, displays, or processes the logic or functionality defined in the Design stage.
As well as simply coding or writing the software, the coding stage also includes testing. This can be Unit Testing, where specific code is tested in isolation or User Acceptance Testing (UAT), where users or quality assurance testers test the software against the requirements. This ensures the quality of the software and reduces the likelihood of bugs or unexpected behaviour.


Once the software has been deployed and is in the hands of the users the Support phase can then begin.
This stage involves supporting the users with the software, whether it be using the documentation to help them perform certain functions, fixing data related issues, or diagnosing bugs and problems with the software that need to be fixed.
Support is an important part of the Software life cycle as it can help to improve the software and the customer experience at the same time. Feedback found in support can be fed back into the next cycle to improve the software by fixing a bug or adding a request feature.


One main feature of the software life cycle is that it starts over again for the next new feature, version, or iteration of the software.
The size and scope of the software life cycle can be different depending on what the requirement is at the time. A new piece of software would have a large scope, but a bug fixes release or a minor feature release could have much smaller scope.
The principal is the same regardless and all stages of the life cycle are important to ensure quality software is created and maintained.