image credit:- https://www.geeksforgeeks.org/
What is SDLC
It's a process followed by software industry to "design", "test", "deploy" the application to deliver high quality product to the customer.
How SDLC works
Consider there is a organization called as "DevOpsWithMihir" who is delivering E-commerce application. Now the CTO decides to add another feature which is adding
kids section in the application. So, any software industry will follow a certain approach of delivering the product or feature to customer.
Approach-
Planning -> Defining -> Designing -> Building -> Testing -> Deployment
Planning stage = In the planning stage, all the requirement will be gathered by the Business Service Owners/ Product Owners from the customer to add the feature. This means that, if the customers want the kids section with specific criteria like "What should be age group", "What type of clothes they would like", etc... But if they don't want the Kids section, then the idea of adding this feature in the application can be dropped here.
Defining = Here the documentation is written, where they will mention all the requirement which was gathered in the Planning stage. This document will be called as Software requirement specification document.
Designing = In this stage, High Level Design will be created in which the architect will define how the feature can be highly available when the traffic is more. Low Level Design will be also done by the senior resource, to confirm which functions/modules/language should be best suite while creating the feature...
Building = Now documentation is ready, design is ready. So, in this stage the developers will write the code and send it to Source code repository say for example. Git. Why they send it to Source Code Repository ?? Because there will be many developers working on the same code. And to access it from common place and push the changes, Source Code Repository play's imp role.
Testing = In this stage the Quality Assurance Engineers, will test the application/feature. One ex. if the feature works on different OS. Does it support the web and mobile web page view, etc. So, its easy for customers to access the feature from any device.
Deployment = Here the application is pushed on the production server, as a result of which customers can access the application and consume it.
Which methodology is used widely for SDLC -
Widely "Agile" methodology is used. Because it works in phases and chunks. Agile methodology will not wait for all the requirements in planning stage, or not wait
for all the design doc. to be done. But when 1st part of the feature to be added in the application is ready then all the SDLC steps are worked on, when 2nd part of the feature to be added is ready then again all the SDLC steps are performed. So, small chunks of feature are worked on continuously..
How DevOps Engineer play imp role in the SDLC :-
As a DevOps Engineer the goal is to improve the efficiency of the organization. So, a DevOps Engineer fastens the process of "Building, Testing, Deployment" by automation which helps the end user to use the application quickly. Here DevOps Engineer will not manually Deploy the application in production or not perform
testing individually, everything will happen with automation without manual interference.
Conclusion -
Always better to understand how SDLC impacts an software industry to deliver the product to end user, which methodology is used, and how DevOps Engineer plays imp role in improving the efficiency.
"Hope you enjoyed understanding how SDLC works, if you liked it don't forget to hit the like button. Also have no hesitation to connect for more knowledge sharing.."