Том ДеМарко - Вальсируя с медведями
Среди других причин, по которым компании не делают тщательных предсказаний выгоды и оценок реализации выгоды, встречаются следующие:
• Система слишком мала для нас, чтобы стоило беспокоиться о ней.
• Нет выбора, создавать или не создавать эту систему.
• Создать систему требует контролирующий орган.
• Выгода полностью определяется соответствием потребности рынка.
• Система является заменой ныне действующей системы.
• Заявка исходит с самого верха.
• Выгода слишком неопределенна и не поддается количественной оценке.
• Заказчик сказал: «Поверьте мне, это стоит сделать».
• Оценка выгоды все равно не будет правдоподобной.
По этому последнему пункту наш коллега Стив МакМенамин, в бытность вице-президентом Edison International, отметил следующее:
Есть класс подразумеваемой экономии, называемый мною «общая производительность». Он имеет следующую форму: «Если применить новую систему сбора данных, каждый работник сэкономит хотя бы две минуты в день, что добавляет к среднегодовой экономии по организации в целом 42 квазиллиона долларов». Нельзя сказать, что в таких заявлениях нет ни крупицы потенциальной правды. Но они являются таким надежным прикрытием для дурацких проектов и предлагающих их консультантов, что заявления о выгоде «общей производительности» встречают уничтожающим и обычно вполне заслуженным презрением. Я обычно сомневаюсь в них по крайней мере на 100%.
Здесь претензии на ничтожную выгоду, которая к тому же широко размазана ровным слоем. Когда выгода от производительности велика и сфокусирована, обоснование может быть гораздо убедительнее.
Мы еще не включили в свой список причин, по которым компании не делают точных предсказаний выгоды и оценок ее реализации, такую причину, которая часто встречается, но редко упоминается: выгода является крохотной или несуществующей. Как общее практическое правило можно принять, что при отсутствии количественной оценки выгоды, ее нет вовсе.
Самые большие риски вашей компанииКакое все это имеет отношение к риску и управлению рисками? До сих пор мы рассматривали управление рисками на уровне руководителей проектов и руководителей IT-служб. Теперь поднимемся на одну ступень выше. В то время как на уровне IT самые большие риски являются технологическими (связанными с продуктом либо <……> связанными с проектом), самые большие риски <……> потраченным на малоценные проекты усилиям и <……> стоимости упущенных ценных проектов.
Решительная позиция по принятию рисков должна руководствоваться выгодой. Количество рисков, которое вы готовы принять должны являться функцией от того, какова может быть выгода от этого риска.
ТРЛ: В 1990-х годах многие из моих клиентов зациклились на улучшении неправильных процессов. Они все помешались на процессе построения проектов. Единственный по-настоящему значимый процесс — это тот, который определяет какие проекты стоит осуществлять. По иронии судьбы, в некоторых из известных мне компаний, особенно озабоченных процессами, не существует определенного процесса инициации проекта — это делается авторитарным решением.
Пять элементов расчета выгодыНастойчивое утверждение того, что ответственность за выгоду от системы эквивалентна ответственности за расходы, ведет к следующей схеме расчета выгоды:
• Участники проекта объявляют ожидаемую выгоду в то же самое время, когда разработчики объявляют ожидаемые стоимость и расписание работ, причем с одинаковой точностью.
• Участники проекта выражают неопределенность своих ожиданий по выгоде тем же способом, каким разработчики указывают неопределенность в своих расчетах стоимости и расписания (см. подробности в главе 21).
• Участники проекта оценивают сравнительную ценность компонентов системы, чтобы обеспечить основу для выбора версии и осуществлять разумный анализ чувствительности и инкрементный анализ выгод и затрат (см. подробности в главе 22).
• Руководство утверждает проект на основе тщательного сравнения выгод и затрат, а также сопутствующих им неопределенностей (см. подробности в главе 23).
• Руководство оценивает фактическое значение выгоды и проводит оценку для получения входных данных для процесса анализа после завершения проекта.
Этот подход примерно совпадает с тем, что Барри Боэм (Barry Boehm) называет разработкой программного обеспечения на основе ценности (Value-Based Software Engineering). Боэм так комментирует необходимость стоимостной основы:
Разработка программного обеспечения в основе своей является контактным видом спорта. В разработке программного обеспечения, как в регби, никакая теория о том, как преуспеть в схватке за мяч, не идет ни в какое сравнение с реальным опытом, полученном в гуще нескольких таких схваток.
Далее, теория, с которой знакомится большинство современных студентов, охватывает примерно 15% того, с чем им предстоит столкнуться на практике. Большая часть ее основывается на модели разработки программного обеспечения как работе с поставленным заданием по написанию и отладке кода на основе постоянного (неизменного) набора требований. Это было хорошей моделью в 1970-х годах… но сейчас явно устарело. В 1970-х годах программное обеспечение составляло небольшую часть в большинстве систем, а стабильность требований означала, что вы часто могли «разделить задачи» и решать проблемы с соответствием программного кода требованиям совершенно отдельно от остальных частей проекта. Но все это теперь изменилось. Программное обеспечение критично привязано к добавочной ценности, создаваемой системой, его гибкость — ключ к адаптации и возможным изменениям, а разработка программного обеспечения теперь все меньше и меньше напоминает «сплошное программирование»[29].
С этой точки зрения, ценность, которую предстоит создать оказывается в той же мере в фокусе, как и детальная разработка процесса создания программного обеспечения.
Глава 19
Ценность — это тоже неопределенность
Участники проекта часто отговариваются от оценок выгодности новой системы, потому что считают, что она слишком неопределенна для прогнозов. Самое честное, что они могут придумать в ответ на вопрос об ожидаемой выгоде: «Я не знаю». Им нужна та же автоматическая реакция, к которой мы призывали вас в главе II: при произнесении слов «я не знаю» переключаться в режим указания границ неопределенности и начинать строить диаграммы неопределенности.
Выгода? Ну, возможны варианты…Для систем, предназначенных скорее для упрочения положения на рынке, чем для замещения затратных или трудоемких операций, реально существуют некоторые неизвестные параметры вероятной выгоды. Рынок может немедленно наброситься на новый продукт, а может прореагировать и крайне вяло. Конкуренты могут незаметно опередить вас с этим новым продуктом, либо выведя аналогичный товар на рынок раньше нас, либо объявив, что у них вот-вот появится товар с кучей новых соблазнительных характеристик. В любом из этих случаев реальная ценность вашей новой системы сократится по сравнению с наиболее оптимистичными ожиданиями. Сама формулировка таких сомнений привлекает внимание к тому факту, что существуют «наиболее оптимистичные ожидания». Первый этап предсказания ценности состоит в количественной оценке наиболее оптимистичных ожиданий и выражении ее в денежном эквиваленте дохода или процентах дополнительной доли рынка. Аналогично можно количественно оценить наименее оптимистичные ожидания. Какая-то точка между этими значениями и будет представлять наиболее правдоподобные ожидания. Эти три точки дают рудиментарную диаграмму неопределенности, очерчивающую риски, связанные с ожидаемой выгодой:
Люди, вынужденные связать себя такими обязательствами, будут настаивать на приписывании этим ожиданиям некоторых явных допущений участника проекта, в том же духе, в каком делает допущения менеджер проекта относительно рисков, которыми он не управляет, и которые находятся в чужой зоне ответственности. Допущение участника проекта могло бы выглядеть как-то так: «Все ставки снимаются, если система окажется нестабильной». Для каждой диаграммы неопределенности, вроде приведенной выше, существует эквивалент в кумулятивной форме, подобный этому:
Рыночная нишаВеликая иллюзия относительно рыночной ниши является самой надежной и чаще всего используемой отговоркой, чтобы не делать продуманных оценок выгоды. Заказчик может конфиденциально говорить о выгодах, которые удастся извлечь только в том случае, если у разработчиков система будет готова до того, как заполнится рыночная ниша. Можно говорить о любом количестве выгоды, потому что этому сопутствует тактика уверения, что рыночная ниша заполнится до даты, успеть к которой абсолютно невозможно. Таким образом, проект оказывается изначально обреченным на неудачу, да и заказчик избегает всякой ответственности.