SDLC is an acronym for software development lifecycle.
What is SDLC?
It is a process followed in an organization to build software products. Its aim of is to produce quality software that meets or exceeds the needs of its customer,
which is delivered on time and within stipulated budget.
SDLC defines a detailed plan consists of phases which helps an organization to successfully produce high quality software within estimated budget and time.
A typical software development life cycle consist of following stages:
1. Planning and Requirement Analysis
This is the most fundamental stage of SDLC. In this stage an initial analysis of the requirement is performed by the development team with inputs from sales,
customers, marketing and domain experts. This information is then used to plan for resource allocation, capacity, scheduling, cost estimation and provisioning.
During planning phase associated risks are identified and feasibility study is also performed. Outcome of this stage include project plans, estimated costs,
projected schedules, and procurement needs.
2. Defining Requirements
Once the planning and requirement analysis is complete next step to clearly define and document the requirements and get them reviewed with and approved
by the stakeholders. Outcome of this stages is SRS (Software Requirements Specification) document.
3. Designing the Software Architecture
Software Requirement Specification is a key reference for software architect to design a software architecture. Software architect may propose multiple approaches
to the software architecture which are documented in DDS (Design Document Specification) document.
DDS is reviewed by all the stakeholders for product reliability, modular design for ease of maintenance and estimated costs and timeframes are all considered to
select the best design for building the product.
4.Building or Developing the Software
In the stage the actual development of the software begins. Code is written as per DDS in this stage. Developers uses the programming language chosen to write code,
they must follow the coding guideline for the respective programming language. Unit and Integration tests are written and Code Reviews are performed before code is
merged to the Source Code repository.
5. Software Testing
In modern software development practices testing at unit and integration level is done during development stage. In this stage software is validated to check whether
is meets the needs of the user as specified in Software Requirement Specification. Software is also tested in this stage for concerns like scalability, performance and
reliability.
6. Deployment and Maintenance
Once a software is tested and ready for deployment it is released thought a formal process in to production. Once the product is released it enters the maintenance
phase where is monitored and provided support until it eventually reaches end of life.