SDLC Models

Part of Software Engineering

Software Development Life Cycle (SDLC)

SDLC is a structured process for building software that ensures quality, meets requirements, and is delivered on time and within budget. It encompasses all activities from initial concept to maintenance and support.

Why SDLC Matters

Following a proper SDLC is like having a blueprint for construction. It provides structure, reduces risks, ensures quality, and helps teams deliver software that actually meets user needs. Without it, projects often fail due to scope creep, poor quality, or missed deadlines.

SDLC Phases

The software development life cycle typically consists of seven main phases, each with specific activities and deliverables.

Communication

1-4 weeks

Key Role:

Project Manager / Business Analyst

Description

Initial project initiation and requirement gathering

Activities

  • Project initiation meeting
  • Stakeholder identification
  • Feasibility study
  • Scope definition

Deliverables

  • Project charter
  • Initial requirement document
  • Feasibility report

Planning

2-6 weeks

Key Role:

Project Manager

Description

Detailed project planning and resource allocation

Activities

  • Project planning
  • Resource allocation
  • Risk assessment
  • Cost estimation
  • Schedule creation

Deliverables

  • Project plan
  • Risk management plan
  • Budget estimate
  • Schedule

Modeling/Analysis

3-8 weeks

Key Role:

System Architect / Designer

Description

System design and architecture planning

Activities

  • Requirement analysis
  • System design
  • Architecture planning
  • UI/UX design
  • Database design

Deliverables

  • SRS document
  • System design document
  • Architecture diagram
  • Wireframes

Construction/Implementation

8-20 weeks

Key Role:

Software Developer

Description

Actual coding and development of the software

Activities

  • Coding
  • Unit testing
  • Code review
  • Integration
  • Version control

Deliverables

  • Source code
  • Unit test cases
  • Technical documentation
  • Build artifacts

Testing

4-8 weeks

Key Role:

QA Engineer / Tester

Description

Verification and validation of the software

Activities

  • Test planning
  • Test case development
  • Test execution
  • Bug reporting
  • Performance testing

Deliverables

  • Test plans
  • Test cases
  • Bug reports
  • Test summary report

Deployment

1-2 weeks

Key Role:

DevOps Engineer

Description

Release and installation of software in production

Activities

  • Deployment planning
  • Environment setup
  • Data migration
  • User training
  • Go-live

Deliverables

  • Deployed system
  • User manuals
  • Training materials
  • Release notes

Maintenance

Ongoing

Key Role:

Support Engineer

Description

Post-deployment support and enhancements

Activities

  • Bug fixing
  • Performance monitoring
  • Updates and patches
  • Enhancements
  • User support

Deliverables

  • Maintenance logs
  • Patch releases
  • Performance reports
  • Support tickets

Types of Requirements

Requirements define what needs to be built. They are categorized into functional and non-functional requirements.

Functional Requirements

What the system should do - specific behaviors and functions

Examples

User authentication and authorization
Data processing and calculations
Reporting and analytics
Integration with other systems
Business rules implementation

Format

User stories, use cases, functional specifications

Verification

Unit testing, integration testing

Non-Functional Requirements

How the system should perform - quality attributes

Examples

Performance (response time, throughput)
Security (authentication, encryption)
Reliability (uptime, error rates)
Usability (user interface, accessibility)
Scalability (load handling, growth)
Maintainability (code quality, documentation)

Format

Technical specifications, SLA documents

Verification

Performance testing, security testing

Requirements Specification Example

Functional Requirement

User Story: As a registered user, I want to reset my password so that I can regain access to my account if I forget it.

Acceptance Criteria:
  • • Password reset link sent to registered email
  • • Link expires after 24 hours
  • • Password must meet security requirements
Non-Functional Requirement

Performance Requirement: The password reset page must load within 2 seconds for 95% of users under normal load conditions.

Quality Attributes:
  • • Response time: < 2 seconds
  • • Availability: 99.9% uptime
  • • Security: HTTPS encryption required

Process Models

Different approaches to organizing and executing the software development process.

Scrum Framework

Scrum is an Agile framework for managing complex software development projects.

Scrum Roles

Product Owner

Represents stakeholders and business, manages product backlog

Responsibilities
  • Define product vision
  • Prioritize backlog items
  • Accept or reject work results
  • Communicate with stakeholders
Key Skills
Business knowledgeDecision makingCommunication

Scrum Master

Facilitates Scrum process, removes impediments, ensures team follows practices

Responsibilities
  • Facilitate Scrum events
  • Remove obstacles
  • Coach team on Scrum
  • Protect team from distractions
Key Skills
FacilitationCoachingConflict resolution

Development Team

Cross-functional team that delivers product increments

Responsibilities
  • Plan sprint work
  • Design and develop features
  • Test and integrate
  • Maintain quality standards
Key Skills
Technical expertiseCollaborationProblem solving

Scrum Artifacts

Product Backlog

Ordered list of everything needed in the product

Content

User stories, features, enhancements, bug fixes

Management

Owned by Product Owner, regularly refined

Sprint Backlog

Set of Product Backlog items selected for Sprint plus plan

Content

Tasks, estimated effort, assignment, progress

Management

Owned by Development Team, updated daily

Increment

Sum of all Product Backlog items completed during Sprint

Content

Working software, documentation, tests

Management

Must be in usable condition, potentially shippable

Scrum Events

Sprint Planning

4*8h-week
Purpose

Plan work for upcoming sprint

Participants

Scrum Team

Output

Sprint backlog, Sprint goal

Daily Scrum

15 minutes
Purpose

Inspect progress toward Sprint Goal

Participants

Development Team, Scrum Master

Output

Updated plan for next 24 hours

Sprint Review

4*4h-week
Purpose

Inspect increment and adapt Product Backlog

Participants

Scrum Team, stakeholders

Output

Revised Product Backlog

Sprint Retrospective

Purpose

Plan improvements for next Sprint

Participants

Scrum Team

Output

Improvement plan

Tools & Software

Project Management

Jira

Agile project management and issue tracking

Key Features
  • Scrum/Kanban boards
  • Backlog management
  • Sprint planning
  • Reports
Pricing

Free for up to 10 users

Best For

Software development teams

ClickUp

All-in-one productivity platform

Key Features
  • Tasks, Docs, Goals
  • Time tracking
  • Mind maps
  • Custom views
Pricing

Free plan available

Best For

Teams needing flexibility

Trello

Visual collaboration tool

Key Features
  • Kanban boards
  • Cards and lists
  • Power-ups
  • Automation
Pricing

Free basic plan

Best For

Simple project tracking

Asana

Work management platform

Key Features
  • Task management
  • Timeline view
  • Workflow automation
  • Portfolios
Pricing

Free for up to 15 users

Best For

Cross-functional teams

Requirements Management

Confluence

Team collaboration and documentation

Key Features
  • Requirements docs
  • Meeting notes
  • Knowledge base
  • Integration with Jira
Pricing

Free for up to 10 users

Best For

Documentation and collaboration

Jama Connect

Requirements management and traceability

Key Features
  • Requirements tracking
  • Traceability matrix
  • Compliance
  • Reviews
Pricing

Enterprise pricing

Best For

Complex, regulated projects

IBM DOORS

Enterprise requirements management

Key Features
  • Requirements capture
  • Change management
  • Impact analysis
  • Reporting
Pricing

Enterprise pricing

Best For

Large-scale enterprise projects

Modeling & Design

Lucidchart

Diagramming and visualization

Key Features
  • UML diagrams
  • Flowcharts
  • Wireframes
  • Collaboration
Pricing

Free basic plan

Best For

Visual design and modeling

Draw.io

Free diagramming tool

Key Features
  • Multiple diagram types
  • Export options
  • Integration
  • Open source
Pricing

Completely free

Best For

Budget-conscious teams

Figma

Interface design and prototyping

Key Features
  • UI/UX design
  • Prototyping
  • Design systems
  • Collaboration
Pricing

Free for individuals

Best For

UI/UX designers

Jira vs ClickUp: Comparison

AspectJiraClickUp
Primary FocusSoftware development & AgileAll-in-one productivity
Agile SupportExcellent

Native Scrum/Kanban, advanced reporting

Good

Basic Agile features, flexible views

Learning CurveSteep

Complex setup, many configurations

Gentle

Intuitive interface, easy to start

CustomizationHigh (via add-ons)Very High (built-in)
IntegrationExcellent (3000+ apps)Good (1000+ apps)
Best ForSoftware teams needing deep Agile featuresTeams wanting all-in-one flexibility

Common SDLC Mistakes

Skipping Requirements Phase

Jumping straight to coding without proper requirements leads to scope creep, rework, and unsatisfied stakeholders.

Ignoring Non-Functional Requirements

Focusing only on what the system does (functional) while ignoring how it performs (non-functional) leads to poor user experience and system failures.

Wrong Process Model Selection

Using Waterfall for rapidly changing requirements or Agile for highly regulated, fixed-scope projects leads to project failure.

Poor Tool Selection

Choosing complex tools for simple projects or simple tools for complex projects reduces productivity and increases frustration.

Best Practices

Stakeholder Involvement

Involve stakeholders throughout the process. Regular communication and feedback prevent misunderstandings and ensure the final product meets needs.

Clear Requirements

Document both functional and non-functional requirements clearly. Use user stories, acceptance criteria, and measurable quality attributes.

Right Process Model

Choose the process model based on project characteristics: Waterfall for stable requirements, Agile for changing requirements, Hybrid for mixed scenarios.

Appropriate Tools

Select tools that match your team size, process, and complexity. Don't over-complicate with enterprise tools for small projects.

Test Your SDLC Knowledge

Software Life Cycle Quiz

Question 1 of 6

Which SDLC phase involves stakeholder identification and feasibility study?