Updated September 2026 · Written and maintained by the Progression Agency strategy team
The software development life cycle is the sequence of phases a piece of software goes through from idea to retirement: planning, requirements, design, development, testing, deployment and maintenance. This guide explains each phase, compares the main SDLC models and methods, and covers the security and tooling that modern teams add to the cycle.
On this page · 8 sections
- What is the software development life cycle?
- The phases of the software development life cycle
- Software development life cycle models
- Software development methods and processes
- Security in the software development life cycle
- Software development lifecycle tools
- Which SDLC model should you choose?
- How Progression Agency runs the software development life cycle
The short answerThe software development life cycle has seven phases: planning, requirements analysis, design, development, testing, deployment and maintenance. SDLC models decide how those phases are arranged: waterfall runs them once in sequence, the V-model pairs each build phase with a test phase, iterative and spiral models repeat them in cycles, and agile methods such as Scrum run all of them in short sprints. Most business software today uses an agile or DevOps model with security built into every phase.
Definitions follow common industry usage and the standards linked in the text. Progression Agency uses an agile, two-week-sprint SDLC on client work.
What is the software development life cycle?
The software development life cycle (SDLC) is the structured process teams follow to plan, build, test, release and maintain software. It exists so that requirements are understood before code is written, quality is checked before release, and the software keeps working after launch. Explaining the software development life cycle to a business audience is simple: it is the route from a problem statement to working, supported software, with checkpoints along the way.
The phases of the software development life cycle
Each phase answers a question. Skipping one does not save time; it moves the cost to a later phase where it is more expensive.
1. Planning phase in the software development life cycle
The planning phase defines the business goal, the users, the scope of a first release, the budget and timeline, the team and the main risks. Its output is a project charter or a written first-release scope. This is also where build-versus-buy is decided; see software consulting.
2. Requirements analysis
Requirements describe what the software must do (functional) and how well it must do it (non-functional: performance, security, accessibility, compliance). In agile methods they are captured as user stories and refined continuously rather than frozen up front.
3. Design
Design covers architecture (systems, data model, integrations, hosting), interface design (flows and screens; see UI/UX design) and technical decisions such as frameworks and security controls.
4. Development
Engineers implement the design in code, with version control, code review and automated tests written alongside features. In agile models development happens in sprints that each end with working software.
5. Testing
Unit, integration, end-to-end, performance, security and user acceptance testing verify that the software meets requirements. Modern teams automate most of this and run it on every change.
6. Deployment
The software is released to users: through app stores, web hosting or enterprise distribution, usually via a CI/CD pipeline with staged rollouts and the ability to roll back.
7. Maintenance
Bugs are fixed, dependencies and platforms updated, performance monitored and new features added. Maintenance is the longest phase and where most of the total cost of ownership sits.
| Phase | Question answered | Typical deliverables |
|---|---|---|
| Planning | Why and for whom? | Charter, first-release scope, budget |
| Requirements | What must it do? | User stories, non-functional requirements |
| Design | How will it work? | Architecture, data model, UI designs |
| Development | Build it | Code, tests, documentation |
| Testing | Does it work? | Test results, defect reports |
| Deployment | Release it | Pipelines, release notes, rollout plan |
| Maintenance | Keep it working | Patches, updates, monitoring |
Software development life cycle models
An SDLC model is the arrangement of the phases. The models below are the ones you will meet in practice; the right one depends on how well the requirements are known and how costly change is.
Waterfall
Phases run once, in order, each completed before the next starts. It suits well-understood, regulated or contract-fixed projects and fails when requirements change mid-build.
V-model
A waterfall variant that pairs each development phase with a corresponding test phase (requirements with acceptance tests, design with integration tests), common in safety-critical software.
Iterative and incremental
The software is built in repeated cycles, each adding capability. Feedback from one cycle shapes the next, which suits products whose requirements become clear with use.
Spiral
Cycles driven by explicit risk analysis: each loop plans, analyzes risk, builds and evaluates. Used for large, high-risk systems.
Agile (Scrum, Kanban)
All phases run inside short sprints or a continuous flow, delivering working software every few weeks with continuous customer feedback. See agile software development for the manifesto, Scrum roles and events.
DevOps and continuous delivery
Agile extended into operations: automated pipelines integrate, test and deploy every change, with monitoring feeding back into the backlog. Most modern web and mobile teams run an agile-plus-DevOps model.
| Model | Requirements | Change handling | Delivery | Best for |
|---|---|---|---|---|
| Waterfall | Fixed up front | Expensive | One release | Regulated, fixed-scope work |
| V-model | Fixed up front | Expensive | One release | Safety-critical systems |
| Iterative | Evolving | Between cycles | Several releases | Products clarified by use |
| Spiral | Evolving | Per risk cycle | Several releases | Large, high-risk systems |
| Agile / Scrum | Evolving | Every sprint | Every 1-4 weeks | Most business software |
| DevOps | Evolving | Continuous | Many times a week | Web and mobile products |
Software development methods and processes
Methods are the practices used inside a model: how work is planned, reviewed and released. The most common methods of software development today are Scrum, Kanban, Extreme Programming practices such as test-driven development and pair programming, lean software development, and DevOps practices such as continuous integration and continuous delivery.
| Method | What it prescribes | Where it fits |
|---|---|---|
| Scrum | Sprints, Product Owner, Scrum Master, reviews and retrospectives | Product teams |
| Kanban | Continuous flow with work-in-progress limits | Support, operations, maintenance |
| Extreme Programming (XP) | Test-driven development, pair programming, continuous integration | Engineering quality |
| Lean | Eliminate waste, deliver fast, decide late | Startups and efficiency |
| Rapid application development | Prototyping and fast iteration with users | Small, UI-heavy tools |
| DevOps | Automated pipelines, infrastructure as code, monitoring | Any team releasing often |
Security in the software development life cycle
A secure software development life cycle adds security activities to every phase instead of a single audit before release: threat modeling in design, secure coding standards and dependency scanning in development, security testing before deployment and patching in maintenance. The NIST Secure Software Development Framework (SSDF) describes these practices, and the OWASP Top 10 lists the risks most worth designing out.
| Phase | Security activity |
|---|---|
| Planning | Compliance obligations identified (HIPAA, PCI, SOC 2) |
| Requirements | Security and privacy requirements written |
| Design | Threat modeling, authentication and data-protection design |
| Development | Secure coding standards, code review, dependency scanning |
| Testing | Static analysis, penetration testing |
| Deployment | Secrets management, hardened infrastructure |
| Maintenance | Patching, monitoring, incident response |
Software development lifecycle tools
Each phase has tools that make it repeatable. The list below reflects what most modern teams use; the choice matters less than using them consistently.
| Phase | Typical tools |
|---|---|
| Planning and requirements | Jira, Linear, Notion, Confluence |
| Design | Figma, diagramming tools |
| Development | Git (GitHub, GitLab), IDEs, code review |
| Testing | Jest, Pytest, Playwright, Cypress, JMeter |
| Security | Dependabot, Snyk, SonarQube, OWASP ZAP |
| Deployment | GitHub Actions, Azure DevOps, Terraform, Docker |
| Maintenance | Sentry, Datadog, Grafana, uptime monitors |
Which SDLC model should you choose?
Choose by how well you know the requirements and how expensive change is. Fixed-scope, regulated or contractual work suits waterfall or V-model. Products that will change with user feedback, which is most business software, suit agile with DevOps practices. Large systems with unknown risks suit spiral or iterative approaches. Whatever the model, keep the phases and add security to each one.
How Progression Agency runs the software development life cycle
We plan a written first release, refine requirements as user stories, design architecture and interface together, build in two-week sprints with automated tests and code review, release through CI/CD pipelines with staged rollouts, and support the software after launch. See custom software development and mobile app development.
Planning software?
Tell us the problem and we will propose a first release, the right delivery model and a planning estimate.
Getting found in search
AI, AEO and what is changing
Paid media and lead generation
Websites and design
Choosing and working with an agency
Software and app development
- Mobile app development company
- Software development company
- Software consulting services
- AI consulting services
- UI/UX design services
- .NET development services
- Desktop application development
- Progressive web app development
- AR/VR app development
- Wearable app development
- EHR software development
- Hire dedicated developers
- Web application development
- AI app development
- AI agent development
- AI chatbot development
- AI integration services
- Cross-platform app development
- React Native app development
- Flutter app development
- Native app development
- iOS app development
- Android app development
- IoT app development
- MVP development
- SaaS development
- Enterprise app development
- App development outsourcing
- Hire app developers
- App development cost
- How to build an app
- App development tools
- Agile software development
- Custom CRM development
- ERP development
- Web portal development
- Marketplace development
- Dashboard development
- API development
- Backend development services
- Healthcare software development
- Healthcare app development
- Telemedicine app development
- Fintech software development
- Insurance software development
- Logistics software development
- Manufacturing software development
- Real estate software development
- Education software development
- Retail software development
- Ecommerce app development
- Delivery app development
- Restaurant app development
- Fitness app development
- Dating app development
- Taxi app development
- Travel app development
- Social media app development
- Video streaming app development
- App development in NYC
- App development in Dallas
- App development in Los Angeles
- App development in Houston
- App development in Atlanta
- App development in Austin
- App development in Miami
- App development in Chicago
- App development in San Diego
Social, content and brand
By industry and by situation
Frequently asked questions
What is the software development life cycle?
What are the phases of the software development life cycle?
What are the software development life cycle models?
What are the methods of software development?
What is the planning phase in the software development life cycle?
What is the difference between SDLC and agile?
Which SDLC model is best?
What is a secure software development life cycle?
What are software development lifecycle tools?
What is the agile software development life cycle?
What is the software development process?
How long is each SDLC phase?
What is the V-model?
What is the spiral model?
What is the waterfall model?
What is DevOps in the SDLC?
Where does testing fit in the SDLC?
What is maintenance in the software development life cycle?
What is a software development life cycle policy?
Which SDLC does Progression Agency use?
What are the software development life cycle methods?
What are the main software development lifecycle models?
What is software development life cycle security?
What are software development processes?
Need software built?We design, build and support custom software, web apps and SaaS platforms, with a written scope first.
Get a free marketing proposal
Tell us what you are trying to grow and we will come back with a plan, not a pitch deck. Same-day reply on weekdays.
