Страница 17 из 19
К счастью, большая часть неопределённости в проектах относится ко второй категории. Что, конечно, не избавляет нас от возможных проблем, которые не всегда проявляются. Связано это с тем, что до определённого уровня сложности проектов цена ошибок невелика, а возникающие погрешности при оценке не превышают заложенных в бюджет рисков. Действительно, многие проекты завершаются успешно. Но по мере роста их сложности шансов на то, что ситуация выйдет из-под контроля, становится все больше. Так, если мы говорим о простом сайте, максимальная цена ошибки может составить лишний месяц работы одного специалиста, за который он сможет все переделать с нуля. В случае же, например, клиентского сервиса крупного банка так просто уже не получится все исправить, т.к. речь может идти о десятках тысяч рабочих часов разработчиков. Начиная с определённого уровня любой проект, выполняемый с использованием традиционных подходов и без учёта возможной неопределённости, обречён на провал.
Когда я говорю о традиционном подходе, то имею в виду, что, даже отдавая себе отчёт в невозможности точно спланировать проект, бизнес тем не менее обозначает его границы, выраженные в стоимости, сроках и функциональных требованиях. Как следствие, это приводит к низкому качеству продукта. Это связано с тем, что в условиях ограниченного изначально бюджета или зафиксированного плана работ разработчикам приходится идти на компромиссы при принятии проектных решений. Либо какое-то техническое или функциональное ограничение всплывает в тот момент, когда уже ничего нельзя исправить и приходится решать возникшие проблемы обходными путями. Что опять-таки отражается на качестве и надёжности будущего продукта. Но поставив себя в жёсткие рамки, заведомо неадекватные в силу все той же неопределённости, проектная команда оказывается без достаточного пространства для манёвра.
Кажущейся альтернативой могут служить открытые (читай, бесконечные) сроки и бюджет, что, конечно же, невозможно представить, по крайней мере в нашей Вселенной. Хотя на таком варианте прямо или косвенно настаивает достаточно большое количество представителей ИТ-отрасли. Конечно, есть вероятность того, что команда специалистов, подобно природе, за бесконечное количество итераций сможет создать совершенный продукт. Но вряд ли такое расходование ресурсов оставит бизнес в живых.
Как видите, мы все равно неизбежно приходим к тому, что поиск способов снижения или локализации неопределённости – необходимый путь к снижению проектных рисков и в конечном счёте к получению бизнесом именно того результата, на который он изначально рассчитывает. Это один из базовых принципов «Метода параноика».
Для начала нам нужно понимать, существуют ли в принципе в проекте неопределённые вопросы. Как я описал выше, для многих участников, особенно со стороны бизнеса, сам факт их наличия уже является откровением, к тому же таким, которому они не склонны доверять. Подобно беспечным грибникам, которые идут по лесу и не подозревают, что эхо войны ещё с нами. Как можно догадаться из приведённого примера, просто знание того, что в проекте есть неопределённость, уже позволяет проявить больше осторожности и обратить внимание на неочевидные знаки. Этот же пример показывает, что есть области в проектной работе, двигаться по которым лучше только вместе с опытным проводником, а при его отсутствии обходить стороной.
Неопределённость может исходить из содержания самих задач, но не меньше вопросов скрывается в организационной стороне проекта. В первом случае источником могут служить, например, исследовательские задачи, непредсказуемые по сложности и часто не гарантирующие положительного результата. Во втором диапазон ещё больше – от невозможности получить ясный набор требований к продукту до сложностей, связанных с поиском специалистов нужной квалификации.
Все это приводит к необходимости создания инструментов для поиска и диагностики источников неопределённости. Первым шагом к этому может быть взгляд на привычные аспекты проектной работы с нестандартной точки зрения. Этому и будет посвящена оставшаяся часть главы, где я на примерах постараюсь выделить самые важные причины неопределённости и установить в каждом случае факторы, влияющие на её уровень. Начать я хотел бы с уже известных вам типов проектов.
Тип проекта как индикатор уровня неопределённости
Для большинства представителей бизнеса нет разницы между специалистами, работающими над цифровыми продуктами и сервисами, они все «программисты». Тем более они не отдают себе отчёта в том, насколько разными могут быть проекты по их созданию и поддержке. Это создаёт множество проблем при работе, и связаны они прежде всего с неверными ожиданиями. Дело здесь, конечно же, только в том, что данная предметная область не столь знакома им по опыту, в отличие от деятельности компаний, которыми они управляют. Поэтому я использую следующий образ.
Вряд ли вы согласитесь для лечения простуды использовать экспериментальные лекарства, потенциально дающие быстрый результат, но с непроверенными побочными эффектами, способными вас убить. С другой стороны, когда стоит вопрос жизни и смерти, такой выбор вполне оправдан. Как сказал некоторое время назад Дональд Трамп, лекарство не должно быть опаснее болезни. С ним можно во многом не соглашаться, но тут он прав на 100%.
На проекты, целью которых является создание цифровых сервисов для бизнеса, нужно смотреть таким же образом. Если в результате проекта есть риск потратить бюджет, сопоставимый с прибылью компании за полгода, но по итогу не получить работающий продукт, то есть смысл серьёзно подумать, стоит ли оно того. Когда венчурный инвестор вкладывает деньги в перспективное направление, то от проекта сразу ожидается возможность потери бюджета, с другой стороны, в случае успеха прибыль может многократно превысить расходы. Если же речь идёт про работающий бизнес, которому не грозит сокращение доли рынка из-за действий конкурентов или потери эффективности, вряд ли стоит делать ставку на изменения в цифровой инфраструктуре, потенциально способные привести к остановке всей деятельности или потери существенной доли прибыли. На первый взгляд это кажется странным, как ИТ-проект может быть столь опасным, но разве неработающий сайт онлайн-магазина не означает остановки бизнеса? А бывают ситуации гораздо серьёзнее.
Типы проектов как раз позволяют оценить возможный риск и выявить степень неопределённости. Речь идёт о типах проектов, которые я описывал во второй главе. Напомню вкратце, в чем суть каждого из них. «Мозги» – это проекты, в которых нужно придумать что-то новое, выходящее за рамки существующих решений. «Седина» – использование готовых технологий и продуктовых наработок для решения уже известных задач. «Процедуры» – проекты, в которых делается упор на эффективность исполнения стандартных задач и возможность настроить типовой рабочий процесс с привлечением взаимозаменяемых специалистов, обладающих известными компетенциями в проектировании, дизайне, разработке, тестировании и т.п.
Неопределённость растёт от «Седины» к «Процедурам» и достигает своего максимума в «Мозгах». Коротко это можно объяснить следующим образом. Цель проектов «Седина» как раз и состоит в том, чтобы избежать неопределённости. Используемые решения уже многократно проверены, специалисты участвовали в аналогичных проектах. План работ, сроки и бюджет рассчитываются исходя из прошлого опыта. Все это тем не менее не даёт 100% гарантии, т.к. существуют и другие причины неопределённости, о которых я дальше рассказываю в этой главе.
Цель проектов типа «Процедуры» – поддержка и развитие существующих систем. Работа идёт в известной технологической среде, но сами задачи могут отличаться разнообразием. Последнее и является основным источником неопределённости, т.к. существует множество вариантов решений в сочетании с разным уровнем компетенции участников проекта. Если при работе над такими проектами не уделяется достаточно внимания подготовительной работе и проектированию, то это ещё больше повышает риски.