Похоже, это может быть мощным способом разработки программного обеспечения, знаете ли вы что-нибудь, что уже доступно в этом направлении? Тесты более естественно управляют дизайном сверху вниз. Я мог представить разговоры, сосредоточенные на том, что нужно сделать, и разбить это на промежуточные цели, а не «сделать это, затем это, затем это, если не другое», которое, вероятно, возникнет при попытке описать задачу непосредственно машине.