На последнем IT Talk в Харькове один из докладчиков поднял интересную тему. Он сказал что документация в проектах, которые разрабатываются по методологии Agile всё-таки нужна. Тема интересная и достойна отдельного неблоьшого холливара. Ведь все вокруг говорят, что один из достоинств Agile - это отсутствие документации на проекте. Но так ли это на самом деле? По моему мнению, врядли существует хоть один проект сложнее чем “hello world”, в котором полностью отсутствует документация.
Да, по сравнению с, например, каскадной моделью разработки, в Agile, можно сказать, документации нет. Но чаще всего, под этой фразой скрывается отсутствие спецификации и нежелание команды хоть что-то документировать. А веть документация по проекту может быть разная. Это может быть ТЗ, выполненное по какому-то стандарту ISO, какие-то технические особенности приложения (например, список поддерживаемых браузеров для сайта) или что-то ещё.
Давайте вспомним, сколько раз вы внутри проекта устраивали email переписку на счёт какой-то фичи, а потом, в случае чего, ссылались на один из email’ов? Особенно это актуально для географически распределённых команд.
Банально, но комментарии в коде - это тоже своеобразная документация. У кого-то она есть, у кого-то её нет. Иногда, лучше бы её не было :).
Часто, команда обменивается знаниями в какой-то внутренней wiki. Там описывается что это за проект в общем, как его устанавливать и запускать и так далее. Часто встречается практика, что такой вики нету написанием нужные статей в неё занимается ново-пришедший в команду человек. Это тоже, в своём роде, документация к проекту.
Ну и не могу не сказать про всевозможные skype-, jabber и другие IM-чаты. Часто в их истории остаётся очень много важных для проекта “документов”.
Подводя итог вышесказанного - документация в Agile есть, просто она немного трансформировалась, стала менее формальной, местами приобрела многий либимый в agile fun - ведь прикольно же в рабочем чате среди обсуждения очередной фичи/бага прочитать/написать несколько свежих шуток и/или ссылок. Отсутствие документации и её необходимости - это самообман. Главное, выбрать правильных формат и тогда это уже будет не так напряжно, да и актуальность будет значительно выше.