Running Hands-On Coding Workshops Using Test-Driven Development
Designed for Senior software developers and agile technical leads tasked with driving adoption of modern engineering practices through live team workshops. to spark real collaboration and high-energy learning.
A 90-minute in-person or hybrid workshop in a modern IT workspace, with a group of experienced developers who are skeptical about TDD's practicality but have been tasked to mentor junior teams. Pain points include workshop fatigue, lack of buy-in for TDD, and prior experience with dry or overly theoretical coding sessions.
Mystery Code Snapshots
Kick off with a series of 4 rapid-fire code snapshots—real-world code at varying stages of TDD. Ask participants, 'Which came first: the test or the implementation?' Have them vote (physically or via poll), then reveal the actual TDD progression and rationale.
Tap to view the full activity.
Why this works
This leverages the Zeigarnik effect—eliciting curiosity by presenting an incomplete narrative, which hooks attention and primes the brain for active learning.
TDD Myth-Buster Lightning Round
Present three common TDD misconceptions on slides: 'TDD slows down development,' 'TDD is just for testing,' and 'You can’t do TDD on legacy code.' Split the group into small teams and assign each a myth to rapidly debunk using personal experience or logic. Teams share their answers with a 30-second time cap.
Tap to view the full activity.
Why this works
Addressing misconceptions head-on creates cognitive dissonance, opening the door for new learning and surfacing hidden barriers.
Silent Code Sketch
Share a problem statement (e.g., 'FizzBuzz with a twist'). Give everyone 90 seconds to silently sketch out (on paper or code editor) their first test case—no implementation yet! Then invite volunteers to share, and reinforce that drafting tests first is about capturing intention, not perfection.
Tap to view the full activity.
Why this works
This low-pressure, individual participation technique lowers social anxiety and encourages broad engagement, while modeling TDD’s first principle.
Red-Green-Refactor Relay
Split into teams of three. Each team member is assigned one phase: Red (write a failing test), Green (write minimal code to pass), Refactor (improve code without breaking the test). Teams race to complete two cycles on a shared problem, passing the keyboard between phases. Prizes for both correctness and creative refactors.
Tap to view the full activity.
Why this works
Active, time-bound collaboration raises the energy, drives urgency, and physically embodies TDD’s iterative loop.
‘Ship It or Skip It?’ Scenario
Present a real-world dilemma: 'Your team is behind schedule. Do you ship a feature with only minimal manual testing or insist on full TDD coverage?' Small groups must argue both sides, then vote on their decision. Debrief with industry examples of both outcomes.
Tap to view the full activity.
Why this works
Applying core concepts to high-stakes, ambiguous scenarios strengthens transfer and helps participants weigh trade-offs inherent in TDD adoption.
Commitment Compass
Close by asking each participant to write down one concrete change they’ll make the next time they run or attend a coding workshop—e.g., 'I’ll always start with a test outline,' or 'I’ll let someone else drive the “red” phase.' Volunteers share aloud or in the chat. Collect these as an anonymous board for follow-up and accountability.
Tap to view the full activity.
Why this works
Active reflection cements intent, and public or semi-public commitments dramatically improve follow-through (the 'commitment device' effect).
Sign up to unlock 3 more activities
Get the full pack, facilitation flow, and more ready-to-run ideas.