Выделение ресурсов для проектной документации

Что бы вы посоветовали для следующего сценария:

Десятке разработчиков нужно создать и спроектировать сложную систему. Этот проект должен быть задокументирован для будущих разработчиков, и проектные решения должны быть отмечены. Эти отчеты необходимо составлять примерно каждые два месяца. У меня вопрос в том, как оформить этот проект.

Я вижу две возможности. Каждый разработчик пишет о вещах, которые они помогли разработать и интегрировать, а затем один человек объединяет каждый из этих документов вместе. Окончательный документ, вероятно, будет временами непоследовательным или избыточным, поскольку у человека, которому поручено собрать все, не будет много времени, чтобы настроить каждую часть.

Предположим, что части документации от каждого разработчика прибывают всего за несколько дней до крайнего срока. Система для совместной работы (например, вики) не будет работать должным образом, так как не будет ничего, что можно было бы прочитать, пока не было сделано несколько дней до крайнего срока.

Или следует поручить нескольким людям (2-3) написать документацию, в то время как остальная часть команды будет работать над реальной разработкой системы? Разработчикам потребуется способ передать свои дизайнерские решения и выводы техническим писателям. Как это можно было сделать эффективно?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
229
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Думаю, вы можете использовать Sand Castle для документирования своего проекта.

Проверить это

Sand Castle от Microsoft

Это не полная документация, но проверка того, что интерфейсы и т. д. Комментируются с помощью Комментарии в стиле Doxygen, означает, что написание кода и его документирование ближе друг к другу.

Таким образом, разработчики должны документировать то, что они делают. Я по-прежнему считаю, что обзор со стороны архитектора (-ов) необходим для обеспечения постоянного качества, но обеспечение того, чтобы люди документировали то, что они делают, - лучший способ гарантировать, что они следуют архитектуре.

Мы используем слияние (атласская вики-подобная штука) и документируем всевозможные «вещи». Разработчики делают это постоянно, и мы подталкиваем друг друга к документации - мы позволяем давлению коллег решать, что необходимо. Всякий раз, когда появляется кто-то новый, ему / ей ставят задачу все прочитать и выяснить, что остается правильным. Вследствие этого неправильный материал либо удаляется, либо обновляется. Мы счастливы, когда можем удалять вещи;)

Хорошая вещь в этом процессе - то, что релевантный материал остается, а нерелевантный удаляется. Мы всегда «уходили» от более формализованных требований, заявляя, что всегда можем создать текстовые документы, которые им нужны, если они «им» понадобятся. «Они» в них никогда не нуждались.

Я думаю, что альтернатива 2 менее гибкая, потому что это означает новый этап проекта (хотя он может быть параллельно с тестами).

Если вы используете гибкую модель, просто добавьте документацию (следуя руководству) как рассказ. Если вы используете поэтапный подход, я бы все же попросил разработчиков поработать над документацией, следуя некоторым рекомендациям, и просмотреть эту документацию вместе с дизайном и кодом. В конце концов, у вас может быть технический писатель, который все проверяет на предмет правильного английского, но это будет своего рода «выпуском».

Ответ принят как подходящий

Мы подходим к этому с двух сторон, используя подход в стиле RUP. В первом случае у вас будет эксперт в предметной области, который будет отвечать за черновой дизайн того, что вы собираетесь поставлять, - при необходимости, разработчики вносят свой вклад. Во втором случае мы используем технического автора - они документируют приложение, поэтому они должны иметь хорошее представление о том, как оно работает, и вы вовлекаете их в процесс проектирования и разработки. В этом случае они могут помочь доработать дизайн и убедиться, что он соответствует тому, что, по их мнению, разрабатывается.

Другие вопросы по теме