Есть вопрос.
Существует огромная система, состоящая из многих модулей. Параллельно идёт разработка нескольких проектов, каждый затрагивает несколько модулей. Нужно привести в порядок ведение документации, чтобы была актуальная документация в целом по системе и по проектам. Есть несколько аналитиков, пишущих требования к проектам, есть тестировщики, пишущие документацию по тестам.
Есть выбор между двумя подходами:
1. Вести всю документацию в соответствии с Docs as Code.
2. Вести в соответствии с Docs as Code только сопроводительную документацию (тесты и документация разработчиков), а требования и общую документацию по системе вести в Confluence.
Дискуссионные пункты:
1. Предполагается, что система конфликтов в Git поможет находить конфликтные места документации. Однако если мы будем на неё полагаться, то будем пропускать такие вещи, как разные названия для файлов, описывающих один документ.
2. Исходный формат Docs As Code нечитаем для бизнеса. Бизнес может работать с экспортированными форматами, но это ломает процесс согласования. Например представитель бизнеса вносит комментарии в PDF, аналитик меняет исходный файл, делает новый экспорт и комментариев в нём уже нет. Вероятно проблема решается реализацией отдельной системы согласования, где комментарии будут храниться отдельно от HTML и подтягиваться к новым версиям документа.
3. Документация на систему в целом и на требования включает в себя большое количество нетекстовых артефактов (диаграммы, сторонние документы и т.д.), при использовании которых ценность подхода Docs as Code теряется. Рассматривался вариант с максимальным переходом на текстовые, но PlantUML не особо вытягивает, а сравнимых с ним средств особо нет.
Хотелось бы услышать, у кого какое мнение по этому выбору?