Software Development Life Cycle - Part II
Table of contents
In the previous blog about SDLC, we understood the processes and DevOp's role in it. Here, let's have a deep dive into the processes.
The Definition.
It is a standard followed by every organization, maybe an MNC, startup, etc.
Process/Culture used by the software industry to Design, Develop, and test to Deliver a High-Quality Product.
The SDLC.
In SDLC, we have the following phases. To understand the following processes let's imagine a company, CodeX, which develops an E-commerce site.
- Planning - The planning phase is generally accompanied by the requirement phase, which is an essential stage.
For example, the CodeX team is trying to add a kids section, but customers don't want that, so feedback is not required. So you can suspend the idea at the primary stage itself.
Or the company wants to know the age range of kids 6-12, 12-14, etc this comes under the planning & requirement phase
Defining - In the defining phase, the team will define the requirements, with the information acquired by the planning and requirement phase. They produce a Software Requirement Document based on customer research.
- For example, X no of customers encourage age range of 6-12, etc,
Designing - In the designing phase, the team will build
High-level Design: This ensures the sustainability or scalability of the website when required. for example, handling high-traffic visits to the website in the festive season.
Low-Level Design: The functions, modules, etc, are proposed and generally decided by the Senior Engineers.
In the following phases involvement of the DevOps engineer is more crucial
Building - Here, the code is developed for the feature/app.
developers write the code with instructions specified in the requirement document.
after writing the code, the developer team will push it to a common location ( GitHub ), where PR members will review it.
Testing - The app is tested here and promoted further for the production servers.
- A team called the Quality Assurance Engineers team takes care of testing it.
Promotion - The application is promoted to the production server.
In the testing phase, we deploy the app on a virtual server as pre-staging environment, etc.
production server is where customers will interact with the application.
DevOps Engineer fastens the process, ensuring all the phases are followed without any manual intervention and ensuring automation, improving efficiency.
All the processes in SDLC can be done in different ways.
- for example, in Project Management, we use the Waterfall Model, the Agile Model.
Subscribe to my newsletter
Read articles from Sai Prajoth directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Sai Prajoth
Sai Prajoth
I am a Blockchain web developer and DevOps enthusiast, pursuing my B.Tech at IIT Hyderabad. I'm an open-source enthusiast. I write, I code, and write about the code.