RetroFlow Blog

Good Bad Ugly Retrospective: A Western-Themed Team Review

Good Bad Ugly Retrospective: A Western-Themed Team Review
Retrospective Formats

November 27, 2024

RetroFlow Team
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:

CategorySymbolMeaning
The Good 🤠Cowboy heroThings that went well
The Bad 🎭OutlawThings that didn’t work
The Ugly 💀Dangerous situationSerious 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

SituationWhy Good Bad Ugly Works
Teams needing priority clarityUgly vs. Bad distinction helps focus
Retrospective fatigueFun theme re-engages team
Need to surface serious issuesUgly category invites hard truths
Mixed experience teamsSimple enough for everyone
Quick retrospectivesThree categories are fast
Teams who enjoy themesWestern flair adds engagement

When to Choose Other Formats

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:

  1. The Good — Start with wins
  2. The Bad — Address problems
  3. 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:

CategoryItemActionUrgency
GoodGreat pair programmingDocument and continueMaintain
BadSlow code reviews24-hour SLAThis sprint
UglyTeam member burnoutWorkload rebalancing immediatelyUrgent

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:

GoodBadUglyActions
WinsProblemsCriticalCommitments

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:

CategoryItemTrend
GoodDeployment process⬆️ Improving
BadCode review time➡️ Stable
UglyTeam 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:

  1. Document the issue clearly
  2. Explain why it’s Ugly (impact)
  3. Propose potential solutions
  4. Request specific support needed
  5. Follow up after escalation

If your team likes Good Bad Ugly, also try:

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.

Start Free Retrospective →

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.

More on This Topic