Все зависит от того, какой аспект вашего процесса вы хотите практиковать / тренировать.
Одного дня недостаточно, чтобы охватить все аспекты разработки программного обеспечения независимо от выбранной вами парадигмы подхода / управления проектом. Поэтому, чтобы сделать его эффективным, вам, вероятно, следует сосредоточиться на небольшом подмножестве целого.
Если вы сосредоточитесь, например, на технических аспектах TDD, то, возможно, захотите избавиться от больших серых областей вокруг требований и отношений с заказчиком и перейти прямо к кодированию решения.
В этом отношении Игра Жизни является хорошим кандидатом, потому что она проста, понятна и не имеет много серых областей в своем требовании, которые будут открыты для обсуждения. Таким образом, вы можете сразу начать писать свой тест и писать код для них.
Если, с другой стороны, цель состояла в том, чтобы увидеть, как мы можем использовать TDD, чтобы отточить требования, я мог бы выбрать игру из жизни, но я бы не сказал разработчикам, что это то, чего я хочу. Вместо этого я бы обменивался подсказками и идеями, не упоминая их по имени. Тем не менее, игра в жизнь может оказаться слишком простой для такого рода упражнений, так как участники, скорее всего, увидят уловку довольно быстро.
Примеры не всегда легко найти для такого синтетического упражнения. это должно быть просто, чтобы сделать это за день, но не слишком просто, чтобы пройти через день. Это должно быть весело, но не бессмысленно ... Но для меня это должно быть немного оригинально, я не могу вспомнить, сколько раз меня просили заставить студентов создать систему управления видеоклубом для домашней работы ... iiirch.