If you want to build a good and quality software product you need clearly understand the software development life cycle. Starting with gathering requirements to maintenance, every step is very important for making the end-user happy.
There are a lot of models of software development life cycle which are used in big and small companies, but the main steps stay the same.
Software Development Life Cycle
- Requirements — at this phase you need to analyze all information coming from stakeholders and what kind of product they want to have in the end. It’s necessary to write down everything for the future creation of a specification. The Dev Team will use specification for making structure and writing code. Test team will use it for creating test plans, test cases and bug reports. The more information you’ll gather the less time you will spend on fixes, redesign, meetings and other issues.
- Design — the second phase in SDLC (Software Development Life Cycle). At this stage we need a scope document with mock ups or hand drawn sketches to know how future pages or interface should look like. Also we need detailed development software specification for developing architecture that meets client requirements. Completing this stage means, that you will have the project scope document and software requirement specification (SRS).
- Development (Coding). After the client has approved requirements, structure and mock ups (that were made a little by some coding, to show the client how they will work in the end). Developers begin to code according to SRS and making control tests of their code, called unit tests.
- Testing. When developers have ended coding the software, we need to make sure that a software meets all the requirements and there are no bugs or issues. After the bugs were fixed by developers and retested by testers, comes the acceptance testing when a client uses software exactly as it will be used when implemented. While the main bug fixes were made, product is ready to be deployed. The main thing at this stage is to document all the tests in test cases for further reuse while maintenance stage.
- Maintenance. If bugs were fixed, testing was complete and client is happy with the actual result — product is ready to be deployed. Generally, you will have to make some minor bug fixes at maintenance stage. But if a client will want some new functionality or some changes in working software — process starts from the very beginning of a software development life cycle.
The process of SDLC was described by using a Waterfall Model. For other you can search in Google = SDLC V Model, Spiral model, rapid prototyping etc.