The SDLC (Software Development Life Cycle) is a process that defines the various stages involved in the development of software for delivering a high-quality product. SDLC stages cover the complete life cycle of the software i.e. from inception to retirement of the product. Adhering to the SDLC process leads to the development of the software in a systematic and disciplined manner.


Purpose

The purpose of SDLC is to deliver a high-quality product which is as per the customer’s requirement. The defined its phases are:

  1. Requirement gathering
  2. Designing
  3. Coding
  4. Testing
  5. Deployment
  6. Maintenance 


SDLC Cycle

1. Requirement Gathering and Analysis

During this phase, all the relevant information is collected from the customer feedback to develop a product as per their expectation. Any ambiguities must be resolved in this phase only. A review of previous customer interactions is used to gather all the information before commencing. Once complete, an analysis is undertaken to check the feasibility of the development of the product. Once the requirements are clearly understood, the basic specification document is created.


2. Design

In this phase, the requirements gathered in the specifications document is used as an input, and the software architecture that is used for implementing system development is derived.


3. Implementation or Coding

Implementation/Coding starts once the developers gets the specification document. The software design is translated into source code. All the components of the software are implemented in this phase.


4. Testing

Testing starts once the coding is complete and the software released for testing. In this phase, the developed software is tested thoroughly and any defects found are assigned to developers to get them fixed. Re-testing and regression testing is undertaken until the point at which the software is as per the specification. Testers refer to the specification document to make sure that the software is in line with the requirements. When testing is complete, sign off is given.


5. Deployment

Once the product is tested, it is deployed in the production environment.


6. Maintenance

After the deployment of a product on the production environment, maintenance of the product i.e. if any issue comes up and needs to be fixed or any enhancement is to be completed is taken care by the developers.