SDLC (Software Development Life Cycle)

Jia Le Yeoh
3 min readSep 16, 2021

--

SDLC (Software Development Life Cycle) Process, Phases and Model

The Software Development Life Cycle (SDLC) is a framework that lays out the steps involved in software development at each stage. It contains a precise blueprint for developing, deploying, and sustaining software.

The Software Development Life Cycle (SDLC) describes the entire development process, including all processes involved in designing, developing, testing, and deploying a software product.

SDLC (Software Development Life Cycle) Process:

The Software Development Life Cycle (SDLC) is a method that specifies the many steps required in software development in order to create a high-quality result. SDLC stages encompass the entire life cycle of a software product, from conception through retirement.

Purpose:

The goal of the SDLC is to create a high-quality product that meets the needs of the customer.

Requirement collecting, design, coding, testing, and maintenance are the phases of the SDLC. To supply the Product in a methodical manner, it is critical to stick to the phases.

As an example, A software must be produced, and a team is separated into sections to work on different aspects of the product, each of which is free to do anything they want. One developer chooses to design first, while the other chooses to code first and then work on documentation.

This will result in project failure, thus team members must have a high level of knowledge and comprehension in order to deliver the desired product.

SDLC (Software Development Life Cycle) Phases

Original picture from cite

6 Key SDLC Phrases:

  1. Requirement gathering and analysis
  2. Design
  3. Implementation or coding
  4. Testing
  5. Deployment
  6. Maintenance

Requirement Gathering and Analysis:

During this phase, all pertinent information from the consumer is gathered in order to build a product that meets their needs. Any discrepancies must be clarified solely during this step.

A meeting with the customer is set up by the business analyst and project manager to obtain all of the necessary information, such as what the customer wants to construct, who will be the end-user, and what the product’s purpose is. Prior to constructing a product, it is critical to have a solid grasp or expertise of the product.

Design:

The requirements acquired in the SRS document are utilized as input in this phase, and the software architecture required to implement system development is derived.

Implementation/Coding:

When the developer receives the Design document, the implementation/coding process begins. Source code is created from the software design. During this phase, all of the software’s components are implemented.

Testing:

When the coding is finished and the modules are available for testing, testing begins. The generated software is thoroughly tested in this phase, and any issues discovered are assigned to developers to be corrected.

Retesting, also known as regression testing, is carried out until the program meets the customer’s expectations.

Deployment:

Depending on the customer’s expectations, the product is either put in the production environment or initially subjected to UAT (User Acceptance Testing).

In UAT, a replica of the production environment is constructed, and the customer, in collaboration with the developers, performs the testing. If the customer is satisfied with the application, the customer must sign off for it to go live.

Maintenance:

After a product is deployed in a production environment, the developers are responsible for product maintenance, which includes solving any bugs that arise and any enhancements that need to be made.

SDLC (Software Development Life Cycle) Model

Agile Model:

When requirements cannot be expressed early in the lifecycle. Requirements are developed using an iterative approach, and development is risk-driven and change tolerant (responds to change over following a plan). Emphasis is on producing working software than comprehensive documentation. Agile Software development, examples of which include Extreme Programming (XP) and Scrum.

--

--