Smart tech coverage, no jargon: Interestingdevelopment

Phases Of The Software Development Life Cycle: A Practical 2026 Guide To Building Reliable Software

phases of the software development life cycle
Phase Typical output Typical owners Planning use
Planning Project plan, feasibility report Project managers, senior engineers, stakeholders Settle scope and feasibility before committing build effort.
Requirements Software requirement specification (SRS) Business analysts, product owners Put user pain points and performance needs in writing so every later phase has a reference.
Design Design document covering architecture decisions and implementation details Engineers, with stakeholders reviewing Schedule a review of the document before coding starts.
Development Source code, executable application Frontend, backend and full-stack developers Let project and product managers prioritise and unblock work.
Testing Tested software, from unit tests up to end-to-end integration tests Developers and, in some organisations, QA engineers Decide which test layers each release needs.
Deployment Live application DevOps engineers, release managers Route releases through a CI/CD pipeline rather than manual steps.
Maintenance Patches, updates, new versions Support engineers, developers Keep capacity for monitoring and fixes after launch.

Outputs and roles follow the stage breakdown in GeeksforGeeks’ SDLC guide, with design review and testing layers from the University of Michigan’s SDLC overview.

The phases of the software development life cycle run from planning and requirements through design, development, testing, deployment and maintenance; IBM counts seven phases and the University of Michigan lists six steps.

For the surrounding engineering topics, start from the software development guide.

What the phases mean for your decisions

The SDLC is the methodology a team follows to plan, design, implement, test and maintain software. Its practical value is that each phase forces a decision that is expensive to make late. These are the ones the evidence supports most clearly.

  • Write requirements down before design begins. The University of Kansas SDLC standard requires a detailed Functional Requirements Document in its requirements phase, and says a risk analysis should be done between the requirements and design phases. Teams without a formal standard can still borrow both habits (University of Kansas).
  • Treat the design document as a review gate. Michigan describes the design phase’s output as a design document that outlines architecture decisions and is reviewed by engineers and stakeholders. Disagreements surface on paper instead of in code.
  • Keep QA independent of the builders. Kansas says representatives separate from the development group should conduct internal quality assurance testing. This suits teams large enough to staff it; smaller teams should at least have someone other than the author check each change.
  • Remove test scaffolding before production. The Kansas standard says all tools, code or access mechanisms used for development or testing must be removed before the move to production.
  • Plan the way back as well as the way out. If a release causes errors in production, teams can start a rollback to the last known safe code version, according to the University of Michigan. Decide who can trigger it before launch day.
  • Budget for maintenance as a permanent phase. Unlike the other phases, Kansas says maintenance ends only when the system is decommissioned, and it calls for penetration testing at scheduled intervals.

How each phase works

Industry-standard development phases are defined by ISO/IEC 15288 and ISO/IEC 12207, according to the University of Kansas standard. Its minimum required phases are System Initiation, Requirements Analysis, System Design, System Construction (Procurement), Testing and Acceptance, Implementation, and Maintenance. IBM adds the useful principle that each phase has its own objectives and deliverables, and those deliverables guide the next phase.

Planning and requirements gathering

Planning produces a project plan and a feasibility report, with project managers, senior engineers and stakeholders involved. Requirements gathering then turns intent into a specification. Michigan describes the phase as speaking to users and understanding their pain points, then documenting software specifications that reflect those needs and the performance requirements. GeeksforGeeks names the output a Software Requirement Specification, owned by business analysts and product owners. IBM frames the same stage as detailed requirement documentation that follows an initial project plan.

Printed pages changing hands across a desk illustrate the written hand-off from requirements to design. Stock image, illustrative only.

Design and architecture

Design translates the specification into a structure. GeeksforGeeks calls its output a Design Document Specification covering high-level and low-level design, and IBM calls it a software design document. Architecture choices such as service boundaries belong here; the trade-offs are compared in Microservices Architecture Patterns: Practical Choices For Scalable, Resilient Systems In 2026 – Interestingdevelopment.

Week labels tagged Design and Dev show how a team can lay design work and build work onto one schedule board. Stock image, illustrative only.

Development

In implementation, the developers responsible for a feature write new code or update existing code. Frontend, backend and full-stack developers produce source code and an executable application, according to GeeksforGeeks, and IBM describes the deliverable as a functional prototype. Project and product managers help here by prioritising work and unblocking developers, a role highlighted by Michigan.

Testing

Testing often involves multiple layers, from unit testing of individual, atomic functions up to end-to-end integration tests, and some organisations employ QA engineers for it. IBM describes the result as refined software. Choose layers according to risk: unit tests give fast feedback on small functions, while end-to-end tests confirm that the assembled system behaves as users expect. Deeper coverage of test types and timing is in SDLC Testing: A Practical Guide To Ensuring Quality Throughout The Software Life Cycle (2026) – Interestingdevelopment.

Deployment

Deployment pushes code from a developer’s local environment through a CI/CD pipeline all the way to the production environment. GeeksforGeeks notes that continuous integration and continuous deployment pipelines make releases faster and more reliable, and assigns the work to DevOps engineers and release managers. The deliverable, in IBM’s wording, is software made available to users.

Maintenance

Maintenance is continuous monitoring of production services. Its outputs are patches, updates and new versions, handled by support engineers and developers. When a new issue or use case appears, Michigan notes, the whole SDLC process starts again, which is why the cycle is a loop rather than a line.

Waterfall, Agile and other models

Models do not remove phases; they change how often and in what order the phases happen. GeeksforGeeks says the SDLC typically has six or seven stages depending on the development model used, and lists Waterfall, Agile, V-Model, Spiral, Incremental and RAD as common models. freeCodeCamp summarises the shared backbone as requirement analysis, design, implementation, testing and evolution.

  • Waterfall: finishes all parts of a phase before moving on to the next. freeCodeCamp traces it to construction and manufacturing and does not recommend it for larger, longer projects. It fits work where requirements can be fixed up front and the sequence is easy to audit.
  • Agile: emphasises small, incremental releases with ongoing release cycles and stakeholder feedback. Each increment passes through a compact version of the same phases, so requirements and testing happen continuously rather than once.
  • Iterative approaches: developers create, test and deploy early versions quickly and at low cost, then refine them. This suits teams that expect requirements to shift as users react to working software (University of Michigan).

Pick the model first, then adapt the table above: with Waterfall each row is a stage gate, and with Agile each row is a recurring activity inside every increment.

Frequently asked questions

Is Agile a replacement for the SDLC?

No. Agile is one of several models for running the SDLC, alongside Waterfall, V-Model, Spiral, Incremental and RAD. The underlying activities of planning, building, testing and maintaining remain.

Which tools run a CI/CD pipeline?

Michigan names GitLab and Jenkins as tools for pushing code through a CI/CD pipeline to production.

Who performs user acceptance testing?

The University of Kansas standard assigns user acceptance testing to representatives of the user group, separate from the internal QA testing done by people outside the development group.

Why do guides disagree on the number of phases?

Guides group the same work differently. IBM lists seven phases, Michigan combines testing with integration and ends on operationalisation and maintenance across six steps, and Kansas names seven required phases that include procurement.