Test-Driven Development - это написание тестов для определения спецификаций программы.
Вы не пишете тесты для определения спецификации, описания тестов, пользовательские истории и описания функций являются спецификацией, в смысле "мертвых деревьев".
Вкратце процесс TDD можно описать следующим образом:
сколько дизайна, архитектуры, вспомогательной документации и т.д. вы решите сделать, не является частью TDD. Есть некоторые практические "лучшие практики", о которых вы можете прочитать, но имейте в виду, что это "лучшие" практики в чужой мастерской, а не в вашей.
обратите внимание, что смысл в том, чтобы заказчик и разработчик придумывали функции и писали истории и описания тестов вместе, для взаимопонимания.
Итак, с учетом вышесказанного, первоначальный вопрос был таким:
какова роль архитектора программного обеспечения в TDD?
И короткий ответ таков:
Та же, что и раньше, та же, что и раньше. -Дэвид Бирн
EDIT 2: извините, я пропустил суть подвопросов! Все ответственны за написание спецификаций; все разработчики, включая архитектора, если это необходимо, плюс заказчик. Разработчики также пишут тесты.
Рекомендую посмотреть эти видео для лучшего погружения в вопрос: