addressalign-toparrow-leftarrow-rightbackbellblockcalendarcameraccwchatcheckchevron-downchevron-leftchevron-rightchevron-small-downchevron-small-leftchevron-small-rightchevron-small-upchevron-upcircle-with-checkcircle-with-crosscircle-with-pluscrosseditemptyheartexportfacebookfolderfullheartglobegmailgoogleimagesinstagramlinklocation-pinmagnifying-glassmailminusmoremuplabelShape 3 + Rectangle 1outlookpersonplusprice-ribbonImported LayersImported LayersImported Layersshieldstartickettrashtriangle-downtriangle-uptwitteruseryahoo

TDD Retreat

TDD Retreat is a day-long, intensive practice event, focusing on the fundamentals of software development and design. By providing developers the opportunity to take part in focused practice, away from the pressures of 'getting things done', the coderetreat format has proven itself to be a highly effective means of skill improvement. Practicing the basic principles of modular and object-oriented design, developers can improve their ability to write code that minimizes the cost of change over time.


Format is optimized for focused practice.

  • Problem: Conway's Game of Life
  • Length of Session: 45 minutes
  • Duration: 9:00 am to 5 pm
  • Pair-programming is necessary, as the knowledge transfer contained in that activity is essential to the practice
  • Prefer using Test-Driven Development (TDD)
  • After each session, pairs should be swapped
  • After each session, code must be deleted, not put in a branch, not stashed, just deleted with no trace left

The Day

The day consists of 5-6 sessions, each session's learnings building upon previous sessions. The morning focuses on becoming comfortable with the problem domain, breaking old habits and beginning focused self-discovery. The afternoon pushes the envelope by challenging pairs to stretch their skills and understanding of abstractions, modular design and test-driven development.

With most groups, the focus should be on the fundamentals of software development and modular design, primarily the 4 rules of simple design.

  1. Pass all tests
  2. Clear, expressive and consistent
  3. Duplicates no behavior or configuration
  4. Minimal methods, classes and modules

Spend the day practicing these concepts, rather than pushing into new learnings.

Below is a rough outline for the day.

  • 9 - 9:15 am : welcome, introductions, explanation of the problem
  • 9:15 - 10 am : Session #1
  • 10 - 10.15 am : retrospective, break
  • 10.15 - 11 am : Session #2
  • 11 - 11: 15 am : retrospective, break
  • 11:15 - 12 am : Session #3
  • 12 - 12:15 pm : retrospective, break
  • 12:15 - 1.30pm : lunch on your own
  • 1.30 - 2.15pm : Session #4
  • 2.15 - 2.30pm : retrospective, break
  • 2.30 - 3.15pm : Session #5
  • 3.15 - 3.30pm : retrospective, break
  • 3.30 - 4.15pm : Session #6
  • 4.15 - 4.30pm : retrospective, break
  • 4.30 - 5pm : Closing circle


Join or login to comment.

  • John

    For those who will miss this Ruby hero Ryan Bigg already did a screencast for this. You should be able to search Ryan Bigg conways game of life to find it. It's a 45 minute video on how to TDD the game

    July 13, 2013

  • Doug M.

    Schedule conflict that I can't resolve.

    July 12, 2013

  • Bosco S.

    Schedule conflict :-(

    July 11, 2013

  • A former member
    A former member

    Doh. I can't be in two places at once, so I'm giving up my space.

    July 11, 2013

    • Li O.

      Can I take your spot?

      July 11, 2013

    • A former member
      A former member

      It's fine by me. :-)

      July 11, 2013

  • Michael M.

    Sounds great but I have a conflict.

    June 11, 2013

    • Bala P.

      We will definitely have more TDD retreat, see you next time.

      July 11, 2013

  • Jessica

    Hopefully I get in

    July 9, 2013

  • Bala P.

    Location will be confirmed in the next few weeks.

    June 22, 2013

  • veena

    Sounds great.

    June 20, 2013

  • Madeleine H.

    I a still a rails newbie. but have some programming background. Is this appropriate for someone like me?

    May 15, 2013

    • Bala P.

      This is not related to Rails. We will be using Ruby. Yes, beginners can attend as long as you some programming background.

      May 30, 2013

  • shikha

    Is it free?

    May 1, 2013

    • Ramya

      I had the same question too? is it free?

      May 22, 2013

    • Bala P.

      It is free. Problem with free is that we need a location. There will be no free event if we cannot find a location for a day.

      May 30, 2013

6 went

Our Sponsors

People in this
Meetup are also in:

Sign up

Meetup members, Log in

By clicking "Sign up" or "Sign up using Facebook", you confirm that you accept our Terms of Service & Privacy Policy