Я отвечаю за то, чтобы найти хороший способ документировать проект программного обеспечения, над которым я работаю.
Что важно для документирования? Должна ли документация кода и дизайна в основном содержать код в виде комментариев? Должны ли мы помещать текстовые файлы или документы Word непосредственно в исходный элемент управления вместе с кодом? Должны ли мы использовать wiki?
Факторы, о которых стоит подумать, включают в себя то, насколько легко нынешней команде создать документацию, и как легко другим разработчикам будет позже находить, исправлять и расширять документацию. Мой опыт многих проектов заключается в том, что разработчики, как правило, не пишут документацию, потому что система для написания слишком сложна или проявляет недружелюбие, и что через несколько лет новые разработчики вряд ли смогут найти небольшую документацию, которая была написана.
Меня интересуют, какие подходы вы использовали в подобных проектах. Что сработало хорошо, что не получилось, и почему?
Некоторые ключевые факты о проекте:
- Платформа - это С# и .NET.
- Мы используем Visual Studio и Team Foundation Server для управления исходным кодом и управления рабочими элементами (задачами).
- Мы используем Scrum и тестовую разработку и вдохновляемся дизайном, управляемым доменом.
- Программное обеспечение состоит из набора веб-сервисов и двух графических клиентов.
- Другие клиенты собираются интегрироваться с веб-сервисами в будущем. Интеграция будет выполняться другими разработчиками в других командах (поэтому веб-службы образуют своего рода API).
- SharePoint широко используется во всей среде разработки. В большинстве проектов есть сайт SharePoint, в том числе наш.
- На нашем веб-сайте проекта у нас в настоящее время есть куча документов MS Office по таким вещам, как требования, дизайн, презентации для заинтересованных сторон и т.д. Хранение всех в актуальном состоянии сложно.
- У нас также есть вики-страница SharePoint для команды разработчиков, где мы документируем вещи неструктурированным образом по мере продвижения. Примеры включают, как организованы наши скрипты сборки, наша политика тестирования, рекомендации по кодированию.
- Программное обеспечение - это собственное приложение в довольно крупном финансовом учреждении.
- Программное обеспечение разработано командой из шести человек в течение ~ 1 года.
- Разработчики - это консультанты, нанятые для этого проекта, и не будут доступны для помощи в будущем (если только клиент не решит заплатить за него).
- У клиента несколько указаний о том, как этот документ должен быть документирован.