Software Development Lifecycle (SDLC): Phases, Models and Best Practices
The software development lifecycle (SDLC) is a structured process for planning, building, testing, deploying and maintaining software. Its seven common phases are planning, requirements analysis, design, development, testing, deployment, and maintenance. Teams follow those phases through a model such as waterfall, agile or DevOps, which determines whether the phases happen once in sequence or repeat in short cycles.
The 7 Phases of the SDLC
| Phase | Purpose | Key deliverables | Exit criteria |
|---|---|---|---|
| 1. Planning | Define goals, scope, feasibility, budget and risks | Project charter, high-level estimate, risk register | Business case approved |
| 2. Requirements analysis | Capture what the software must do | Requirements document or user stories, acceptance criteria | Requirements prioritized and signed off |
| 3. Design | Decide how it will work | Architecture, data model, UX designs, API specs, security design | Design reviewed and approved |
| 4. Development | Build the software | Source code, unit tests, code reviews | Features complete, tests passing |
| 5. Testing | Verify quality, security and performance | Test plans, test reports, defect logs | No critical or high defects open; UAT passed |
| 6. Deployment | Release to users | Release notes, deployment scripts, rollback plan | Successful production release |
| 7. Maintenance | Operate, fix and improve | Monitoring, patches, enhancements | Ongoing, per SLA |
What Happens in Each Phase
1. Planning
Align stakeholders on the problem, objectives, constraints, budget and timeline. Assess technical and commercial feasibility and identify major risks.
2. Requirements analysis
Gather functional requirements (what the system does) and non-functional requirements (performance, security, availability, compliance, accessibility). Write user stories with acceptance criteria.
3. Design
Define the architecture, technology stack, data model, integrations, UX, and security controls such as threat modelling. Related: Choosing a tech stack
4. Development
Write code to agreed standards, with version control, peer reviews, unit tests and continuous integration.
5. Testing
Run functional, integration, regression, performance, security and user acceptance tests, automated wherever possible.
6. Deployment
Release through automated pipelines, often gradually (blue-green, canary or staged rollouts), with monitoring and rollback ready.
7. Maintenance
Monitor, fix defects, apply security patches, update dependencies, and add enhancements based on feedback and data.
SDLC Models Compared
Today's common practice: agile development plus DevOps automation, with lighter, phase-gated controls where regulation requires them.→ Applied to apps: Mobile app development process
| Model | How it works | Strengths | Weaknesses | Best for |
|---|---|---|---|---|
| Waterfall | Phases in strict sequence | Simple, well documented, predictable | Late feedback; costly changes | Fixed, well-understood requirements |
| V-Model | Waterfall with a matching test phase for each development phase | Strong verification | Rigid | Regulated and safety-critical systems |
| Iterative / incremental | Build in increments, refining each version | Early working software | Needs good architecture upfront | Large systems delivered in stages |
| Spiral | Iterations driven by risk analysis | Strong risk management | Complex, costly | High-risk, large projects |
| Agile (Scrum) | Short sprints delivering working software | Flexible; fast feedback | Needs an engaged product owner | Most modern software products |
| Kanban | Continuous flow with work-in-progress limits | Smooth flow, easy to adopt | Less time-boxed planning | Support, maintenance, ops-heavy work |
| DevOps / continuous delivery | Development and operations integrated; automated delivery | Frequent, reliable releases | Requires automation maturity | Cloud products and SaaS |
Secure SDLC: Building Security Into Every Phase
Frameworks to align with: the NIST Secure Software Development Framework (SSDF, SP 800-218), the OWASP SAMM maturity model and the OWASP Top 10.→ Compliance guides: HIPAA-compliant app development · GDPR-compliant app development
| Phase | Security activities |
|---|---|
| Planning | Identify compliance needs (HIPAA, PCI-DSS, GDPR), risk appetite |
| Requirements | Security and privacy requirements, abuse cases |
| Design | Threat modelling, secure architecture, least privilege |
| Development | Secure coding standards, dependency scanning, secrets management |
| Testing | SAST, DAST, dependency/SCA scans, penetration testing |
| Deployment | Hardened configs, infrastructure-as-code scanning, signed artifacts |
| Maintenance | Patch management, vulnerability monitoring, incident response |
How to Measure SDLC Performance: The DORA Metrics
Add defect escape rate, test coverage of critical paths and customer-reported issues for a fuller quality picture.
| Metric | What it measures |
|---|---|
| Deployment frequency | How often you release to production |
| Lead time for changes | Time from code commit to production |
| Change failure rate | % of releases causing failures |
| Time to restore service | How quickly you recover from incidents |
How AI Is Changing the SDLC
Guardrails: human code review, security scanning of AI-generated code, no secrets in prompts, and clear policies on which AI tools are approved.
| Phase | AI assistance |
|---|---|
| Requirements | Summarizing user feedback, drafting user stories and acceptance criteria |
| Design | Exploring architecture options, generating diagrams and API drafts |
| Development | Code completion, code generation, refactoring suggestions |
| Testing | Generating test cases and test data, finding edge cases |
| Deployment & operations | Log analysis, incident summarization, anomaly detection |
| Maintenance | Explaining legacy code, dependency upgrade help |
SDLC Standards and Frameworks
| Standard | Focus |
|---|---|
| ISO/IEC/IEEE 12207 | International standard for software life cycle processes |
| ISO/IEC 25010 | Software product quality model (maintainability, security, performance and more) |
| NIST SSDF (SP 800-218) | Secure software development practices |
| CMMI | Process maturity model |
SDLC Best Practices
SDLC Best Practices
Work With a Team That Runs a Mature SDLC
Our agile, DevOps-driven delivery includes security, QA and transparent metrics from day one.














