Software development lifecycle abbreviated as SDLC is a methodology used in software engineering to make software. SDLC mandates the use of pre-defined processes to complete software engineering projects involving many people. SDLC is widely used in software companies more than anywhere else.
In a software development environment there are many people doing a part of the SDLC. There are developers who write the software using a programming language. Software testers ensure the software is bug free by testing the software application. User Assistance authors develop user assistance deliverables for various audiences, which can be developers, QA engineers, and the end-users of the software.
Any software or systems development project will have generic phases. These can be broadly classified into the following categories.
Project Initialization Phase
This phase is concerned with establishing a roadmap for the completion of the project. What is needed and what is not is determined here. The client may be internal or external. The internal client might be the product development team itself.
Envision Phase
The software architecture is envisaged. A design roadmap is established. Prototypes are developed. Business logic is given shape by way of functionality design. System procedures are illustrated. A lot of documentation happens here. Almost all the people in the SDLC are involved here.
Writing the code
Software development starts here. Code is written in sprint cycles or at one stretch.
Bug checks
In testing environments, professional testers check for bugs. Bugs are erros in the application. They also develop test-driven recommendations for future software development.
Release
The software is put up into a real-time environment that simulates a customer location, and deployed for the end-user after successful test-runs.
Software re-establishments
When the software is being used by customers, any issues that come up are resolved in this phase. Even changes to functionality are made here.
So this is the software development lifecycle. Such phases are generic and used by almost all organizations developing software.