What is SDLC?

SDLC(Software development life cycle) is a process followed for a software project, within a software organization. It consists of a detailed plan describing how to develop, maintain, replace and alter or enhance specific software. The life cycle defines a methodology for improving the quality of software and the overall development process.

The following figure is a graphical representation of the various stages of a typical SDLC.

SDLC Phases

 

Phase 1: Planning and analysis

Phase 2: Requirements

Phase 3: Design

Phase 4: Coding

Phase 5: Testing

Phase 6: Deployment

Phase 7: Maintenance and Updates

 

 

Phase 1: Planning and analysis

The planning phase ensures you’re starting off on the right foot. So try to make sure you include all of the departments that are going to be impacted by this project, including project managers, developers, operations, security, and key stakeholders.

This stage gives a clearer picture of the scope of the entire project and the anticipated issues, opportunities, and directives which triggered the project.

Phase 2: Requirements

Every piece of software—whether it’s an app, website redesign, or new feature—needs to solve a customer problem.

This process is conducted with the help of ‘Software Requirement Specification’ document also known as ‘SRS’ document. It includes everything which should be designed and developed during the project life cycle.

Phase 3: Design

Based on the requirements specified in SRS, usually more than one design approach for the product architecture is proposed and documented in a DDS – Design Document Specification.

A design approach clearly defines all the architectural modules of the product along with its communication and data flow representation with the external and third party modules (if any). The internal design of all the modules of the proposed architecture should be clearly defined with the minutest of the details in DDS.

Phase 4: Coding

This phase is obviously the hardest and potentially riskiest stage of the SDLC (and each of the software development processes we’ll discuss below handle it differently.) However, whether you’re working in Agile sprints, building out an MVP, or using the more traditional waterfall method, the goal here is to stick to the SOW, avoid scope creep, and build clean, efficient software.

Phase 5: Testing

 

Once the software is complete, it is deployed in the testing environment. The testing team starts testing the functionality of the entire system. This is done to verify that the entire application works according to the customer requirement.

Phase 6: Deployment

 

Once the product is tested and ready to be deployed it is released formally in the appropriate market. Sometimes product deployment happens in stages as per the business strategy of that organization. The product may first be released in a limited segment and tested in the real business environment (UAT- User acceptance testing).

Phase 7: Maintenance and updates

Once the system is deployed, and customers start using the developed system, following 3 activities occur

  • Bug fixing – bugs are reported because of some scenarios which are not tested at all
  • Upgrade – Upgrading the application to the newer versions of the Software
  • Enhancement – Adding some new features into the existing software

The main focus of this SDLC phase is to ensure that needs continue to be met and that the system continues to perform as per the specification mentioned in the first phase.