What Is SDLC? Stages, Models and Agent-Driven Changes
What is SDLC? Learn the seven stages of software development, how teams arrange them, and how AI agents change the process.
In this article
- What SDLC Means and Why Teams Use It
- More than a coding checklist
- The Seven Stages of the Software Development Life Cycle
- Follow a dental booking app
- Keep a checkable output
- Who Owns Security at Each Stage
- Assign the work and the evidence
- How Teams Arrange the Stages Across Waterfall, Agile and DevOps
- Compare the working patterns
- Decide what sends work back
- How Agent-Driven SDLC Differs From Traditional Work
- Compare the handoffs
- Keep approval separate from generation
- Measure Your SDLC and Take the First Steps
- Read speed and stability together
- Start with a small baseline
SDLC, the software development life cycle, is the set of stages that turns an idea into working software and keeps it running after release.
You have an app idea, a list of features, and someone ready to write code. But who checks whether the features solve the right problem? Who decides when the software is safe to release? SDLC gives your team a way to answer those questions before mistakes reach users.
What SDLC Means and Why Teams Use It
Building software is a bit like building a house. You wouldn't pour the foundation before drawing plans, and you wouldn't move in before an inspection. You also need someone to repair the roof after you move in.
Software needs that same care. A developer can build a booking form quickly, but the team still needs to agree on what patients can book, how staff manage appointments, and what happens when something fails.

More than a coding checklist
Each stage produces something another person can check: a requirements list, a design, test results, or a release decision. Managers use these records to estimate costs, assign owners, and decide whether the team should continue.
The history helps explain that role. As described in this history of software development processes, Winston Royce published a detailed seven-phase sequence in 1970, while Thomas Bell and Thomas Thayer helped popularize the waterfall label in 1976. Royce's paper didn't use that label, and he warned against a rigid, single-pass process.
The lifecycle also became a governance tool. The National Academies account describes a milestone in 1985, when the U.S. Department of Defense adopted a phased software-development standard for contractors.
Practical rule: A stage isn't finished just because someone stopped working on it. It needs an output that the next person can inspect.
So, what is SDLC in everyday terms? It's the whole job of making and caring for software, not just writing code. SDLC describes the work to manage. Waterfall, agile, and DevOps describe different ways to organize it.
The Seven Stages of the Software Development Life Cycle
The stages are requirements, analysis, design, implementation, testing, deployment, and maintenance. Their outputs connect: the design guides implementation, and requirements guide testing.
Teams group these activities differently. Some put planning first and combine analysis with requirements, as the diagram does. The important thing is to cover the work, not force every team to use identical labels.

Follow a dental booking app
- Requirements. The clinic wants patients to book online. The product owner writes acceptance criteria, meaning clear conditions the feature must meet. For example, a patient must receive confirmation after booking.
- Analysis. The team checks cost, scheduling-system access, and business rules. Patients can't reserve the same appointment slot, even if they click at the same moment.
- Design. Engineers choose the database, login approach, and booking flow. They decide how the system reserves a slot safely. A software design review process helps catch weak assumptions before implementation.
- Implementation. Developers write the booking form, appointment service, and database changes. They store code in version control and submit pull requests for review.
- Testing. Testers and developers check normal bookings, competing requests, and failed payments if the clinic takes deposits. They also check whether a failed payment leaves a slot incorrectly reserved.
- Deployment. The release engineer puts the approved build into production. The team checks that booking works in the live environment and prepares a rollback if it doesn't.
- Maintenance. The team fixes bugs, updates dependencies, and watches for failures. Appointment reminders become a new change that goes through the relevant stages.
Keep a checkable output
The seven SDLC stages, their questions and outputs
| Stage | Question it answers | Typical output | Security check |
|---|---|---|---|
| Requirements | What problem are we solving, and for whom? | Requirements list with acceptance criteria | Security requirements written down |
| Analysis | Is it feasible, and is it worth building? | Scope, risks and cost estimate | Threat assumptions recorded |
| Design | How will the system be structured? | Architecture and design documents | Threat modeling and security design review |
| Implementation | How do we write it? | Code in version control and pull requests | Secure coding rules and dependency checks |
| Testing | Does it work and meet the requirements? | Test results and defect reports | Automated security scans and tests |
| Deployment | How does it reach users safely? | Released build and release notes | Release integrity checks |
| Maintenance | How does it behave in production? | Fixes, updates and incident reports | Vulnerability response and patching |
The security column isn't an extra phase. NIST's Secure Software Development Framework organizes secure development into four practice groups: preparing the organization, protecting software, producing well-secured software, and responding to vulnerabilities.
For the clinic, that means deciding who may view patient details before coding, checking dependencies during development, and protecting the released build. Finding an unsafe design early lets the team change it before patients use it.
Write down each stage's output before handing work over. Keep requirements connected to designs, pull requests, and tests so reviewers can check what was delivered.
Who Owns Security at Each Stage
A security check without an owner is easy to miss. Product, engineering, release, and operations teams need clear responsibilities, rather than assuming the security team will catch everything.
NIST's secure-development guidance notes that few SDLC models address security in enough detail and recommends integrating secure-development practices into each lifecycle implementation.
Assign the work and the evidence
| Responsible role | Security work | Recorded output |
|---|---|---|
| Product owner | Define access and data-protection needs during planning | Approved security requirements |
| Technical lead | Check threat assumptions during analysis | Risk and assumption log |
| Architect | Model threats and review the design | Threat model and review decisions |
| Developer | Apply secure coding and check dependencies | Pull request and dependency results |
| Test engineer | Verify security behavior | Test and scan results |
| Release engineer | Verify release integrity and software provenance | Build origin and release-verification record |
| Operations and security | Handle vulnerability alerts and patching | Remediation ticket and incident record |
Treat preparation, software protection, secure production, and vulnerability response as ownership checks. Each needs a responsible person, even when the same engineer covers several roles.
For the clinic's payment integration, the architect records payment-related threats. The developer checks the payment library, and a named maintainer receives vulnerability alerts after release.
Every security check needs a named owner and a recorded output. A missed check should become visible at handover, not during an incident.
How Teams Arrange the Stages Across Waterfall, Agile and DevOps
The same lifecycle can run as one long pass, a set of loops, a sprint rhythm, or a continuous flow. Waterfall closes each phase before the next begins. Iterative approaches repeat the activities in smaller cycles, so teams can learn from working software.
Agile adds frequent customer feedback and short planning cycles. DevOps connects development and operations through shared responsibility, automated delivery, and production monitoring. These approaches can overlap inside one product.
Compare the working patterns
How four delivery models run the SDLC stages
| Model | How the stages run | Best fit | Main risk |
|---|---|---|---|
| Waterfall | One pass, with each phase closed before the next starts | Fixed scope and regulated projects with stable requirements | Errors found late are expensive to fix |
| Iterative and incremental | Stages repeat in cycles, and each cycle adds a working part | Products where needs are learned by building | Scope can drift without clear limits |
| Agile | Short sprints, often one to four weeks, with frequent customer feedback | Changing requirements and small teams | Thin documentation and unclear ownership |
| DevOps and continuous delivery | Small changes are built, tested and deployed often, then monitored | Products that need frequent releases | Weak test automation lets failures reach users |
Iterative development repeats planning, risk analysis, engineering, and customer evaluation in cycles. Returning to earlier work can be the model working as designed, especially when each cycle produces evidence that changes the next decision.
Decide what sends work back
Treat the lifecycle as a control system for uncertainty. Before work advances, ask what you learned and whether an earlier decision still holds.
- Failed acceptance test: If the clinic's cancellation rule is unclear, return to requirements rather than guessing in code.
- Security finding: If patients can access another patient's booking, revisit the access-control design.
- Production behavior: If patients abandon the form at login, review the product assumptions and user flow.
- Changed constraint: If the clinic changes its scheduling provider, reopen the integration design.
Record the finding, the affected decision, and who approves the revision. A Kanban board for blocked work can make return paths visible instead of hiding rework inside an implementation ticket.
A team building payments in a regulated market might use formal gates for compliance design and short sprints for the interface. That combination can be deliberate. Pick the arrangement that reveals costly rework earliest, not the one with the most popular name.
How Agent-Driven SDLC Differs From Traditional Work
In a traditional workflow, developers usually write the first draft of designs and code, then peers review it. In an agent-driven workflow, an agent drafts from an approved specification and checks its output before a person reviews it.
Automation is already common. In 2024, 67% of respondents said their software development lifecycle was mostly or completely automated, according to GitLab's Global DevSecOps Report, which surveyed more than 5,000 DevSecOps professionals worldwide. That finding measures automation, not autonomous agent adoption.

Compare the handoffs
The table contrasts a manual-first workflow with a governed agent workflow. These are working patterns, not limits on what either approach can do.
Traditional versus agent-driven SDLC
| Criterion | Traditional SDLC | Agent-driven SDLC |
|---|---|---|
| First draft of design and code | Written by developers by hand | Drafted by an agent from an approved specification, then reviewed |
| Handoffs | Tickets and documents passed between product, design and engineering | One board where work moves through defined stages |
| Review | Peers review each change | An agent checks output against the approved design before a person reviews it |
| Human decision points | Set by the project plan and gate meetings | Written into the workflow and marked where a person must act |
| Context | Held in people's heads and scattered documents | Stored with each work item, and agents see only what is shared with them |
| Main bottleneck | Time spent writing code | Clear specifications and time spent reviewing output |
| Evidence | Sprint reports and time records | Records of each agent action and each review round |
Keep approval separate from generation
Cheap generation doesn't make a vague specification safer. An agent can implement the wrong cancellation policy across the interface, database, and tests before anyone notices the misunderstanding.
A sound human-in-the-loop agent workflow pauses where a person must make a decision. Approving a design is different from accepting a generated summary that says the design passed.
For the clinic, an agent builds the approved change and opens a pull request. We recommend preview deployments with a URL for each pull request, so you can inspect the live result using Loupe's live review widget. A reviewer can try booking and cancelling instead of judging the interface only from code.
Faster drafting makes approval points more important, not less. Don't let a passing agent check silently become permission to release.
People still need to approve product intent, accept architectural and security risks, and authorize release. Agents can prepare evidence and suggest fixes, but accountable humans decide whether the result is acceptable.
Measure Your SDLC and Take the First Steps
Measure one service first. Mixing unrelated teams can hide a slow review queue in one service behind frequent releases from another.
Use these definitions consistently:
- Deployment frequency: How often changes reach production.
- Lead time for changes: Time from a change entering version control to successful production deployment.
- Time to recover: Time to restore service after a failed deployment.
- Change failure rate: Share of deployments needing immediate intervention, such as a rollback or hotfix.
Read speed and stability together
IBM's explanation of DORA metrics presents the following performance bands, including elite deployment frequency of multiple times per day and change-failure rates of 0–15%.
DORA performance bands for SDLC health
| Measure | What it shows | Elite teams | High-performing teams |
|---|---|---|---|
| Deployment frequency | How often changes reach production | Multiple times per day | Once per day to once per week |
| Lead time for changes | Time from code change to production | Under one hour | Several hours to one week |
| Time to recover | Time to restore service after a failed deployment | Under one hour | Under one day |
| Change failure rate | Share of deployments needing rollback or hotfix | 0–15% | 16–30% |
Don't treat a band as a release quota. Rising deployment frequency alongside a rising failure rate suggests the team is moving faster than its checks can support. Long lead time with a stable failure rate calls for investigating review queues, environments, and approvals.
DORA's metrics guidance supports measuring delivery outcomes together. Collect pull-request timestamps, CI results, deployment events, incidents, and rollback records so you can locate delays rather than guess.
Start with a small baseline
- Map your actual stages. Compare them with the lifecycle activities above. Include informal work such as release approval.
- Name gate owners. Record who can approve or stop work and what evidence they need.
- Measure a baseline. Track lead time and change failure rate for one service over two weeks before changing the workflow.
- Write security checks. Use the stage table as a starting point, then assign owners.
- Try a small agent-built change. Count review rounds and failed deployments before expanding its scope.
Keep repository rules explicit. Our loupe project link command writes .loupe/lifecycle.md, the repository profile every stage skill reads. It holds gate commands, pull-request rules, column names, and epic branch rules.
Read that file, correct its guesses, and commit it. A worker sees only what you push. The command also writes .loupe.yaml, which holds the project ID; commit it so everyone in the repository reaches the same project.
Before advancing any work, ask: Who approves it, what evidence do they need, and what happens if it fails?
Loupe organizes coding-agent work across design, implementation, and review, with explicit human checkpoints. Visit Loupe to explore a workflow that keeps approved designs, agent actions, and review decisions connected.