Tudo depende de qual aspecto do seu processo você deseja praticar / treinar.
Um único dia não é suficiente para cobrir todos os aspectos da engenharia de software, independentemente do paradigma de abordagem / gerenciamento de projetos que você escolher. Portanto, para torná-lo eficaz, você provavelmente deve se concentrar em um pequeno subconjunto do todo.
Se você se concentrar nos aspectos técnicos do TDD, por exemplo, poderá deixar de lado as grandes áreas cinzentas em torno de requisitos e relações com o cliente e seguir direto para a codificação de uma solução.
A esse respeito, o Jogo da Vida é um bom candidato, pois é simples, bem compreendido e não possui muitas áreas cinzentas em seu requisito que estará aberto para debate. Assim, você pode começar a escrever seu teste imediatamente e codificar contra eles.
Se, por outro lado, o objetivo era ver como podemos usar o TDD para aprimorar os requisitos, então eu poderia ter escolhido o jogo da vida, mas não teria dito aos desenvolvedores que é isso que eu quero. Em vez disso, eu teria circulado por aí fornecendo dicas e idéias sem realmente mencioná-lo pelo nome. Dito isto, o jogo da vida pode ser um pouco simples demais para esse tipo de exercício, já que os participantes provavelmente veriam o truque rapidamente.
Nem sempre é fácil encontrar exemplos para esse exercício sintético. tem que ser simples, como deve ser feito em um dia, mas não muito simples para fazê-lo durante o dia. Tem que ser divertido, mas não tem sentido ... Mas para mim tem que ser um pouco original, não me lembro quantas vezes me pediram para convencer os alunos a criar um sistema de gerenciamento de videoclub para trabalhos de casa ... iiirch.