Project Management & Agile Module 3 – Scope and change control
Scope statements and work breakdown structures
Write a scope statement with acceptance criteria and exclusions, break it into a WBS that holds all the work once, and know when a backlog fits better.
What you will learn
- Write a scope statement with deliverables, acceptance criteria and explicit exclusions
- Decompose deliverables into a work breakdown structure that covers all the work exactly once
- Write WBS dictionary entries for work packages
- Compare a WBS with a Product Backlog and decide when each fits, or both
Before you start
What you’ll learn · Before you start
What you will learn
- Write a scope statement with deliverables, acceptance criteria and explicit exclusions
- Decompose deliverables into a work breakdown structure that covers all the work exactly once
- Write WBS dictionary entries for work packages
- Compare a WBS with a Product Backlog and decide when each fits, or both
Before you start
On this page
A college’s first plan for its tech fest listed “book the venue” and “do publicity”, counted the sponsor stalls twice and had no branch at all for running the project itself. A checker run on it below finds 6 problems; the corrected structure holds the fest’s 232 hours of work, each hour exactly once.
You will write a scope statement that says what is delivered and what is not, break it down into a work breakdown structure, describe its work packages in a dictionary, and decide when a Product Backlog should hold the scope instead.
A scope statement says what is delivered, how it is accepted and what is left out
Before anyone breaks the work down, the project writes down its scope. A scope statement: A written description of a project's deliverables, how each will be accepted, and what is explicitly out of scope. lists the deliverables, says how each one will be accepted, and names what the project will not do. PMI’s 2026 outline puts the three steps of scope in order: define scope, obtain stakeholder agreement on it, and break it down. Here is the fest’s scope statement:
| Deliverable | Accepted when |
|---|---|
| Venue | The auditorium is booked for both days, with sound, lights, seating and a stage tested the day before |
| Events | A coding contest, a robotics challenge and four talks run to the published timetable |
| Registrations | Online forms and a desk on the day, with every entrant’s fee recorded |
| Sponsorship and publicity | Every sponsor gets the stall and the posters its package promised |
| Safety | A first aid post staffed throughout, and a crowd plan agreed with the college |
| Closure | Accounts settled, refunds paid and a closure report sent to the student council |
Out of scope: food stalls, which the canteen runs; accommodation for visiting students; a hackathon, which was proposed and turned down; live streaming.
Every exclusion here was asked for by someone. Writing it down means that when it is asked for again, the answer is already agreed, and adding it becomes a decision instead of a favour.
Leaving the exclusions unwritten
Wrong: listing only what is in scope and assuming everything else is obviously out. Right: name the things people are likely to expect, food, accommodation, streaming, and say they are out, so that adding one later is a visible change.
A WBS holds all the work in deliverables, each piece exactly once
A work breakdown structure: A tree that divides a project's whole scope into deliverables and smaller deliverables, named as nouns, in which every element's children hold all of its work exactly once. divides the whole scope into deliverables, and those into smaller ones, until each piece is small enough to estimate and give to an owner. NASA’s WBS handbook calls it a product-oriented family tree of every deliverable the project needs, and adds that work not in the WBS is not part of the project. Two rules follow, and planners usually call the first one the 100 % rule:
- the children of every element hold all of its work and nothing else, so the hours at each level add up exactly;
- elements are deliverables named as nouns, because, as GAO’s schedule guide puts it, the WBS says what is required and the schedule says how it will be produced.
NASA’s handbook also asks for the work that is not a product, such as project management, to have its own elements. The program below checks the fest’s first draft against these rules and prints the corrected WBS with its codes and hours:
"""Checks two work breakdown structures for an invented college tech fest, then prints the corrected one with its
codes and hours rolled up.
A WBS element is a deliverable, named as a noun; the leaves are work packages with an estimate in hours. The checks:
no element starts with a verb (activities belong to the schedule), no element appears twice (the same work counted in
two places), and every deliverable of the brief has its own branch. A parent's hours are the sum of its children's, so
the top holds all the work exactly once.
"""
BRIEF = ["Venue", "Sponsorship", "Events", "Registrations", "Publicity", "Safety", "Closure", "Project management"]
VERBS = {"book", "do", "make", "arrange", "run", "create", "organise", "prepare", "write", "hire", "buy", "print"}
DRAFT = ("College tech fest", [
("Book the venue", [("Auditorium booking", 6), ("Sound and lights", 10)]),
("Sponsorship", [("Sponsor packages", 12), ("Sponsor stalls", 8)]),
("Events", [("Coding contest", 40), ("Robotics challenge", 36), ("Talks", 16)]),
("Registrations", [("Online form", 10), ("Registration desk", 12)]),
("Do publicity", [("Posters", 8), ("Social media campaign", 14), ("Sponsor stalls", 8)]),
("Safety", [("First aid post", 6), ("Crowd plan", 10)]),
("Closure", [("Accounts and refunds", 8), ("Closure report", 6)]),
])
FIXED = ("College tech fest", [
("Venue", [("Auditorium booking", 6), ("Sound and lights", 10), ("Seating and stage", 8)]),
("Sponsorship", [("Sponsor packages", 12), ("Sponsor stalls", 8)]),
("Events", [("Coding contest", 40), ("Robotics challenge", 36), ("Talks", 16)]),
("Registrations", [("Online form", 10), ("Registration desk", 12)]),
("Publicity", [("Posters", 8), ("Social media campaign", 14)]),
("Safety", [("First aid post", 6), ("Crowd plan", 10)]),
("Closure", [("Accounts and refunds", 8), ("Closure report", 6)]),
("Project management", [("Plan and budget", 12), ("Weekly status meetings", 10)]),
])
def names(element):
name, content = element
yield name
if isinstance(content, list):
for child in content:
yield from names(child)
def problems(wbs):
found = []
all_names = list(names(wbs))
for name in all_names:
if name.split()[0].lower() in VERBS:
found.append(f'"{name}" starts with a verb: name the deliverable, not the activity')
for name in sorted({n for n in all_names if all_names.count(n) > 1}):
found.append(f'"{name}" appears {all_names.count(name)} times: its work is counted twice')
branches = [child[0] for child in wbs[1]]
for deliverable in BRIEF:
if deliverable not in branches:
found.append(f'no branch for "{deliverable}"')
return found
def hours(element):
content = element[1]
return content if isinstance(content, int) else sum(hours(child) for child in content)
def show(element, code="1", depth=0):
print(f"{' ' * depth}{code:<7}{element[0]:<26}{hours(element):>4} h")
if isinstance(element[1], list):
for i, child in enumerate(element[1], start=1):
show(child, f"{code}.{i}", depth + 1)
for title, wbs in (("Draft", DRAFT), ("Corrected", FIXED)):
found = problems(wbs)
print(f"{title}: {len(found)} problems")
for line in found:
print(f" - {line}")
print()
show(FIXED) Output
Draft: 6 problems
- "Book the venue" starts with a verb: name the deliverable, not the activity
- "Do publicity" starts with a verb: name the deliverable, not the activity
- "Sponsor stalls" appears 2 times: its work is counted twice
- no branch for "Venue"
- no branch for "Publicity"
- no branch for "Project management"
Corrected: 0 problems
1 College tech fest 232 h
1.1 Venue 24 h
1.1.1 Auditorium booking 6 h
1.1.2 Sound and lights 10 h
1.1.3 Seating and stage 8 h
1.2 Sponsorship 20 h
1.2.1 Sponsor packages 12 h
1.2.2 Sponsor stalls 8 h
1.3 Events 92 h
1.3.1 Coding contest 40 h
1.3.2 Robotics challenge 36 h
1.3.3 Talks 16 h
1.4 Registrations 22 h
1.4.1 Online form 10 h
1.4.2 Registration desk 12 h
1.5 Publicity 22 h
1.5.1 Posters 8 h
1.5.2 Social media campaign 14 h
1.6 Safety 16 h
1.6.1 First aid post 6 h
1.6.2 Crowd plan 10 h
1.7 Closure 14 h
1.7.1 Accounts and refunds 8 h
1.7.2 Closure report 6 h
1.8 Project management 22 h
1.8.1 Plan and budget 12 h
1.8.2 Weekly status meetings 10 h
Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 wbs_check.py
The draft fails 6 checks: two branches named as activities, which also hides the venue and publicity deliverables of the brief, sponsor stalls counted under two branches, and no branch for project management. In the corrected WBS every parent’s hours are the sum of its children’s: 92 hours of events are 40 + 36 + 16, and the eight branches give 232. Follow one branch down until the WBS stops and the schedule begins:
The drawing shows the whole scene; its 5 steps are listed below.
Every step as text
- The whole scope at the top. Level 1 is the fest itself. Its 232 hours are the sum of its eight branches, so anything not under it is not part of the project.
- One deliverable of the brief. Events is one of the eight branches. Its 92 hours are exactly its three children, the coding contest, the robotics challenge and the talks, and nothing else.
- Small enough to estimate. The coding contest is a work package, 40 hours with one owner. Decomposing further would describe how to do the work, which is the schedule's job, not the WBS's.
- Activities go in the schedule. The schedule turns the work package into activities named as verbs, write six problems, test the solutions, set up the judge, run the contest, each with a duration and an order.
- Checked from the bottom up. Adding up the leaves must give each parent's hours again. If a branch's children add up to less, work is missing; if more, something is counted twice.
Checkpoint
Check: Scope statements and exclusions · The WBS and the 100 % rule
Work packages carry the estimate, the owner and a dictionary entry
The lowest elements of a WBS are work package: A lowest element of a work breakdown structure, small enough to estimate, give to one owner and check as complete., where estimates and owners are given. How small they should be is a matter of judgement: GAO’s guide says work packages are ideally about 4 to 6 weeks long, and many teams use a rule of thumb of 8 to 80 hours of effort. A rule of thumb is not a standard; what matters is that the package can be estimated and its completion checked.
Each work package gets an entry in the WBS dictionary: The companion document of a work breakdown structure that describes each element: what it contains and does not, how it is accepted, its owner, estimate and dependencies., the companion document that describes what the element contains. NASA’s handbook says the dictionary exists to make sure all the scope is identified and to remove duplication and overlap between assignments. Two entries of the fest’s dictionary:
| Field | 1.3.1 Coding contest | 1.6.2 Crowd plan |
|---|---|---|
| Contains | Six problems with tested solutions, a judging system, a 3-hour contest, prizes | Entry and exit routes, a cap per hall, volunteers’ positions, an evacuation route |
| Accepted when | Every problem has been solved by two volunteers and the judge marks their answers right | The college’s safety officer has walked the routes and agreed the caps |
| Owner | The coding club’s lead | The safety coordinator |
| Estimate | 40 hours | 10 hours |
| Depends on | 1.1.1 Auditorium booking, 1.4.1 Online form | 1.1.1 Auditorium booking |
| Not included | Food for contestants (out of scope) | First aid, which is 1.6.1 |
The last row matters most. “Not included” draws the line between neighbouring packages, so that first aid is planned once, under 1.6.1, and not again under the crowd plan.
A Product Backlog grows as the team learns; a WBS is fixed up front
A WBS fixes the scope early and protects it with change control, which suits work whose deliverables are known or promised. Adaptive work holds its scope differently. The 2020 Scrum Guide calls the Product Backlog: In Scrum, the emergent, ordered list of what is needed to improve the product; items are added, split and reordered as the team learns. “an emergent, ordered list of what is needed to improve the product”: items are added, split and reordered as the team learns, and the most valuable come first.
Many projects use both. A city’s ticketing app might hold the contract’s fixed deliverables, the payment integration, the accessibility audit and the data migration, in a WBS, and the app’s features in a backlog under one branch of it. Try the figure on a project you know; three answers decide which way of holding its scope still fits:
Answer the questions above: the table then marks what fits your case and says why the rest does not.
| Way to hold scope | Fixed commitments | Learning as you go | Cost by deliverable | Ordered by value |
|---|---|---|---|---|
| WBS fixed up front How it changes: through change control, against a baseline | Good every deliverable named, each with its acceptance criteria | Poor each new idea is a change request against the baseline | Good hours roll up exactly: 232 for the fest | Mixed shows what, not what to do first |
| Product Backlog How it changes: reordered and refined as the team learns | Poor an emergent list cannot fix what is promised | Good items are added, split and reordered as the team learns | Mixed costs by item only once items are estimated | Good ordered by the Product Owner, most valuable first |
| Both together How it changes: WBS for commitments, backlog for features | Good the WBS holds what the contract or the law fixes | Good the backlog holds the features still being discovered | Mixed reported by WBS branch, with the backlog under one branch | Good the backlog orders work inside its branch |
How the answers decide
- “Does a contract, a law or a funder fix some deliverables that must be delivered as described?” Yes, some are fixed: rules out Product Backlog. A list that changes as the team learns cannot by itself say what was promised; fixed deliverables need a WBS or a list as firm.
- “Do you expect to discover what users need as the work goes on?” Yes, we will learn as we go: rules out WBS fixed up front. A WBS fixed up front turns every discovery into a change request; features still being discovered belong in a backlog.
- “Do you expect to discover what users need as the work goes on?” No, the needs are known and “Does a contract, a law or a funder fix some deliverables that must be delivered as described?” No, nothing is fixed: adds a caveat to Both together. With known needs and nothing fixed from outside, keeping two structures adds work; one is usually enough.
- “Must you report cost and progress by deliverable to someone outside the team?” Yes, by deliverable: adds a caveat to Product Backlog. Reporting by deliverable needs items grouped and estimated; a backlog alone gives costs only item by item.
Fixed commitments call for a WBS, features still being discovered call for a backlog, and work with both gets both, with the backlog living under the WBS branch that holds the product.
Key idea
Hold what is promised in a WBS whose levels add up exactly, and what is still being discovered in an ordered backlog; most real projects have some of each.
Checkpoint
Check: Work packages and the WBS dictionary · WBS or Product Backlog
Practise: scopes, structures and packages
The questions bring other projects to break down: a wedding, an office move, a website and a city’s app. Choose an answer, see why it is right or what it misses, and the parts you find hardest come back:
Practice that adapts to you
Practise this lesson
9 questions about 4 ideas of this lesson. Each answer is explained at once, and what you get right is kept in this browser.
Interview questions
Warm-up (fresher to 2–5 years): what is the 100 % rule of a work breakdown structure?
The 100 % rule says that the children of every element of a work breakdown structure contain all of that element’s work and nothing more. Added up level by level, the work of the lowest elements gives each parent’s total exactly, and the top element holds all of the project’s work. Two faults break it: missing work, such as a project with no branch for project management itself, and work counted twice, such as sponsor stalls listed under both sponsorship and publicity. Naming elements as deliverables rather than activities helps, because two branches can easily describe the same activity in different words.
Two harder questions follow, about coaching someone whose WBS is full of activities and about a client who wants a fixed price and changing features. Decide what you would say before you open each first step:
Model answers open with any pass: ₹79 for 1 week ($2.99), one payment that never renews.
-
Mid to senior
A junior colleague's WBS for an office move has elements such as "pack boxes", "move desks" and "test network", and "IT equipment" appears under both "Furniture and equipment" and "IT". How do you coach them to fix it?
-
Senior to staff
A client wants a fixed price for a mobile app, but also wants to change its features every two weeks after seeing progress. How do you structure the scope, and what do you put in the contract?
Flashcards · 5 cards
Recall it, then check
Say the answer to yourself before you look: recalling it is what makes it stick.
-
What three things does a scope statement list?
The deliverables, how each one will be accepted, and what the project will not do (exclusions). Writing exclusions down turns a repeated request into a visible decision rather than a favour.
-
What is the 100 % rule of a work breakdown structure?
The children of every element hold all of that element's work and nothing more, so the hours at each level add up exactly. Work not in the WBS is not part of the project; two faults break it, missing work and work counted twice.
-
Why are WBS elements named as deliverables rather than activities?
GAO's schedule guide: the WBS says what is required and the schedule says how it will be produced. Noun names (coding contest, crowd plan) stop two branches from describing the same activity in different words; the project-management work also gets its own branch.
-
What are a work package and its WBS dictionary entry?
A work package is a lowest WBS element, sized to be estimated and owned (GAO suggests about 4-6 weeks; many teams use 8-80 hours). Its dictionary entry says what it contains, how it is accepted, who owns it, the estimate, dependencies and what it does NOT include.
-
When do you use a WBS, when a Product Backlog, and when both?
A WBS fixes promised scope early and protects it with change control; a Product Backlog is an emergent, ordered list of what is needed to improve the product. Many projects keep features in a backlog under one branch of a WBS that holds the fixed deliverables.
Key takeaways
- A scope statement lists the deliverables, how each one will be accepted and what is explicitly out, so that adding an excluded item later is a visible decision.
- A work breakdown structure divides the scope into deliverables named as nouns, and the children of every element hold all of its work exactly once, so the hours add up at every level.
- Work packages are the lowest elements, sized to be estimated and owned, and each has a dictionary entry that says what it contains and what it does not.
- A WBS fixes promised scope up front, a Product Backlog holds scope that emerges as the team learns, and many projects keep the backlog under one branch of a WBS.
Terms in this lesson
- Product Backlog
- In Scrum, the emergent, ordered list of what is needed to improve the product; items are added, split and reordered as the team learns.
- scope statement
- A written description of a project's deliverables, how each will be accepted, and what is explicitly out of scope.
- WBS dictionary
- The companion document of a work breakdown structure that describes each element: what it contains and does not, how it is accepted, its owner, estimate and dependencies.
- work breakdown structure
- A tree that divides a project's whole scope into deliverables and smaller deliverables, named as nouns, in which every element's children hold all of its work exactly once.
- work package
- A lowest element of a work breakdown structure, small enough to estimate, give to one owner and check as complete.
References
- NASA Work Breakdown Structure (WBS) Handbook (National Aeronautics and Space Administration)
- Schedule Assessment Guide: Best Practices for Project Schedules (GAO-16-89G) (U.S. Government Accountability Office)
- The 2020 Scrum Guide (Ken Schwaber and Jeff Sutherland)
- PMP Examination Content Outline (2026) (Project Management Institute)
Report a problem with this lesson
Kept only in this browser. Your Learn progress