Day 3 - SDLC with DevOps
Why Learn SDLC?
SDLC stands for Software Development Life Cycle.
Everyone in IT—developers, testers, DevOps engineers—must understand SDLC because:
Every organization follows a standard process
Whether it’s a startup, MNC, or unicorn
SDLC defines how software is planned, designed, developed, tested, and delivered
If you work in IT, SDLC knowledge is mandatory.
What is SDLC?
SDLC is a process/culture/standard followed by the software industry to:
Design
Develop
Test
software in a structured and predictable way.
The end goal of SDLC:
Deliver a high-quality product that meets customer expectations.
Without design → you cannot develop.
Without testing → product will not have quality.
So SDLC ensures quality delivery.
Example Organization: example.com
Assume we work at example.com (an e-commerce platform).
They currently sell:
Men’s clothing
Women’s clothing
Now, they want to introduce a Kids section.
To add this new feature, the company goes through the SDLC cycle.
SDLC Phases
SDLC typically follows these phases:
Planning
Requirement Gathering
Design
Build / Development
Testing
Deployment
This is a circular process, repeated for every new feature.
1) Planning Phase
This is where the idea is evaluated.
Example:
Should we add a Kids section?
Will customers benefit from it?
How many are interested in ages 1–4, 6–12, etc.?
People involved:
Business Analyst (BA)
Product Owner (PO)
Senior team members
Goal:
Understand whether the feature is useful
Collect inputs from existing users
Stop the idea early if it is not needed
Planning + requirement gathering is one of the most important steps.
2) Requirement Definition Phase
Once planning is done, requirements are documented.
This documentation is called:
SRS – Software Requirement Specification
It contains:
What customers want
Scope
Functional requirements
Data collected during planning
This document becomes the foundation for design.
3) Design Phase
Two types of design happen:
HLD – High Level Design
Done by architects/senior engineers.
Includes:
System architecture
Scalability
High availability
Database design
Replicas
Load expectations
LLD – Low Level Design
Done by senior developers/architects.
Includes:
Modules
Functions
Internal logic
Database calls
Input/output flow
When HLD + LLD are ready → developers can start coding.
4) Build / Development Phase
Developers begin writing code based on the documents.
Steps:
Developer reads Jira stories / requirements
Writes code in Java, Python, etc.
Gets code reviewed by peers
Pushes code to Git (source code repository)
Git is a common place to store and share application code.
5) Testing Phase
Once code is in Git:
It is deployed on a testing/staging server
The QA/QE team performs testing
They check whether the feature works as expected
Goal:
Ensure product quality before it reaches customers.
6) Deployment Phase
After testing is successful:
The application is promoted to production servers
The customer starts using the new feature
⭐ Where Does DevOps Fit into SDLC?
DevOps becomes important in these phases:
Build → Test → Deployment
These are DevOps-centric areas because:
Developers write code
Testers test code
But DevOps automates everything
DevOps engineers ensure:
✔ Build happens automatically
✔ Testing triggers automatically
✔ Deployment is automated
✔ Zero manual intervention
✔ Faster, reliable delivery
DevOps does not manually build, test, or deploy.
Instead, DevOps automates all these steps to improve:
Speed
Efficiency
Reliability
This is why DevOps is critical for modern SDLC.
SDLC + Project Management
SDLC can be implemented using different project management models:
Waterfall
Iterative
Agile (most common today)
In Agile:
Work happens in sprints
You don’t wait for entire planning/design to finish
Small parts are developed and released quickly
DevOps works extremely well with Agile because both focus on fast and continuous delivery.
⭐ Conclusion
As a DevOps engineer, your primary responsibility in SDLC is:
Automate Build, Testing, and Deployment to improve delivery speed and reduce manual work.
SDLC is the foundation of how software is created, and DevOps enhances this by bringing automation and efficiency.