Good Bad Ugly Retrospective: A Western-Themed Team Review
November 27, 2024
RetroFlow Team
The RetroFlow team builds free retrospective tools and writes practical guides for agile teams. We have helped thousands of teams run better retros.
The Good Bad Ugly retrospective brings a touch of Western movie flair to your team review. Inspired by the classic Sergio Leone film, this format uses three memorable categories to capture what’s working, what’s not, and what’s truly problematic. The fun theme makes retrospectives more engaging while the structure drives meaningful discussion.
If your team enjoys themed activities or needs to break out of retrospective fatigue, the Good Bad Ugly format adds entertainment value without sacrificing effectiveness.
What Is the Good Bad Ugly Retrospective?
The Good Bad Ugly retrospective uses three escalating categories:
| Category | Symbol | Meaning |
|---|---|---|
| The Good 🤠 | Cowboy hero | Things that went well |
| The Bad 🎭 | Outlaw | Things that didn’t work |
| The Ugly 💀 | Dangerous situation | Serious issues needing attention |
The key distinction from similar formats is the severity gradient: Bad items are problems, but Ugly items are critical issues that could derail the team if not addressed.
Why the Good Bad Ugly Format Works
Clear Severity Levels
Most retrospective formats treat all problems equally. This format distinguishes:
- Bad: Issues causing friction or inefficiency
- Ugly: Critical problems risking project success
This prioritization helps teams focus on what truly matters.
Memorable Theme
The Western theme:
- Makes the format memorable
- Adds fun to the discussion
- Encourages participation
- Creates shared vocabulary
Simple Structure
Only three categories:
- Easy to explain
- Quick to set up
- Intuitive for anyone
- Works for any team size
The Three Categories Explained
The Good 🤠 — What Went Well
The Good category captures positive aspects of the sprint.
What belongs here:
- Successful deliveries
- Effective practices
- Team wins
- Things to celebrate
- Processes that worked
Examples:
- “Good: Daily standups were focused and valuable”
- “Good: We shipped the feature on time”
- “Good: Pair programming caught bugs early”
- “Good: Product owner’s clear priorities”
- “Good: Team stepped up during crunch”
Prompts:
- What made this sprint successful?
- What should we definitely keep doing?
- What would you recommend to other teams?
The Bad 🎭 — What Didn’t Work
The Bad category captures problems and inefficiencies.
What belongs here:
- Things that slowed us down
- Processes that caused friction
- Minor issues to address
- Experiments that failed
- Frustrations
Examples:
- “Bad: Code reviews took too long”
- “Bad: Unclear acceptance criteria on some stories”
- “Bad: Too many meetings fragmented focus”
- “Bad: Test environment was unstable”
- “Bad: Communication gaps between teams”
Prompts:
- What caused friction this sprint?
- What made work harder than it should be?
- What would you change?
The Ugly 💀 — Serious Issues
The Ugly category captures critical problems needing urgent attention.
What belongs here:
- Issues threatening project success
- Systemic problems
- Major blockers
- Things that could get worse
- Critical risks
Examples:
- “Ugly: Key team member burning out”
- “Ugly: Production system nearly went down twice”
- “Ugly: We’re shipping features users don’t want”
- “Ugly: Technical debt making changes dangerous”
- “Ugly: Complete misalignment on project goals”
Criteria for “Ugly”:
- Could seriously impact delivery
- Getting worse if not addressed
- Affects team sustainability
- Represents significant risk
Prompts:
- What keeps you up at night about this project?
- What could derail us if ignored?
- What’s the elephant in the room?
When to Use Good Bad Ugly
| Situation | Why Good Bad Ugly Works |
|---|---|
| Teams needing priority clarity | Ugly vs. Bad distinction helps focus |
| Retrospective fatigue | Fun theme re-engages team |
| Need to surface serious issues | Ugly category invites hard truths |
| Mixed experience teams | Simple enough for everyone |
| Quick retrospectives | Three categories are fast |
| Teams who enjoy themes | Western flair adds engagement |
When to Choose Other Formats
- Need more nuance: Use 4Ls or WWW
- Action-focused: Use Keep Drop Try
- Visual learners: Use Sailboat or Hot Air Balloon
- Comprehensive review: Use 360 Degree
How to Run a Good Bad Ugly Retrospective
Before the Meeting
Preparation:
- Schedule 30-45 minutes
- Prepare board with three columns
- Optional: Add Western imagery for fun
- Review previous retrospective action items
- Cue up the Ennio Morricone soundtrack (optional but fun!)
Step-by-Step Facilitation
Step 1: Set the Stage (3 minutes)
Introduce the format with flair:
“Today we’re having a showdown with our sprint! Like the classic Western, we’ll identify:
- 🤠 The Good — Our wins, the heroes of this sprint
- 🎭 The Bad — Problems and outlaws we encountered
- 💀 The Ugly — Serious dangers lurking in the desert
Remember: Bad is problems, Ugly is critical—things that could really hurt us.”
Clarify the Ugly: “Reserve Ugly for things that are serious threats, not just annoyances.”
Step 2: Silent Brainstorming (7 minutes)
Have team members add items to each column:
- One idea per sticky note
- Consider severity when placing items
- It’s okay if some columns have more items
Facilitator tip: Prompt specifically for Ugly items: “What’s the most dangerous thing we’re facing?”
💡 RetroFlow makes retrospectives easy—free, no signup required.
Step 3: Share and Discuss (20 minutes)
Go through each column:
Recommended order:
- The Good — Start with wins
- The Bad — Address problems
- The Ugly — Face serious issues
For each item:
- Brief explanation from author
- Quick discussion
- Verify placement (is this really Ugly, or just Bad?)
Reclassification is okay:
- “This seems like it could become Ugly if we don’t address it”
- “Actually, this feels more Bad than Ugly to me”
Step 4: Prioritize (5 minutes)
Focus on:
- All Ugly items — These need action plans
- Top 2-3 Bad items — Most impactful to address
- Acknowledge Good items—celebrate wins!
Step 5: Create Action Items (10 minutes)
Different urgency for different categories:
| Category | Item | Action | Urgency |
|---|---|---|---|
| Good | Great pair programming | Document and continue | Maintain |
| Bad | Slow code reviews | 24-hour SLA | This sprint |
| Ugly | Team member burnout | Workload rebalancing immediately | Urgent |
Ugly items get priority treatment:
- Assign owner
- Define immediate next step
- Set follow-up date
- Consider escalation if needed
Step 6: Close (5 minutes)
- Confirm Ugly items have owners and plans
- Summarize Bad items to address
- Celebrate the Good
- Optional: “Any final showdown thoughts?”
Good Bad Ugly Template
┌──────────────────────────────────────────────────────────────────────┐
│ GOOD BAD UGLY RETROSPECTIVE │
│ 🌵 The Sprint Showdown 🌵 │
├────────────────────┬────────────────────┬────────────────────────────┤
│ 🤠 THE GOOD │ 🎭 THE BAD │ 💀 THE UGLY │
│ │ │ │
│ What went well │ Problems we │ Critical issues │
│ │ encountered │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
└────────────────────┴────────────────────┴────────────────────────────┘
Western-Themed Visual
For extra fun:
🌅 THE GOOD BAD UGLY RETROSPECTIVE 🌅
🤠 🎭 💀
/||\ /||\ /||\
/ \ / \ / \
________ ________ ________
| GOOD | | BAD | | UGLY |
| Heroes | |Outlaws | |Dangers |
|________| |________| |________|
🌵 🐎 🌵 🐎 🌵
Sample Items for Each Category
The Good Examples
- Sprint goal achieved
- No production incidents
- New team member onboarded smoothly
- Automated testing saved us twice
- Great collaboration with design team
- Clean code merged throughout sprint
The Bad Examples
- Story points underestimated
- Flaky tests causing false alarms
- Too many context switches
- Documentation fell behind
- Standup meetings running long
- Dependencies causing delays
The Ugly Examples
- Production database almost corrupted
- Key person is interviewing elsewhere
- Shipping features without user validation
- Security vulnerability discovered
- Team morale at all-time low
- Project direction unclear from leadership
For discussion prompts that pair well with this format, see our retrospective questions guide.
Tips for Facilitating Good Bad Ugly
Calibrate Bad vs. Ugly
Help team understand the distinction:
- Bad: “This is annoying and we should fix it”
- Ugly: “This could seriously hurt us if we don’t address it”
Ask: “On a scale of 1-10, how dangerous is this to our success?”
- 1-5: Probably Bad
- 6-10: Likely Ugly
Don’t Let Ugly Items Slide
The Ugly category exists for important reasons:
- Take every Ugly item seriously
- Assign owners before leaving the room
- Consider escalating to leadership if needed
- Follow up before next retrospective
Embrace the Theme
The Western theme adds fun:
- Use cowboy terminology: “roundup,” “showdown,” “posse”
- Optional: Wear cowboy hats (virtual or real)
- Play Western music during brainstorming
- Award “Sheriff of the Sprint” for top contributor
Balance Positivity
Don’t let the focus on Bad/Ugly overshadow Good:
- Spend meaningful time on Good items
- Celebrate wins genuinely
- Note patterns in what’s working
Variations on Good Bad Ugly
Good Bad Ugly + Actions
Add a fourth column for immediate commitments:
| Good | Bad | Ugly | Actions |
|---|---|---|---|
| Wins | Problems | Critical | Commitments |
Severity Scoring
Add numerical severity to Bad and Ugly:
- Bad items: Score 1-5
- Ugly items: Score 6-10
Prioritize by score.
Good Bad Ugly + Trend
Track whether items are improving or worsening:
| Category | Item | Trend |
|---|---|---|
| Good | Deployment process | ⬆️ Improving |
| Bad | Code review time | ➡️ Stable |
| Ugly | Team burnout | ⬇️ Worsening |
Common Mistakes to Avoid
Mistake 1: Everything Becomes Ugly
Problem: Team marks everything as critical Fix: Enforce the distinction—Ugly should be reserved for truly serious issues
Mistake 2: Ignoring Ugly Items
Problem: Discussion but no action on critical issues Fix: Every Ugly item must have an owner and action plan
Mistake 3: Skipping The Good
Problem: Rushing to problems Fix: Start with and genuinely celebrate Good items
Mistake 4: Theme Overshadows Substance
Problem: Too much joking, not enough insight Fix: Balance fun with serious discussion, especially for Ugly items
When Ugly Items Need Escalation
Some Ugly items need more than team action:
Consider escalation when:
- Issue is beyond team’s control
- Requires leadership decision
- Affects other teams
- Involves organizational change
- Represents significant risk to business
How to escalate:
- Document the issue clearly
- Explain why it’s Ugly (impact)
- Propose potential solutions
- Request specific support needed
- Follow up after escalation
Related Formats
If your team likes Good Bad Ugly, also try:
- Mad Sad Glad — Emotional focus
- WWW — Worked Well, Kinda Worked, Didn’t Work
- Start Stop Continue — Action-oriented simplicity
- Rose Bud Thorn — Nature-themed alternative
See all options in our sprint retrospective formats guide.
Run Good Bad Ugly with RetroFlow
Most retro tools charge per user or cap free boards at 3. RetroFlow doesn’t — every feature is free, no account needed. Share a link and your team starts contributing in seconds.
Summary
The Good Bad Ugly retrospective uses three escalating categories:
- 🤠 The Good — What went well
- 🎭 The Bad — Problems encountered
- 💀 The Ugly — Critical issues needing urgent attention
The key differentiator is the severity gradient: Bad items are problems, Ugly items are threats. This helps teams prioritize what truly matters.
Run it in 30-45 minutes with special attention to Ugly items—they must leave with owners and action plans.
- Sprint Retrospective Formats Guide - 30+ formats
- Mad Sad Glad Retrospective - Emotional alternative
- Creating Effective Action Items - Better follow-through
- How to Facilitate a Retrospective - Facilitation tips