System Development
Life Cycle (SDLC):
Phases and Models
The software development lifecycle (SDLC) is a structured and
iterative methodology used by development teams to build,
DEFINITION deliver and maintain high-quality and cost-effective software
systems.
The SDLC breaks down software Together, the phases of the
development into distinct, SDLC provide a structured
repeatable, interdependent roadmap that guides
phases. development teams in building
software aligned with
Each phase of the SDLC has its stakeholder needs, project
own objectives and deliverables requirements, and customer
that guide the next phase expectations.
SDLC Helps Stakeholders To...
1. Estimate project costs – Helps in budgeting and financial planning.
2. Estimate project timelines – Gives a clear idea of when each phase will be completed.
3. Identify potential challenges early – Detects technical, resource, or design issues early.
4. Address risk factors in advance – Reduces the chances of failure by managing risks early.
5. Measure development progress – Tracks how much work is done in each phase.
6. Enhance documentation – Ensures that all steps and decisions are properly recorded.
7. Improve transparency – Makes the development process clear and accountable to everyone.
8. Align software with organizational goals – Ensures the system supports business needs.
Activity: Know the Stakeholders
Stakeholder Who They Are / What They Do
A. Provide strategic direction and funding; want to see how the system supports
1. Client / Customer
business goals.
2. End Users B. Test the system to find bugs and ensure quality.
3. Project Manager C. The person who oversees the planning and execution of the entire project.
4. System Analyst D. Gathers requirements, analyzes processes, and helps design the new system.
5. Software Developers E. Maintain the hardware and software once the system is running.
6. Testers / QA Team F. The people who will actually use the system (e.g., employees, customers).
7. IT Support / Admins G. Build the system based on the design and requirements.
8. Top Management H. The person or organization that needs and pays for the software.
Phase Focus Steps Involved Key Deliverables
Identify opportunity
Why build this Analyze feasibility Feasibility Report
1. Planning system? How to Develop workplan Project Charter
structure it? Staff project Project Plan
Control and direct project
Phases 2. Analysis
Who, What, and
Where for the
Gather requirements
Analyze current system
Requirement
Specification Document
of the
(SRS)
system? Define functional needs
Process Models (DFD)
SDLC
Design system architecture
System Design
(UI, database, security, etc.)
3. Design & How will this Document (SDD)
Create data and process
Development system work? ERD & UML Diagrams
models
Working Software
Develop software
4. Implementation System Testing Test Reports
Delivery and
(incl. Testing, Deploy software Deployment Plan
support of the
Deployment, User Training User Manuals
completed system
Maintenance) Maintain and update system Maintenance Logs
"Right problem, clearly defined with the right
plan to solve it."
"Right features for the right people in the
right environment."
“Right system designed the right way to
work efficiently.”
"Right solution delivered the right way and
kept running smoothly."
Common software development
lifecycle models
Choosing the right SDLC model
depends on various factors. There are many different software
development models. Some of the most
Are the project requirements popular SDLC models are:
clearly defined, or likely to
change during the
1. Waterfall
development process?
How complex is the project? 2. V-model
How experienced is the 3. Agile
development team? 4. Iterative
5. Spiral
Answering these questions can 6. Big bang
help stakeholders choose the 7. Rapid application development (RAD)
most appropriate model for a
project.
History:
Proposed by Winston W. Royce in 1970.
First model to define a systematic, sequential
software process.
Initially used in manufacturing and construction
projects before being adapted to software.
Key Features:
Linear and sequential model.
Each phase must be completed before the next
begins.
Emphasis on documentation and early planning.
Progress flows in one direction—like a waterfall.
Analogy:
When to Use:
Think of the Waterfall Model like building a house: You must
Requirements are clear, complete, and fixed.
finish the foundation before building the walls, and you can’t
Suitable for small to medium-sized projects with
go back easily once something is built.
clear objectives.
Working: Limitation:
The Waterfall Model follows a linear No feedback loop - Difficult to go back and fix errors in previous
path through distinct and rigid phases.
stages: Rigid structure - Not suitable for changing requirements.
Late testing - Issues are discovered late, increasing cost and
1. Requirement Analysis - Gather effort to fix.
and document all software No user involvement during development - Users see the
requirements in detail. product only after deployment, which may not meet needs.
2. System Design - Create Not suitable for complex or long-term projects - Limited
architecture, data models, and adaptability to evolving technologies or customer demands.
interfaces based on requirements.
3. Implementation - Actual coding What Came Next?
based on the design specifications. To overcome the Waterfall model’s limitations, more flexible and
4. Testing - Verify and validate the risk-aware models were introduced:
system against requirements.
5. Deployment - Deliver and install V-Model - To add early testing and validation alongside each
the final software to the customer. development phase.
6. Maintenance - Fix issues, apply Spiral Model - To handle high-risk and complex projects with
updates or enhancements post- iterative development.
deployment. Agile Model - To allow continuous feedback, adaptability, and
iterative delivery of software.
Spiral
Model
History:
Introduced by Barry Boehm in 1986.
Developed to address the shortcomings
of the Waterfall model, especially in
high-risk projects.
Combines the structured nature o the
Waterfall Model with the flexibility of
iterative prototyping.
Emphasizes risk management at every
stage.
Key Features:
Each loop (or spiral) represents a
phase in the software process.
Focuses on risk-driven development
and incremental refinement.
Allows for customer feedback after
each cycle.
Supports early identification of potential
problems through repeated evaluation.
Working of the Spiral Model:
Each spiral loop is divided into four quadrants, with each cycle building upon the previous one:
1. Planning - Define system goals, select features for the current iteration, set timelines.
2. Risk Analysis - Identify risks (technical, business, resource), evaluate alternatives, plan mitigations.
3. Engineering - Develop a prototype or build part of the system, perform coding and initial testing.
4. Evaluation - Review with stakeholders, gather feedback, assess performance, plan next iteration.
This process repeats for each version, and the system evolves incrementally, adding new features and
refining existing ones until completion.
Key Steps in Each Spiral Cycle: When to Use the Spiral Model:
Identify Objectives In large, mission-critical systems.
Evaluate Alternatives When requirements are unclear or evolve frequently.
Identify and Resolve Risks When new technology or unproven solutions are being
Develop and Verify Deliverables explored.
Plan the Next Iteration Where early and repeated prototyping is essential.
Imagine you're building your dream custom car, but: Spiral
Model
You don’t know exactly what all features you’ll want.
You want to test safety and performance at every stage.
You also want to make changes as you learn more.
Here's how it works (like the Spiral Model):
1. First Spiral (Planning + Risk Analysis):
a. You decide what kind of car you want: sports car, SUV, electric?
Analogy:
Building a
b. You assess risks like budget, engine compatibility, safety.
2. Second Spiral (Prototype + Feedback):
a. You create a basic frame and show it to your friends or experts.
Custom
b. You test the frame’s safety and ask: “Do I like this design?”
3. Third Spiral (Refine and Add Features):
a. Now you add doors, lights, engine, and improve on feedback.
Car in
b. You test each feature and check how it affects performance.
4. Fourth Spiral (Final Product):
You finish adding all features.
You test everything together, then launch the car.
Stages
Project / Domain Why Spiral Was Used / Suitable
High risk, mission-critical software; needed extensive risk
NASA’s space shuttle software
management
Large, complex systems with evolving safety and performance
Boeing’s aircraft control software
requirements
Required iterative development with heavy documentation and
US Department of Defense (DoD) systems
review cycles
Continuous requirement changes and stakeholder feedback during
Enterprise Resource Planning (ERP) systems
implementation
High assurance software requiring strict validation and iterative
Medical device software (e.g., pacemakers)
safety testing
Famous Projects / Domains
Using Spiral Model
V-MODEL
ITERATIVE MODEL
Feature Waterfall Spiral Agile
Year Introduced 1970 1986 2001
Iterative + Risk- Iterative &
Process Type Linear
Focused Incremental
Waterfall
Flexibility Low Moderate to High Very High
Customer
vs Spiral
Minimal Moderate Continuous
Involvement
Managed via
vs Agile
Risk Management Very Low High Priority
feedback loops
Expensive (risk Varies (can be lower
Cost Low for small projects
analysis overhead) for MVPs)
Large, complex, high- Rapidly changing,
Best Suited For Well-defined projects
risk systems user-centered apps
Hard to scale for
Drawbacks Rigid, late testing Complex to manage
large systems