Это немного зависит от вашей целевой аудитории, но мой опыт (больше в малом/среднем масштабе разработки, чем в очень крупномасштабной работе) показывает, что подробные проектные документы трудно и скучно писать, редко читать и, как правило, устаревают к моменту время сдачи проекта.
Это не означает, что они ничего не стоят - если вы что-то кому-то доставляете, должно быть авторитетное и согласованное заявление о том, что будет доставлено, достаточно подробное, чтобы каждый мог указать на него в случае, если кто-то недоволен сделкой и сказать " это то, что мы обещали», и сравните это с тем, что было доставлено.
Однако если бы я создавал компанию для создания продукта, я бы не стал так сильно беспокоиться о подробной спецификации. Я хотел бы задокументировать то, что мы собирались сделать, но я бы не хотел вдаваться в подробности о том, как — это та часть, которая, скорее всего, изменится и оставит документы устаревшими и бесполезными или даже достаточно неточными. быть на самом деле обструктивным. Я бы предпочел документировать «как» в коде, используя любой формат документации, который лучше всего поддерживает язык или IDE, чтобы по мере изменения кода было легче обновлять документацию одновременно. Это не остановит его устаревание, но несколько уменьшит его.
В идеале вам нужен проектный документ, который можно было бы использовать в качестве руководства, когда ваш код будет готов, но я не знаю никого, кто успешно справился бы с этим.
Прикрепляю к посту несколько видео по теме: