
Before the dawn of the time, the High Council of Recruiters (HCOR) were having a high-tempered discussion on deciding the one software interview question to rule them all. Algorithm questions were fine, but they were merely a concern for the developers. Types of black box testing would best suit the QA testers. They needed to find something that everybody would be supposed able to explain if they want to get any job in this industry. What would be the process for every single person working on a project to be included? Then, they all had a yellow light in their heads, and that magical question was spit out of their mouths: Could you explain what SDLC is?
SDLC stands for Software/Systems Development Life Cycle. Self-explanatorily, it is the standard process have been being followed for centuries (okay, just for decades) to develop any kind of system. Since it is the whole journey of the system’s creation, everybody that contributes to the project takes part in SDLC.
How to SDLC?
Hold on buddy, one thing before learning how to SDLC. Following a standardized framework might not be suitable for personal projects like your cutting-edge tic-tac-toe game written by plain JavaScript, but it is more for the client products that are done in teams. It will get clearer once we start climbing the steps of SDLC. Let’s start climbing then, shall we?

- Planning
Planning is essential to start a project, even for the people in the chaotic part of the morality spectrum (It’s not related to that, but anyways.) It is essentially where the project team starts to create a mutual understanding with the customer. Which means it is done solely to identify the customer’s requirements. It is the responsibility of the big guns, Business Analyst and/or the Project Manager, of the team to do the requirement collection by meeting with the customer, so the plebs do not really have to worry about that. After gathering the needs of the client, the team conducts a meeting for everyone to understand what has to be done. - Feasibility Analysis
Once we the team has the raw requirements up-and-front, then it’s time to do the can-we-do-it-or-not analysis. While there might be more people included in the Feasibility Analysis, like HR to hire more people according to the needs, it is usually done by the fantastic 4:
Business Analyst: Collects the requirements from the customer and decides if the requirements make sense.
Finance Manager: Money, money, money. Will doing the project profitable for the company, given the cost and reward analysis?
Legal Person: Better call the lawyer to see if the project won’t look all the team up due to a cyber security or a compliance issue.
IT Guy: Checking whether the team has the appropriate equipment to complete the project.
After the analyses are done for the different areas, everyone gives their report to the lord of the project, Project/Product Manager (Commonly called PM), and the PM decides whether the project will be taken or not. Once it is decided to move forward with the project, that’s where the step no.3, Design starts. - System Design
Okay now we got the project, and everybody is partying (or crying). What next? The system should be thoroughly designed and documented before doing any implementation. But design is also made up of 2 parts:
- High-Level Design (HLD)
For our non-technical backgrounded folks, high-level in the computer jargon means the thing is closer to the human world than the world of 0s and 1s. So, high-level in the system design shows the rough outline of each element of the software like the functionality, database and the relationship between the features. There’s no detail given in the HLD, and only gives a general understanding of the system. - Low-Level Design (LLD)
Having said that, low-level design does not convey a despicable and unworthy design. Rather, it is the detailed explanation of the system. To illustrate, in an HLD process, a database is defined with the attributes, but in LLD the type and size of the database is also defined.
- High-Level Design (HLD)
- Implementation
After getting to know what and how to make the system, it’s time for the developers of the team to take the stage and start building the actual software by coding. What tools (programming languages, frameworks, servers, the brand of coffee to drink during the sleepless overtime nights) to use are all determined in advance to the development phase, and the coders use the tools to create the software. - Testing
Once the software is fully created and the code is tested by the developers (white-box testing), it is the time for the dear testers to shine! The testing team executes the test cases written earlier (the process is explained in the STLC section, don’t start sweating yet), and verifies whether the software is working according to the requirements, and also, it’s free of bugs as much as possible by communicating with the development team. Because of that, this phase is also known as the cold war between the developers and the testers where the only victims here are the bugs. - Deployment
During the post-war era, after all the bugs are slaughtered and the software is up and running, the software is given back to the PM for the final verification, and when it’s accepted, the final product is deployed and installed by the release managers and installed by the IT technicians. Congratulations! Now the customer is ready to use their e-commerce platform and become the new Jeff Bezos. - Maintenance
Wait a second, there is one more step left for the SDLC to be completed. When the agreement is being signed with the team and the client, there is also the point to maintain the software for a given amount of time before the software becomes a big kid. In this phase, the unexpected errors are being fixed and there are new upgrades being made on the application if needed. As from this step, we can see that SDLC is not only having the software developed, but also about making sure that it keeps performing as to the customer’s requirements.
There are also several main different types of SDLC frameworks suitable for each project’s needs. Some projects dream about a blonde SDLC, and others type is a brunette SDLC. You can hang me later for the terrible joke, but before that, let’s find out about the real distinct types.
Next > Types of SDLC
Leave a comment