Skip to content

Beginner · DevOps culture and the SDLC · topic 2 of 53 · 30 min

The SDLC: waterfall, agile, Scrum and Kanban

Explanation

The software development life cycle (SDLC) is the set of phases every piece of software goes through: requirements, design, build, test, release, and operate and maintain. Waterfall does these phases once, in order; agile repeats them in short cycles. Scrum and Kanban are two popular agile methods, and DevOps extends agile all the way to release and operations.

What is the SDLC?

SDLC stands for software development life cycle. It is the list of phases that turn an idea into working software and then keep it working. Every team goes through these phases, even if they do not use the names.

PhaseQuestion it answersExample output
RequirementsWhat should we build, and for whom?A list of user needs, a feature request
DesignHow will it work?Screens, database tables, an architecture diagram
BuildWrite the codeSource code in Git
TestDoes it work, and is it safe?Test results, a bug list
ReleasePut it in users’ handsA new app version or website deployment
Operate and maintainKeep it running and improve itMonitoring, bug fixes, updates

Waterfall: one phase after another

In the waterfall model, each phase finishes completely before the next one starts, like water falling down steps. Requirements are written and signed off, then design, then months of coding, then testing, then one big release.

Waterfall works when requirements are fixed and well understood, for example some government contracts or safety systems. Its weakness is late feedback. Users see the product only at the end, maybe a year later. If the requirements were wrong, a lot of work is wasted, and changes late in the project are expensive.

Agile: short cycles and early feedback

Agile is a family of methods that build software in short cycles, often one to four weeks. Each cycle goes through all the phases on a small piece of work and ends with something working that users can see. The Agile Manifesto (2001) values individuals and interactions, working software, customer collaboration and responding to change.

Think of it like this: Waterfall is like planning a whole wedding menu a year ahead and tasting it for the first time on the wedding day. Agile is like cooking one dish, letting the family taste it, adjusting the salt, then cooking the next dish. You find mistakes while they are still cheap to fix.

Scrum in brief

Scrum is the most popular agile method. Work happens in sprints: fixed time boxes of one month or less, often two weeks. The Scrum Guide names three accountabilities (roles):

  • Product Owner: decides what is most valuable and orders the product backlog (the to-do list of features).
  • Scrum Master: helps the team follow Scrum and removes blockers.
  • Developers: everyone who builds the product increment, including testers and designers.

Scrum has five events (ceremonies): the Sprint itself, Sprint Planning (choose the work), the Daily Scrum (a 15-minute daily check-in), the Sprint Review (show the result to stakeholders) and the Sprint Retrospective (discuss how to work better).

Many teams estimate work in story points, a relative size such as 1, 2, 3, 5 or 8. Velocity is the number of story points a team finishes in a sprint. Averaging recent velocity helps forecast how many sprints a backlog will take. Story points and velocity are common practice but are not part of the official Scrum Guide.

Kanban in brief

Kanban comes from Toyota factories. Work items are cards on a board with columns such as To do, Doing, Review and Done. There are no fixed sprints: work flows continuously. The key rule is a WIP limit (work in progress limit): a maximum number of cards allowed in a column. If Review has a limit of 2 and already holds 2 cards, nobody starts new work; they help finish reviews first. This exposes bottlenecks and shortens the time each item takes.

User stories and the definition of done

A user story describes a need from the user’s point of view: "As a passenger, I want to download my ticket as a PDF, so that I can show it without internet." Acceptance criteria list the conditions that must be true for that story, for example "the PDF shows the PNR number".

The definition of done is a checklist that applies to every story: code reviewed, automated tests pass, deployed to staging, documentation updated. In a DevOps team, "done" often means "running in production and monitored", not just "code written".

Where DevOps fits

Agile made the build and test phases fast. But many agile teams still waited weeks for an operations team to release their work. DevOps extends agile thinking to the last phases, release and operate, through automation and shared ownership. Agile asks "are we building the right thing in small steps?" DevOps adds "can we ship each small step safely, and learn from how it runs?"

Careful: Common mistakes: (1) Using velocity to compare teams or judge people. Story points are relative to one team, so comparisons are meaningless and lead to inflated estimates. (2) Holding Scrum ceremonies without changing anything after the retrospective. (3) Setting no WIP limits, so everyone starts new work and nothing finishes. (4) A definition of done that stops at "code merged", so features sit unreleased for weeks.

Need help?

Stuck on a word or an idea? Search this course, or every course, and jump straight to the explanation or a worked question.

Try:

Watch the lesson

The SDLC: waterfall, agile, Scrum and Kanban · 1/7

Requirements Design Build Test Release Operate

The software development life cycle, or SDLC, is the path from an idea to software that runs and keeps running.

Prefer a video by a teacher? Find free videos on “sdlc waterfall vs agile scrum kanban explained” on YouTube ↗

In real life: Sprint planning for a railway booking feature

A team in Bengaluru builds a ticket-booking app. Their last three sprints finished 21, 18 and 24 story points, so average velocity is 21. The product owner has a backlog of 100 points for a new "download e-ticket as PDF" release. 100 divided by 21 is about 4.8, so the team forecasts 5 two-week sprints and tells stakeholders "about ten weeks", not an exact date. On their Kanban-style board, the Review column has a WIP limit of 2, which stops pull requests from piling up unreviewed.

python
import math

velocities = [21, 18, 24]
average = sum(velocities) / len(velocities)
backlog = 100
print(average, math.ceil(backlog / average))
Shows 21.0 5: average velocity and the sprints needed.

Practice (0/3 done)

Task 1 · Question

A team builds for 9 months and shows the product to users only at the end. Which model is this?

Task 2 · Code · Python

Write two functions. velocity(points) returns the average story points of the finished sprints in the list, rounded to 1 decimal place (return 0 for an empty list). sprints_needed(points, backlog) returns how many whole sprints the backlog needs at that average velocity (round UP with math.ceil). If the velocity is 0, return None because no forecast is possible.

Task 3 · Code · Javascript

A Kanban board is an object like { todo: ["A", "B"], doing: ["C", "D", "E"], review: ["F"] }. WIP limits are an object like { doing: 2, review: 2 }. Write wipViolations(board, limits) that returns the names of the columns that hold MORE cards than their limit, in the order the columns appear in limits. Columns without a limit have no maximum, and a limited column missing from the board counts as empty.

Quick quiz

Question 1

1.In Scrum, who orders the product backlog by value?

Question 2

2.What does a WIP limit on a Kanban column do?

Question 3

3.What is the main weakness of the waterfall model?

Question 4

4.Which is a well-formed user story?

Question 5

5.How does DevOps relate to agile?

Read more (free)

Before this, learn

This topic builds on these. If something here feels new, open them first.

Open a question to see the answer and why. The first ones are this topic's own quiz, so try the quiz above before you peek.

In Scrum, who orders the product backlog by value?

Answer: The Product Owner

The Product Owner is accountable for ordering the product backlog.

What does a WIP limit on a Kanban column do?

Answer: Caps how many items can be in that column at once

A work in progress limit caps the cards in a column so the team finishes work before starting more.

What is the main weakness of the waterfall model?

Answer: Users give feedback only at the end, so mistakes are found late

Waterfall delays feedback until the end, which makes wrong requirements expensive.

Which is a well-formed user story?

Answer: As a passenger, I want to download my ticket as a PDF, so that I can show it offline

A user story says who wants something, what they want and why.

How does DevOps relate to agile?

Answer: DevOps extends agile ideas into release and operations

Agile sped up building; DevOps carries the same small-step thinking through release and running in production.

Which stage comes right after "deploy" in the DevOps infinity loop?Related

Answer: Operate

The order is plan, code, build, test, release, deploy, operate, monitor.

From What DevOps is and the problem it solves

Which of these is a correctly written user story?Related

Answer: As a student, I want to search my notes, so that I can find a formula quickly

A user story names the role, the need and the reason. The other options are tasks or design details.

From Requirements and user stories

In trunk-based development, how long do branches usually live?Related

Answer: Hours, or a day or two

Short-lived branches merged often keep everyone close to trunk and avoid painful merges.

From Core DevOps practices and the DORA metrics

What is a definition of done?Related

Answer: A fixed list of checks every feature must pass before it counts as finished

It turns "almost done" into a clear yes or no: live, tested, validated, safe and clear.

From Capstone project brief

Pass the quiz (60% or more) or mark this topic as done when you are ready.

Your progress is saved on this device only.

Next steps

  1. 2 more topics in “DevOps culture and the SDLC” before its exam: Core DevOps practices and the DORA metrics, The DevOps toolchain and your learning roadmap.
  2. Module 1 exam: DevOps culture and the SDLC · 13 questions · 20 min, without help. 4 topics of this module still to finish first.
  3. Then the next module, Linux for DevOps. 53 topics left in the course before the final exam.

← Previous: What DevOps is and the problem it solves