IFI 8410 — Session 4: Functions and Decomposition
Decomposition
Breaking a large problem into smaller pieces
The problem
Why large goals feel hard
"Organize an event." "Complete a study." "Improve a service."
A large goal is hard not because it is big, but because many things are mixed together:
- decisions that have not been made yet
- dependencies — what has to happen first
- uncertainty about what "done" even looks like
You cannot act on a goal. You can only act on a next step.
Definition
Decomposition
Taking a large goal and dividing it into smaller, understandable tasks and steps.
It does not make the goal less important or change its purpose.
It makes the work visible — people can see:
- what needs to happen
- in what order
- who is responsible
- how each completed piece contributes to the whole
Structure
Goal → tasks → steps
Large goal
Focus on one meaningful task at a time — while keeping sight of the overall outcome.
Why break work down?
Not a longer to-do list
The goal is a plan people can understand, use, inspect, and improve.
Clarity
Vague goals become concrete actions; dependencies become visible.
Reuse
A proven approach is kept and adapted instead of rebuilt from nothing.
Checking
Progress and quality are reviewed piece by piece — not only at the end.
Collaboration
Work is shared without everyone managing the whole effort.
Payoff 1 of 4
Clarity
Each task has a recognizable purpose; each step moves the work forward.
- Separates what is done from what is still uncertain
- Reveals dependencies
Choose a venue
→
Send invitations
(they need the location)
Payoff 2 of 4
Reuse
Many large efforts contain tasks you will need again:
- planning a meeting
- reviewing information
- approving a request
- preparing materials
Reuse is not repeating work without thought.
It is preserving a proven approach so people can adapt it rather than start from nothing.
Payoff 3 of 4
Checking
Small tasks can be reviewed before the whole effort is complete — so a serious problem does not surface at the very end.
At each piece, ask:
- Is this step complete?
- Does it meet the expected standard?
- Is important information missing?
- Does the next task have what it needs to begin?
Payoff 4 of 4
Collaboration
Works best when each task has a clear outcome, a responsible owner, and a known connection to other tasks.
Planning task
→
Person or group A
Preparation task
→
Person or group B
Review task
→
Person or group C
Final delivery task
→
Person or group D
Fewer duplicated efforts, missed handoffs, and "who acts next?" moments.
How to do it
A practical process
- Describe the final outcome clearly — start there, not with activities.
- Identify the major tasks needed to produce that outcome.
- Divide each task into steps — only until the next action is clear.
- Put tasks in order and mark dependencies.
- Assign responsibility and agree how each result will be checked.
- Review the plan as work progresses; adjust when new information appears.
How far to go?
The right level of detail
Too broad
People do not know what to do next.
"Handle the logistics."
Too narrow
A distracting list of tiny actions that no longer helps anyone understand the work.
"Open the fridge. Take out the butter."
Stop dividing when the next action is obvious.
Example 1 — simple
Hosting a dinner
Host a dinner for several friends on Saturday evening.
Host a dinner
Plan the meal
- Ask guests about dietary needs
- Choose dishes
- Make a shopping list
Prepare for guests
- Confirm who is attending
- Set the table
- Prepare drinks and seating
Prepare the food
- Shop for ingredients
- Prepare items that can be made early
- Cook and serve the meal
Avoids: buying ingredients too late · more food than fits on the stove · learning about a dietary restriction after choosing the menu.
Example 1 — simple
Dinner: the four payoffs
- Clarity "Host a dinner" is planning, preparation, and serving — not one undefined activity.
- Reuse Keep a meal-planning checklist and adapt it for the next dinner.
- Checking Review the guest list, shopping list, and table before cooking begins.
- Collaboration One person shops, another prepares a dish, another sets the table.
Example 2 — medium
Organizing a student workshop
Organize a one-day student workshop
Define the workshop
- Choose topic and audience
- Set learning goals
- Decide date and length
Arrange logistics
- Reserve a room or online space
- Confirm presenters and support
- Prepare accessibility arrangements
Communicate
- Create an announcement
- Open registration
- Send reminders and details
Prepare the session
- Create activities and materials
- Prepare equipment and handouts
- Review the schedule
Run and review
- Welcome participants
- Deliver activities, take questions
- Collect feedback
- Record improvements
Example 2 — medium
The same plan as a flow of results
Tasks have dependencies: each stage produces what the next one needs.
Topic and goals
→
Date, location, presenters
→
Participant communication
→
Materials and final schedule
→
Workshop day
→
Feedback and improvement
A tree shows what the work is. A flow shows what each piece hands to the next.
Example 2 — medium
Workshop: the four payoffs
- Clarity Not just "an event to schedule": purpose, logistics, communication, materials, and review are separate work.
- Reuse The plan becomes a template — registration messages, accessibility checks, feedback questions, timeline.
- Checking Confirm the room, match materials to learning goals, verify participants got the details, examine feedback.
- Collaboration Content, registration, and room/equipment can each go to a different group — with clear handoffs.
Example 3 — complex
Prepare for, respond to, and recover from flooding
Understand risks and needs
- Identify flood-prone areas
- Review past flood impacts
- Identify people needing extra support
Set priorities, prepare plan
- Define desired outcomes
- Choose actions by urgency and impact
- Estimate resources and funding
Improve physical readiness
- Inspect drainage and structures
- Identify repair work
- Prepare supplies and access routes
Communication and response
- Define warnings and channels
- Prepare evacuation and shelter
- Practice with relevant groups
Recovery and improvement
- Document impacts
- Coordinate recovery support
- Review what worked and failed
- Update the plan
Example 3 — complex
Different timing, still connected
Risk information
Community needs
Available resources
→
Priorities and plan
→
Action schedule
→
Preparedness actions
Flood event or practice
→
Review results
→
Update future actions
↺
Several inputs converge; real events feed a loop that updates the plan.
Example 3 — complex
Flood plan: the four payoffs
- Clarity "Be better prepared" is too broad to guide decisions; the tasks separate risk, priorities, readiness, communication, response, and learning.
- Reuse Warning messages, contact lists, shelter procedures, and assessment forms are maintained — not recreated mid-emergency.
- Checking Verify risk data, inspect repairs, test warnings, review drills, update after every event.
- Collaboration Leaders, emergency services, infrastructure, health, schools, residents, businesses — each owns a part and a handoff.
Example 4 — working backward
Start from the finish line
Examples 1–3 went top-down: name the goal, split it into tasks.
Step 1 of our process said: describe the final outcome clearly — start there, not with activities. Now take that literally.
Forward
"What do we do first?"
→ easy to start busy work that leads nowhere
Backward
"What does done look like?"
← "What had to be finished just before that?"
Your turn — Example 4
Plan a quarterly insights brief — backward
Your team publishes a quarterly industry insights brief: an analysis of the latest industry data, written up for stakeholders.
Done means: a finalized, verified brief delivered to stakeholders — with clear analytical takeaways and a way to collect reader feedback.
- Start from done. Ask: what had to be finished just before this? Repeat until you reach the start.
- Name the major tasks you found — and who would own each.
- Break each task into steps, stopping when the next action is clear.
- Mark one checkpoint and one handoff between people.
LiveSythesis · 10 minutes
Example 4 — working backward
The quarterly insights brief
First, define success in plain language:
A finalized, verified quarterly brief delivered to stakeholders — with clear analytical takeaways and a feedback mechanism in place.
Not "write a report." A description of the finished state that anyone can check against.
Example 4 — Level 1: major tasks
Walk backward from the outcome
Ask repeatedly: what had to be finished just before this?
D Scoping & data gathering
Research team
→
C Data analysis & insights
Data team
→
B Production & quality review
Editorial
→
A Final delivery & feedback
Communications
→
Brief delivered, feedback in place
Planned right to left — executed left to right.
Example 4 — Level 2: smaller steps
One level further: next actions
Brief delivered, feedback in place
D · Scoping & data
- D1 Define research questions and audience
- D2 Collect raw datasets; interview experts
Research team
C · Analysis & insights
- C1 Clean raw data; compute summary metrics
- C2 Synthesize metrics into findings and trends
Data analyst
B · Production & review
- B1 Draft charts and narrative
- B2 Inspect for accuracy and layout
- B3 Obtain final sign-off
Technical writer, editorial
A · Delivery & feedback
- A1 Send through distribution channels
- A2 Deploy reader feedback forms
Communications
Detailed enough to act on — not bogged down in tiny actions like "open the spreadsheet."
Example 4 — comparing the two levels
Brief: the four payoffs at two levels
| Level 1 — major tasks | Level 2 — smaller steps |
|---|
| Clarity | A vague goal becomes four recognizable phases. | Shows exactly what is finished and exposes exact dependencies — layout inspection B2 must come before sending A1. |
| Reuse | A standard sequence — Scoping → Analysis → Production → Delivery — frames every future brief. | Keeps repeatable artifacts: data-cleaning scripts C1, a layout template B1, feedback questions A2. |
| Checking | Boundaries between phases where progress is evaluated. | Concrete review points: verify metrics before drafting visuals; inspect layout before publishing. |
| Collaboration | Ownership by team: Research, Data, Editorial, Communications. | Explicit handoffs: the analyst finishes C1 and hands clean metrics to the writer for B1. |
Each level adds detail — and each piece still points at the same outcome. That is the final check.
Final review
Keeping the pieces connected
| Question | Protects |
|---|
| Is every task connected to the overall goal? | Clarity — no unnecessary work |
| Can a useful task or set of steps be used again? | Reuse of successful approaches |
| Is there a clear point where each important result is reviewed? | Checking before problems spread |
| Does everyone know who is responsible and what they need from others? | Collaboration |
Understandable without becoming fragmented.
From plans to programs
In Python, the pieces are functions
def load_sales(path): ... # one task, one responsibility
def clean(rows): ...
def summarize(rows): ...
def format_report(summary): ...
report = format_report(summarize(clean(load_sales("sales.csv"))))
- Clarity a name and a docstring that state one job
- Reuse call it again with different inputs
- Checking test each piece with
assert - Collaboration a contract: parameters in, return value out