Understanding the Software Development Life Cycle

The Software Development Life Cycle (SDLC) is a process that seeks to help developers produce the highest quality software with the lowest cost in the shortest time possible. SDLC is composed of a detailed plan for how to develop, alter, maintain and replace the software system. SDLC is important because it offers a basis for project planning, scheduling, estimating, and a framework for a standard set of activities and deliverables.

SDLC can be a mechanism for project tracking and control, and increases the visibility of project planning to all the stakeholders in the development process and helps decrease project risk.

Popular SDLC models include the:

  • Agile Model
  • Waterfall Model
  • Spiral Model
  • V-Model
  • Big Bang Model

SDLC works by lowering the cost of software development while simultaneously improving quality and shortening production time. To achieve this, SDLC by following a plan that removes the typical pitfalls to software development projects. The plan for a software development life cycle varies based on the methodology, but generally consists of the following stages, which are roughly the same and follow the same order from one methodology to another.

Stage 1: Planning and Requirement Analysis

Requirement analysis is the most important and fundamental stage in SDLC. It is performed by the senior members of the team with inputs from the customer, the sales department, market surveys and domain experts in the industry. This information is then used to plan the basic project approach and to conduct product feasibility study in the economical, operational and technical areas. 

Stage 2: Defining Requirements

Once stage one is completed, the next step is to clearly define and document the project requirements and get them approved by the customer or the market analysts. This is done through an SRS (Software Requirement Specification) document which consists of all the product requirements to be designed and developed during the project life cycle.

Stage 3: Designing the Product Architecture

The SRS is the reference document that the project architects use to develop the product. From the SRS framework, normally more than one design approach is proposed and documented in a Design Document Specification (DDS), which is then reviewed by the important stakeholders. The best design approach is then selected based on various parameters like risk assessment, product robustness, design modularity, budget and time. It’s crucial to have this plan to collect and incorporate the stakeholder input because failure at this stage will incur greater costs later on.

Stage 4: Building or Developing the Product

In this stage of SDLC, the actual development starts and the product is built. The software is developed per the DDS during this stage and the code is generated. 

Stage 5: Testing the Product

Often this stage is a subset of all the stages during most SDLC models, but this stage specifically refers to the testing where product defects are reported, tracked, fixed and retested until the product reaches the quality standards as defined. 

Stage 6: Deployment in the Market and Maintenance

Once the product is ready to go, it is released formally in the appropriate markets. Depending on the product, it may be released in stages per the business strategy of the partners.  If the product release doesn’t go that well, then the process goes back to Stage 5. 

As the SDLC varies per methodology, this article serves to briefly outline the process and the stages within. 

 

Sources:

https://stackify.com/what-is-sdlc/

https://www.guru99.com/software-development-life-cycle-tutorial.html

https://raygun.com/blog/software-development-life-cycle/

https://www.tutorialspoint.com/sdlc/sdlc_overview.htm