You may have heard the term Software Development Life Cycle (SDLC) and are curious to know what it means and it’s benefits?
My Blog will provide all that information in a simplified way for the beginners.
What is SDLC?
SDLC stands for software development life cycle.It’s a systematic process for building software that ensures the quality & correctness of the software build .In simple terms , it’s a planning process before developing the software .
We plan each and every step like requirements, coding conventions, design patterns, etc in SDLC . We do so to achieve goals in less time , save money and prevent chaos .
Phase 1: Planning
This is the most important or crucial stage of the process . It defines the success or failure of the project . If a project is not thoroughly planned , we are likely to fail to build it.
Here the senior members take input about the project from the customer , then domain experts analyse it and estimate the cost of the project as well as the risk factors .
With the help of experts , marketing team and surveys they are able to minimize the risk factors and the cost to the team .
Phase 2: Defining
After the planning phase is complete , now it’s time to document it . This document is called SRS( Software Requirement Specification ) .It includes all the product requirements needed during the life cycle process . Later on the SRS is sent to the customer or the market analyst for approval .
Phase 3: Designing
After the approval of the SRS document, a DDS( Design Document Specification ) is proposed at this stage. It contains all the architecture (follow & managing of data) and design patterns (paradigms to follow while coding) proposed considering all the requirements and risk factors involved .
Later on, all the stakeholders review the DDS and select a good fit architecture & pattern for the project .
DDS contains the data flow structure from different modules (if any) . The more DDS is detailed about every step, the easier the development phase.
This is the stage where real fun begins - coding. DDS is sent to developers . Developers follow the layed out patterns in the document.
We can say it’s a subset of coding . In the real world we follow TDD - Test Driven Development , it means we test every piece of code that we have written . Same process here is also followed.
Here each piece of function is tested rigorously . We perform tests on each and every function and part of the application . This helps us to identify bugs , unexpected errors at an early stage .
If you have testing skills as a developer then you have an edge over other developers so it’s recommended to learn this skill too to get high chances of your resume getting shortlisted.
Phase 6: Deployment & Maintenance
After testing (removing each and every bug), your application is ready to be deployed for the public.
Note: Before deploying there is a staging environment where Testers test applications under heavy load but we are not going into much details right now .
Regular feedback is taken from the public - who are using their application to spot any bug or error that is not spotted in the testing phase . Afterwards the team analyzes the problem and solves the bug and redeploy it .This process of feedback & resolving bugs continues .
Our newly deployed application is also monitored . It helps us to get insight out how much load we are getting on our application and what should be our next task to manage this load much more efficiently .
This whole process of SDLC repeatedly goes-on-and-on - forever till the application gets outdated - adding new features , resolving new bugs , etc.
Here we have only discussed what SDLC is , it’s benefits and phases . But it’s not the end . There are different models/methodologies we follow in SDLC for eg Agile, Iterative, Waterfall Model, etc . Each of these models have their pros and cons. We will discuss this in the next blog.
Thanks for reading,
Written with ❤️ & passion 🔥 by Rishabh Raghwendra