Software development life cycle

SDLC 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. It is a standard practices to building software applications. Many companies will subdivide these steps into smaller units. Planning might be broken into technology research, marketing research, and a cost-benefit analysis. Other steps can merge with each other Every phase of the SDLC life Cycle has its own process and deliverable that feed into the next phaseout is also referred to as the Application Development life-cycle. it offers planning , scheduling, estimating. Provides a framework for a standard set of activities and deliverables. Increased enhance development speed.

The entire SDLC process divided into the following stages:

  1. Problem definition and Analysis :- This is the first phase of software development life cycle. It is conducted by senior team. this stage gives clearer picture and scope of the entire

project. Requirements Gathering stage need teams to get detailed and precise requirements.

This helps companies to finalize the necessary timeline to finish the work of that system.

2. Feasibility Study :- This is the second phase of software development cycle.This process 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.

There are mainly five types of feasibility checks:

Technically :Need to check whether the current computer system can support the software

Operation : Can we create operations which is expected by the client? ‘

Schedule : Can we deliver he project given time period.

Economically : can we complete the project within the given budget.

Legally :whether is software code of conduct & ethics.

3. System Design :- SRS is the reference for product architects to come out with the best architecture for the product to be developed. 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. This DDS is reviewed by all the important stakeholders and based on various parameters as risk assessment, product robustness, design modularity, budget and time constraints, the best design approach is selected for the product. 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.

4. System Development :- Once the system design phase is over, the next phase is coding. In this phase, developers start build the entire system by writing code using the chosen programming language. In the coding phase, tasks are divided into units or modules and assigned to the various developers. It is the longest phase of the Software Development Life Cycle process.

In this phase, Developer needs to follow certain predefined coding guidelines.

5. Testing :- Once the software is complete, and 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.During this phase, QA and testing team may find some bugs/defects which they communicate to developers. The development team fixes the bug and send back to QA for a re-test. This process continues until the software is bug-free, stable, and working according to the business needs of that system.

6. Installation/Deployment:- Once the software testing phase is over and no bugs or errors left in the system then the final deployment process starts. Based on the feedback given by the project manager, the final software is released and checked for deployment issues if any.

7. Maintenance :- 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.


• Simple to understand

• Management simplicity thanks to its rigidity every phase has a defined result and process reviewed

• development go one by one.

• Perfect for the small or mid-sized projects where requirements are clear and not equivocal

• Easy to determine the key points in the development cycle

• Easy to classify and prioritize tasks


• The software is ready only last stage over

• High risks and uncertainty

• Not the best choice for complex and object oriented projects

• Inappropriate long term projects

• The progress of the stage is hard to measure while it is still in the development

  • Integration is done at the very end, which does not give the option of identifying the problem in advance

There are various software development life cycle models defined and designed which are followed during the software development process. These models are also referred as Software Development Process Models”.

Following are the most important and popular SDLC models followed in the industry −

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




Software Engineering undergraduate at University of Kelaniya

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

Docker fundamental 1

Sinatra MVC Project

AWS Cognito Authentication for Kibana

Interview Guide: Identify Problem Constraints

Coders Block: What is the defer attribute?

Migrating custom fonts from Calligraphy to Android fonts

Photo by John-Mark Smith from Pexels


Develop Function Compute by Installing Third-Party Dependencies

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Tharun varshanth

Tharun varshanth

Software Engineering undergraduate at University of Kelaniya

More from Medium

CS373 Spring 2022: Christopher Carrasco — Week 10

Do you know what hardware your software is running on?

Five Golden Rules to Achieve Agile Software Localization

CS373 Spring 2022: Luca Santos