Проектная документация - ЗЛО?
Документация - зло
Часть людей не понимают смысла технического задания. Якобы его придумали IT-шники, чтобы защитить себя. С другой стороны программисты тоже не любят писать технические задания, спецификации и пр. проектные документы.
Например, в видео “Пример технического задания на разработку сайта“ от канала Yastudia (https://youtu.be/3UdGbkRKPPs?t=35) проговаривает следующие минусы тех.задания:
-Клиент не понимает Ваших задач и целей, а Вы не понимаете в продукции/процессах клиента. Необходимо долго описывать всё и выйдет сложный документ;
-ТЗ пишется долго;
-ТЗ не помощник, а щит против заказчика.
Зачем тогда мы тратим кучу часов на написание технической документации? Разбираемся в требованиях? Рисуем какие-то схемки?
Давайте рассмотрим классический пример отсутствия проектной документации. Практически у каждого была история приведённая ниже, а если не было, то наверняка слышали!
“С компанией подрядчиком определялись не долго. С лёгкой руки директора была выбрана студия мужа подруги жены — «мировые ребята, Люся всегда о них хорошо отзывалась». После первой же встречи было решено, что задача стоит совершенно простая — запилить сайт-визитку. Ребята уже 1000 раз такое делали и были полностью уверены, что справятся быстро и без проблем. На попытку Антона что-то сказать о планировании проекта разработчики только улыбнулись: «Да чего тут думать? Тут делать нужно». [...] В конце собрания было решено, что сайт должен быть готов через полтора месяца и не минутой позже.
Проблемы начались почти разу: сперва, разработчики вернулись через 2 недели после вышеупомянутого собрания и принесли не то. Мой товарищ так им и сказал, после чего ребята обиженно ушли переделывать. Позднее, когда они пришли с более подходящим вариантом Иннокентия ждал новый сюрприз. В процессе демонстрации продукта коллегам он выяснил, что те представляли корпоративный сайт совершенно иначе. По их мнению всё нужно было срочно переделать. Вот с этого момента начался Кешин персональный ад. Сперва он день ото дня ругался с коллегами, объясняя, что сайт-визитка не предполагает возможности прямой продажи продуктов через интернет и решает совсем другие задачи.[...]
В результате работа, которая должна была занять два месяца растянулась почти на полгода, бюджет проекта вырос в два раза, а Кеша в конечном итоге уволился из компании и начал свою карьеру в IT.”
https://iampm.club/blog/bez-tz-rezultat-hz/
Да-да, отсюда напрашивается весьма банальный вывод, что проектная документация и техническое задание в частности закрепляют в понимании единый образ проекта и не даёт заказчику подкинуть дополнительных “хотелок”, а разработчику притащить сырой проект.
Теперь перейдём к другим плюшкам проектной документации.
Ещё в 2015 году ходила на собеседование в Сбертех. Они искали сотрудника, который сделает обратное ТЗ и опишет работу одной из их платформ, чтобы они смогли безопасно, насколько это возможно, перейти на новую платформу.
Тогда я подумала, что они странные люди, т.к. в энергетике у нас было всё чётко: запрос на изменения, спецификация, отчёт о тестировании, технологический паспорт. Конечно были и свои косяки, но документацию старались вести, чтобы понять как работает система. Особенно бдили изменения в расчётной части, т.к. любая поломка в ней или некорректная работа могла привести к миллионным счетам за электроэнергию. Журналисты и проверяющие до боли любят такие истории!
Прошли годы, новые команды, новые коллективы и теперь у меня члены команды не любят писать требования на разработку, а не говоря уже о ТЗ и спецификации.
Обычно в трекере проектов задача открывается заказчиком или службой заказчика, а потом только заказчик пишет комментарии по проекту. Разработчик всё время молчит.
Однажды в рамках реализации одной из функций столкнулись с тем, что никто не знал правильно ли сейчас рассчитываются лимиты по банковским картам. Стали искать информацию, а как же на самом деле должны работать эти самые лимиты, т.к. заказчик утверждал, что система работает не корректно по определённым ситуациям. Откуда-то отыскали какую-то документацию и стали по ней смотреть корректность работы алгоритмов. Сначала выявили, что по части замечаний алгоритмы отрабатывают корректно и согласно найденному документу. Потом стали опрашивать старожилов и у кого-то в переписке за “лохматые года” оказалась информация о требовании клиента изменить алгоритм расчёта лимита по некоторым категориям клиентов. В результате оказалось, что все ошибки, обозначаемые клиентом были не ошибками, а «хотелками».
Самое смешное, что отдел заказчика, который жаловался на ошибки алгоритма сам внёс изменения в алгоритм расчёта лимита.
Поскольку явной документации не было, то на все разбирательства ушло полгода!
Или ещё случай из “внутренней кухни”. Два месяца назад попросили протестировать фичу в СРМ. Открываю задачу, а там какая-то переписка заказчиков по установке требований и висит постановка задачи от заказчика. Всё! Никакого комментария от технолога или разработчика. На основании крупиц составляю чек-лист, тестирую, описываю баги. После моих замечаний разработчик проснулся и стал возмущаться, что они делали только 2 поля в интерфейсе, а остальное не их работа!
Надеюсь, из последних примеров было видно, что проектная документация помимо понимания общих договоренностей и границ проекта также помогает:
- развивать продукт, не откатываясь на ступень назад и не исследовать текущее состояние работы функционала/системы;
- благополучно сопровождать продукт, отделяя желания пользователей от реальных багов;
- удачно проводить тестирование функционала без отклонений в стороны от цели, не вызывая лишних споров.