Software Development Life Cycle (SDLC): Explained

Software development life cycle is a framework that defines the different steps involved in the development of a software, it tells us about the different things that comes into play for building, deploying and maintaining a software.

SDLC is divided into five Phase

  • Requirement Gathering and Analysis: In this phase, all the relevant information is gathered from the customer to make the software as per their expectations, any ambiguity must be resolved in this phase, once requirements are gathered, an SRS (Software requirement specification) document is created.
  • Design: In this phase, the SRS document is given as an input to create the system and software design.
  • Development or Implementation and Coding: This is the stage where the design is translated into source code, all the modules of the software are built in this phase only.
  • Testing: Once the developer is done with coding, thorough testing is done of all the modules, and if any issue is found, it gets fixed by the developer. This basically means the software is sent back to the implementation and coding phase to get the issues fixed.
  • Deployment: If no defects are found, the software is deployed in the production environment, a replica of this production environment is created, where the customer and the developer sit together to test the software if the software meets the client’s expectation then good, otherwise it is sent back to fix any issue or make any improvement.
  • Maintainance: Once the software is deployed, the next step is to maintain it, which basically means if any issue arises, it is taken care of, by the developer.




Infosec Enthusiast | Student

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

Recommended from Medium

Thom Lamb on Agencies vs Contracting vs Freelancing in Software Development

ZVOL for MS SQL Database

Machine Learning Systems Design

Industry use cases of Azure Kubernetes Service

Java vs .NET Core: What Should You Choose?

Socket Programming in Python (setup the client and server)

Laravel Service Provider in Simple English

Learning From Disaster: Crashing Planes to Productive Teams

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


Infosec Enthusiast | Student

More from Medium

What is TDD and why you should learn it

Software Engineering principles and practices

Testing even before a line of code is written — is it possible?

Spend your time in Code Reviews, not in writing Tests