Часто тесты называют первым использованием вашей программы. А вот вторым использованием программы можно назвать… документацию.

На старой работе с проектным подходом мы, как правило, описывали все основные алгоритмы. И уже тогда иногда всплывали некоторые косяки (тупо за счет смены точки зрения): документация еще раз способствует размышлениям об общей картине и о крайних случаях. А замечательная техписатель, когда писала руководство пользователя, находила нам баги:) Как выяснилось, такое работает и при разработке инструментов (и библиотек): соседняя команда нашла баг, когда писала документацию.

А вот в продуктовом подходе вторым использованием программы скорее всего будет UAT или демо. Конечно, базовая дока все равно нужна, но все подробности уже аналитик на пару с продактом прожевали, пусть даже не идеально, но “поправим в следующей итерации”. И тут документация — это скорее детальное описание фичи, которое появляется до ее создания и уточняется после реализации.