Краткий гайд от бизнес- и технического руководителей центра компетенций разработки ITQ Group Даниэла Кнежевича и Максима Макеева.

Привет! Сегодня мы хотим поговорить о предпроектном исследовании — этапе разработки IT-проектов. 

Начнем с примера. Однажды, в одной финтех-компании выкатили на прод новую функциональность. Функциональность не заработала. Стали разбираться и выяснили,  что не учли необходимых изменений в кор. системе, а без них новая функциональность недееспособна. Пошли к разработчикам кор. системы: бэклог забит на год вперед, влезть вне очереди не получится. Спустя два года функциональность так и висит без релиза. Между тем, она важна для одного из бизнес-направлений, ее отсутствие несет нормативные риски для компании…

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

В материале разберём: для чего нужен предпроект, как его проводить и как убедить бизнес-заказчика потратить на него деньги. 

Начнем с базы. 

Что такое предпроект и зачем он нужен 

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

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

Цель этого этапа — оценить будущие работы, согласовать и выделить бюджет. Либо, такое тоже случается, прийти к выводу, что проект запускать нецелесообразно. 

 

Изображение
Изображение

Какие вопросы задает предпроект и какие ответы предоставляет 

В рамках предпроекта команда формирует ответы на важные вопросы:

  • цели и бизнес-эффекты проекта; 

  • бизнес-, технические и инфраструктурные требования;

  • участники проекта: системы/ответственные за эти системы лица/исполнители; 

  • определение архитектурного решения (выполняется не всегда, но если выполняется, существенно повышает качество оценки); 

  • скоуп работ; 

  • временные затраты.  

И получает важные сведения: 

  • набор требований заказчика;

  • декомпозицию работ (разделение ее на отдельные задачи); 

  • оценку трудозатрат и сроков реализации; 

  • календарный план; 

  • согласованный бюджет. 

В чем основная ценность предпроекта 

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

То же применимо и к запуску новых продуктов, разработке сложных систем: предпроект дает возможность максимально близко оценить как будущие затраты (чтобы впоследствии заложить их в бюджет), так и потенциальную выгоду от внедрения. И свести одно с другим. 

Помимо этого, предпроектное исследование дает возможность участникам проекта договориться и лучше понять цели друг друга, задачи и ограничения. 

Как предпроект работает с рисками 

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

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

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

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

Если есть этап аналитики, то зачем нужен предпроект 

Скорее всего, у некоторых читателей к этому моменту уже назрел вопрос: а разве все перечисленные работы не относятся к этапу аналитики? Может, предпроект — это та же аналитика, только под другим названием? 

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

Этапы предпроекта 

Разберем основные этапы предпроекта. 

Этап 1. Согласовываем цели и бизнес-эффекты проекта. 

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

Например: 

  • Запустить кредитный конвейер, который приведет к увеличению клиентской базы на 20% и повышению скорости оформления заявок на кредит в мобильном приложении на 2 минуты. 

  • Изменить кнопку выдачи кредитной карты в МП с красной на зелёную, что позволит привлечь + 100 000 клиентов. 

  • Разработать новую систему и перевести туда 100% пользователей из приложения, не удовлетворяющего требованиям регулятора. 

  • Пересмотреть и изменить процесс оформления банковского продукта для улучшения пользовательского опыта: на 2 минуты сократить время оформления заявки, на 35% снизить количество обращений в поддержку. 

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

Этап 2. Формулируем бизнес-требования 

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

Сквозной этап. Проектирование UI 

Кажется, что это уж точно к предпроекту не относится, ведь UI обычно проектируют на этапе аналитики или после нее. Зачем заниматься этим раньше? 

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

Если заниматься проектированием в рамках этапа аналитики или после нее, то когда выяснится, что UI будущей системы должен работать как-то иначе, и это иначе предполагает больше работ, больше ресурсов и больше денег, придется столкнуться с нелёгким выбором: урезать бюджет или сокращать бизнес-требования. Или откатывать разработку и начинать этап аналитики заново. А это время и деньги. 

Этап 3. Формируем архитектурное видение проекта 

На этом этапе у нас должен появиться список систем, которые будут участвовать в проекте: существующих, и тех, которые предстоит создать. Понимание того, как эти системы будут между собой интегрированы. Из этого появится представление о необходимых доработках.  

Архитектурное решение на этапе предпроекта часто пропускают. Например, на одном из проектов на начальных этапах (предпроект и даже аналитика) не выявили все системы. В результате на этапе внедрения случился крупный сбой. Пришлось откатывать доработки с прода, тратить значительное время на исправление и договариваться со смежными командами, чтобы они срочно взяли новые задачи. Итог: временной сдвиг на два месяца и плюс 3 млн бюджета. 

Этап 4. Определяем скоуп работ 

Здесь декомпозируем бизнес-требования на небольшие задачи, которые нужно выполнить, чтобы реализовать весь проект.  После того как скоуп готов, обращаемся к ранее собранным бизнес-требованиям, чтобы удостовериться, что все они учтены, а задачи полноценно декомпозированы. 

Этап 5. Приступаем к оценке проекта: участники, виды работ, ресурсы 

Берем скоуп работ и оцениваем ресурсы (аналитики, тестировщики, разработчики и т.д.) и объем работ для каждой роли. В результате получаем данные по количеству человеко-дней на реализацию каждой задачи и проекта в целом. 


Важный момент. Некоторые виды работ забывают учесть в оценке, в результате «едут» бюджет и сроки. Так что не забывайте о таких задачах: 

  • модульное/авто/нагрузочное тестирование; 

  • проверки на соответствие требованиям безопасности; 

  • приемо-сдаточные испытания; 

  • подготовка инструкций для пользователей; 

  • подготовка и исполнения заявок на сетевые доступы. 

 

Можно ли все учесть в скоупе? Разумеется, нет.
Поэтому дополнительно к оценке объема закладываем: 

20% — когда все понятно 

30% — есть серые зоны 

50% — когда много неизвестного (вообще, это означает, что предпроект сделан некачественно). 

Этап 6. Определяем методологию ведения проекта. 

Этап методологии нужен для того, чтобы сформулировать и договориться о том, как именно будет происходить управление проектом. 

На какие вопросы отвечаем:

  1. По какой методологии работаем: WATERFALL, SCRUM, KANBAN и т.д.  

  2. Какие у нас стандарты разработки: 

    • Есть ли код-ревью? 

    • Подготовка и ревью технической, тестовой, архитектурной документации? Если да, то на каких этапах?

    • Как и какое именно тестирование проводится? 

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

  1. Как будет происходить взаимодействие между командами:

    • Как команды синхронизируются? 

    • Кто участвует во встречах: РП или представители команд? 

    • Как часто проходят встречи?  

  1. Как и с какой частотой синхронизируемся с бизнес-заказчиком? 

  2. Как происходят приемо-сдаточные испытания? 

  3. И т.д.

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

Этап 7. Разрабатываем и согласовываем план проекта

Берем наш скоуп и:  

  • приоритезируем задачи и планируемые сроки их реализации; 

  • составляем карту проекта; 

  • согласовываем работы и карту проекта с заказчиками и исполнителями проекта; 

  • формируем точки контроля реализации плана: как мы будем отслеживать ход проекта. 

В плане также указываем, какие задачи ведутся параллельно, а какие последовательно. 

Этап 8. Согласовываем и утверждаем бюджет

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

  • цели и бизнес-эффекты; 

  • требуемые ресурсы;

  • бюджет;

  • рентабельность. 

То есть, в результате у вас на руках будет два документа. Первый — более полноценный и детальный, сформированный по итогам предпроектного исследования, второй — презентация с самыми важными аспектами будущего проекта. 

Что нужно, чтобы сделать предпроект 

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

Для предпроекта нужны: архитектор, аналитик и руководитель проекта, — которые на разных этапах будут общаться с лидами разработки и тестирования. И, разумеется, деньги. 

Чтобы предварительно рассчитать затраты на предпроект, нужно учесть объем и характер бизнес-процессов, под которые планируете создавать новую систему или фичу, количество экранных форм, интеграции и доработки БД. В результате получите оценку трудоемкости будущего исследования и список специалистов, который нужно будет к нему подключаться. Опираясь на эти данные, сможете рассчитать сроки и стоимость предпроекта. Если усреднять, нормальная стоимость предпроекта — не больше 5% от прогнозного бюджета самого проекта. 

Если предпроект так хорош, то почему его не делают 

На своем личном опыте убедились, что 80% проектов стартуют без этапа предпроектной аналитики.

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

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

И наконец, политика. Случается, что для бизнес-заказчика проект — ступенька к новой должности. Если на этапе предпроекта выяснится, что сам проект нежизнеспособный, желаемого повышения не произойдет. 

Как аргументировать необходимость предпроекта перед бизнес-заказчиками и реально ли это

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

1. Предпроект поможет сформировать точный бюджет на проект. Ситуации, когда на реализацию просто не хватит денег, не случится.
2. Точность оценки трудозатрат и сроков реализации существенно повысится — вы уложитесь в установленные сроки, а команда разработки не выгорит и не побежит увольняться.
3. Бизнес-требования и функциональность будут соответствовать заявленным: вам не придется ни от чего отказываться в процессе, выпускать полуготовый продукт, который не будет соответствовать первоначальным целям.
4. Вы сможете оценить рентабельность разработки, а не ориентироваться на примерный финансовый эффект.

Иными словами — вкладываясь в предпроект, вы снижаете неопределенность в проекте. Если уровень неопределенности высокий (много бизнес-требований, систем и доработок), то риски форс-мажора тоже высоки. И они могут обернуться существенными убытками. Тогда как затраты на предпроект всегда запланированы и держатся в рамках 5% бюджета проекта. 

И последний момент. Если речь идет о инхаус-разработке, то согласовать предпроект проще. Если же вы работаете в аутсорс-компании, то вас ждут тендеры. А тендеры — это часто про «сделать "Cybertruck" по цене "Москвича"». 

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

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

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


  1. olgapavlova
    04.10.2024 20:44
    +1

    Насчёт нереалистичности: тут у каждого свой опыт, но в нашем случае (специализируемся на дизайне сложных интерфейсов) примерно 20% заказчиков приходят как раз за предпроектом.

    В случаях, когда мы работаем не обособленно, а как часть разработческо-бизнесовой команды (это почти все задачи за редкими исключениями), но уже не на предпроекте — так вот, в таких случаях виден примерный процент заказчиков, которые до начала работ озаботились предпроектной фазой. Так её не называя, но определённо делая. На глазок это, может, 10% от всех, с кем мы имеем дело на непредпроектных фазах.

    Наверное, излишне говорить, что это лучшие клиенты: самые чёткие, самые быстрые, самые требовательные и самые заинтересованные в результате.

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

    Но мы не настоящие сварщики, а узкоспециализированные, конечно.


  1. tmxx
    04.10.2024 20:44

    Если у вас внедрена обязательная предварительная оценка с описанием всех действий и результатов на каждом шагу - мой вам респект

    Аванпроект — это совокупность работ, которые выполняют перед проведением опытно-конструкторских работ с целью технико-экономического обоснования целесообразности разработки продукции и путей её создания, производства и эксплуатации[1], а также вид исходной технической документации, содержащей обоснование разработки продукции и её показателей, исходные требования и предложения по разработке, производству и эксплуатации продукции.

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


  1. Mur466
    04.10.2024 20:44

    Проведение кодревью и ведение документации существенно влияют на сроки софтверных проектов, поэтому обсуждать это на 6 этапе, после оценки (5 этап) - прямой путь к срыву сроков.

    В остальном отличная статья


  1. peterzh
    04.10.2024 20:44

    Подумал. Вот 2 основные причины в моем опыте, почему оно не делается:

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

    2. Реактивное управление в компании: решения принимаются внезапно на уровне "ГД сказал сделать" и прдпроектное обследование скатывается в режим "денег заложим, а там что-нибудь придумаем"

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