Всем привет! Я Ангелина Набатчикова, BA/SA в QIC digital hub. Я работала аналитиком в нескольких продуктовых командах с различными подходами к документированию и постановке задач. Этот опыт показал мне, что даже в условиях гибких методологий Agile нельзя недооценивать важность детальной и структурированной документации.

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

Быстрее, дешевле, качественнее

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

Меньше коммуникаций

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

Онбординг

Подробно описанные задачи и документация делают процесс онбординга нового сотрудника гораздо проще. Новый член команды сможет быстро вникнуть в проект и эффективно работать с ним дальше. В QIC благодаря отличной документации я смогла вникнуть во все детали проекта в первый рабочий день и начать активно перформить сразу же, что еще раз подтвердило  ценности документации. 

Bus factor

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

Прозрачность и доверие со стейкхолдерами

Качественная документация укрепляет доверие со стороны стейкхолдеров. Она делает процесс разработки более прозрачным: все заинтересованные стороны могут видеть, какие решения были приняты, какие изменения внесены, и как команда планирует достигать поставленных целей. Это помогает снизить напряжение и недоразумения, улучшает сотрудничество и в целом укрепляет доверие. 

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

С чего начать?

Если спросить аналитиков, 8 из 10 скажут, что документация — это самое ненавистное в нашей работе, несмотря на осознание ее ценности. Один из способов упростить этот процесс — это формализовать все документы, которые аналитик создает при работе над новой функциональностью. Проще говоря, подготовить шаблоны, которые можно будет использовать из раза в раз. Например, шаблоны для описания API, новой фичи, экранной формы, постановки задачи на FRONT и BACK и т. д..

Чтобы это стало еще более убедительным и принесло реальную пользу, предлагаю рассмотреть пример шаблона для описания API. Такой шаблон включает достаточное количество полей, чтобы задача была успешно разработана и понятна всем участникам команды — от аналитиков до разработчиков и тестировщиков.

Этот шаблон охватывает:

  • Описание метода и его назначения

  • Детализацию входных и выходных параметров

  • Описание структуры запросов и ответов

  • Примеры запросов и ответы

  • И другие опциональные пункты

Полный шаблон можно скачать по ссылке.
Даже если проект не нуждается в полной спецификации методов или экранных форм, наличие таск-трекера с четко прописанными задачами может оказаться не менее важным. Рассмотрим, как может выглядеть задача на Change Request для фронтенд-разработки. 

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

Однако важно избегать крайности. Документация не должна требовать бесконечных согласований и ревью от всех участников проекта. Все должно быть в меру: документация должна помогать разработке, а не мешать ей. Её цель — ускорить процессы, сделать их прозрачнее и предсказуемее, а не тормозить работу команды. Найти этот баланс — и есть ключик к выходу на прод быстрее.


А как вы считаете, стоит ли уделять больше внимания документации в условиях Agile, несмотря на стремление к гибкости? И не забудьте поделиться статьей с тем, кто еще не видит в этом ценности.

Комментарии (7)


  1. just_vladimir
    29.01.2025 09:19

    Не проще ли описывать API через OpenAPI, чем вести такую документацию? А для истории изменений существует git


    1. AngelinaNab Автор
      29.01.2025 09:19

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


      1. just_vladimir
        29.01.2025 09:19

        Если смотреть на то, что приводите на скриншоте, то где у вас там "бизнес логика внутри API" (не говоря о том, что звучит это крайне подозрительно) или где "интеграции с третьими системами"? То что на картинке, вставленной в статью, имхо, это легко закрывается OpenAPI


        1. AngelinaNab Автор
          29.01.2025 09:19

          How the service work - 5 раздел, там маппинг, если интеграция с другой системой, вся логика, требования по каптче и прочее


  1. igdaal
    29.01.2025 09:19

    А как вы считаете, стоит ли уделять больше внимания документации в условиях Agile,

    Документация - это одна из множества форм коммуникации. Её разработка и использование могут быть дороже других форм, например, дороже, чем "написать-ответить в чатик". И ещё она в отличие от других форм помогает минимизировать риски (сделать не то, понять не так, забыть, протерять). В то же время, в пересчёте на сроки проекта документация может стать дешевле других форм (в контексте отдельных задач). А может быть так написана, что никакие риски не уменьшает, а увеличивает, и вообще наводит смуту.

    Так что "уделать внимание" нужно, если вы понимаете, что это поможет вам сэкономить и/или подстраховаться. И решение принимается для каждого проекта индивидуально, и возможно, для каждой задачи.

    несмотря на стремление к гибкости?

    Гибкость же не самоцель.


    1. AngelinaNab Автор
      29.01.2025 09:19

      Спасибо, ценный коммент, согласна на 100%. Зависит от проекта, команды, и еще кучи факторов. Я бы проанализировала: есть ли вообще сейчас проблемы в коммуникации? Есть ли неточности/непонимания в требованиях из-за чего увеличивается ТТМ? Какой сейчас процент ресурсов занимают созвоны по задаче/общения в чате в процессе разработки?
      А отсюда уже принимать решение, ключ это к успеху или нет.

      >Гибкость же не самоцель.
      Гибкость - было скорее как "модное" слово, которое часто упоминают. По итогу все мы хотим, чтобы фичи реализовывались быстро, а отсюда и прибыль наша росла. Поэтому скорее имела в виду, что важно находить баланс: где нужна адаптивность, а где чёткие процессы и структуры дадут больше выгоды. Если излишняя гибкость замедляет работу и создаёт хаос, то это уже не преимущество, а ребят, у вас проблемки)


  1. zuekliza
    29.01.2025 09:19

    Я считаю, что документация нужна, в меру, но нужна. Это я на своём опыте работы с легаси системой основываюсь, где из документации - три хайлевел схемы интеграции с другими системами десятилетнней давности (где части систем уже не существовало в природе), четыре документа с бизнес-требованиями, которые были разработаны лет 15 назад и утратили окончательно актуальность лет 7, тикиты с требованиями и ченсетами за последние 10 лет (а ещё за 5 были безвозвратно утрачены), ну и собственно - код, конфиги, сервисы, которые служили основной документацией.

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