• Глава 18 Количественная оценка ценности
  • Глава 19 Ценность – это тоже неопределенность
  • Глава 20 Анализ чувствительности
  • Глава 21 Выгоды возмещают риски
  • Глава 22 Уточнение правил управления рисками
  • Часть IV

    Сколько?

    • Сколько риска можно себе позволить?

    • Как ценность компенсирует риски?

    • Как можно реалистично оценить ценность (выгоду) нового проекта?

    • Как можно убедиться, что ожидаемая выгода реально получена?

    • Как обращаться с выгодой, которая представляет собой неопределенную величину?

    • Какой смысл в обосновании выгод и затрат, которое пытается сравнить неопределенные затраты с неопределенной выгодой?

    Глава 18

    Количественная оценка ценности

    Вначале, на заре IT-индустрии, обоснование для создания новых продуктов было очень простым. Системы, которые тогда устанавливали, обычно заменяли ручной труд клерков. Экономия трудозатрат и была мерилом выгоды, а затраты на разработку системы – издержками. Анализ выгод и затрат и вывел простые соотношения типа:

    Прибыль на инвестиции =(Ценность – Затраты) / Затраты

    Для демонстрации своего почтения к стоимости денег во времени, мы выражали различные потоки затрат и сбережений в терминах чистой приведенной стоимости (NPV). Мы могли бы и проще выразить это в формулировке типа «решение запустить проект сейчас равноценно добавлению сегодня в денежный сундук корпорации чистой приведенной стоимости в размере 1,3 млн долларов».

    Порой обоснование принимало слегка иную форму:

    ТДМ: Одной из первых моих обязанностей менеджера было управление проектом по установке программы централизованного биллинга для French National Merchandise Marte La Villette (Париж). Планировалась замена старой системы, находившейся в филиале в Les Halles. В La Villette вся биллинговая информация передавалась в цифровой форме. Ручная система для исполнения той же функции в Les Halles использовала сеть пневматических труб для отсылки квитанций и счетов, которые под давлением воздуха носились со свистом по всему этажу. Сеть пневматических труб была установлена в Les Halles во времена Всемирной выставки в 1897 году. В 1897 году еще почти не было резиновых изделий, чтобы обеспечить герметичность, поэтому трубы были целиком сделаны из свинца. Когда строили Les Halles, цена свинца составляла всего несколько сантимов за килограмм. Когда мы их демонтировали, цена свинца составляла более семи франков за килограмм. А там было очень много свинца. Денег, вырученных при сдаче свинца в утиль, хватило для оплаты всего проекта, включая аппаратное оборудование и программное обеспечение.

    Что изменилось сегодня?

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

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

    Затраты = $6235812,55

    Выгоды = «Нам это необходимо»

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

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

    Все это ведет к неизбежному принципу:

    Затраты и выгоды следует определять с одинаковой точностью

    Когда выгоду нельзя указать точнее, чем «Нам это необходимо», тогда и указание по затратам пусть будет «это окажется дороговато». Если затраты указаны в диаграмме риска, выгоды должны быть указаны в такой же форме (подробнее об этом см. главы 21-23).

    Вопрос ответственности

    Когда руководители разработки несут ответственность за проект, они обязаны представить в явном виде заданный бюджет времени и затрат, снабженный указанием на присущие проекту неопределенности (например, в форме диаграммы риска). Затем они должны руководить проектом так, чтобы подтвердить свои предсказания. Здесь появляются два компонента: предсказанная и реализованная производительность.

    Аналогично, участники проекта должны быть ответственны за предсказанные и реализованные выгоды. Точность или неточность этих количественных оценок выгоды должна быть примерно равна точности или неточности затрат.

    Оправдания: 45328 причин, по которым мы не можем точно указать выгоду

    Оправдания для плохо прогнозируемых выгод стали удивительно искусными. Наиболее типичен такой вариант:

    «Преимуществом данной системы является то, что мы сумеем с ее помощью выжить, <подходяшее к случаю междометие>!».

    Как указывает наш коллега Майк Сильвз (Mike Silves), это в чистом виде силовая игра. Выживание можно выразить в терминах проникновения на рынок, увеличения доходов, заработков, повторных заказов и т.п., причем все это количественно измеримо. Силовая игра утверждает, что подающий заявку на финансирование должен быть свободен от низменных соображений вроде численного обоснования в силу важности заявки, не говоря уж о значимости самого лица, подающего заявку. Еще более существенной, хотя и потаенной является потребность лица, дающего заявку, не отчитываться ни в какой форме в том, как внедрение предлагаемой им системы реально влияет на его финансовое вознаграждение.

    Среди других причин, по которым компании не делают тщательных предсказаний выгоды и оценок реализации выгоды, встречаются следующие:

    • Система слишком мала для нас, чтобы стоило беспокоиться о ней.

    • Нет выбора, создавать или не создавать эту систему.

    • Создать систему требует контролирующий орган.

    • Выгода полностью определяется соответствием потребности рынка.

    • Система является заменой ныне действующей системы.

    • Заявка исходит с самого верха.

    • Выгода слишком неопределенна и не поддается количественной оценке.

    • Заказчик сказал: «Поверьте мне, это стоит сделать».

    • Оценка выгоды все равно не будет правдоподобной.

    По этому последнему пункту наш коллега Стив МакМенамин, в бытность вице-президентом Edison International, отметил следующее:

    Есть класс подразумеваемой экономии, называемый мною «общая производительность». Он имеет следующую форму: «Если применить новую систему сбора данных, каждый работник сэкономит хотя бы две минуты в день, что добавляет к среднегодовой экономии по организации в целом 42 квазиллиона долларов». Нельзя сказать, что в таких заявлениях нет ни крупицы потенциальной правды. Но они являются таким надежным прикрытием для дурацких проектов и предлагающих их консультантов, что заявления о выгоде «общей производительности» встречают уничтожающим и обычно вполне заслуженным презрением. Я обычно сомневаюсь в них по крайней мере на 100%.

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

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

    Самые большие риски вашей компании

    Какое все это имеет отношение к риску и управлению рисками? До сих пор мы рассматривали управление рисками на уровне руководителей проектов и руководителей IT-служб. Теперь поднимемся на одну ступень выше. В то время как на уровне IT самые большие риски являются технологическими (связанными с продуктом либо <……> связанными с проектом), самые большие риски <……> потраченным на малоценные проекты усилиям и <……> стоимости упущенных ценных проектов.

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

    ТРЛ: В 1990-х годах многие из моих клиентов зациклились на улучшении неправильных процессов. Они все помешались на процессе построения проектов. Единственный по-настоящему значимый процесс – это тот, который определяет какие проекты стоит осуществлять. По иронии судьбы, в некоторых из известных мне компаний, особенно озабоченных процессами, не существует определенного процесса инициации проекта – это делается авторитарным решением.

    Пять элементов расчета выгоды

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

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

    • Участники проекта выражают неопределенность своих ожиданий по выгоде тем же способом, каким разработчики указывают неопределенность в своих расчетах стоимости и расписания (см. подробности в главе 21).

    • Участники проекта оценивают сравнительную ценность компонентов системы, чтобы обеспечить основу для выбора версии и осуществлять разумный анализ чувствительности и инкрементный анализ выгод и затрат (см. подробности в главе 22).

    • Руководство утверждает проект на основе тщательного сравнения выгод и затрат, а также сопутствующих им неопределенностей (см. подробности в главе 23).

    • Руководство оценивает фактическое значение выгоды и проводит оценку для получения входных данных для процесса анализа после завершения проекта.

    Этот подход примерно совпадает с тем, что Барри Боэм (Barry Boehm) называет разработкой программного обеспечения на основе ценности (Value-Based Software Engineering). Боэм так комментирует необходимость стоимостной основы:

    Разработка программного обеспечения в основе своей является контактным видом спорта. В разработке программного обеспечения, как в регби, никакая теория о том, как преуспеть в схватке за мяч, не идет ни в какое сравнение с реальным опытом, полученном в гуще нескольких таких схваток.

    Далее, теория, с которой знакомится большинство современных студентов, охватывает примерно 15% того, с чем им предстоит столкнуться на практике. Большая часть ее основывается на модели разработки программного обеспечения как работе с поставленным заданием по написанию и отладке кода на основе постоянного (неизменного) набора требований. Это было хорошей моделью в 1970-х годах… но сейчас явно устарело. В 1970-х годах программное обеспечение составляло небольшую часть в большинстве систем, а стабильность требований означала, что вы часто могли «разделить задачи» и решать проблемы с соответствием программного кода требованиям совершенно отдельно от остальных частей проекта. Но все это теперь изменилось. Программное обеспечение критично привязано к добавочной ценности, создаваемой системой, его гибкость – ключ к адаптации и возможным изменениям, а разработка программного обеспечения теперь все меньше и меньше напоминает «сплошное программирование»[29].

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

    Глава 19

    Ценность – это тоже неопределенность

    Участники проекта часто отговариваются от оценок выгодности новой системы, потому что считают, что она слишком неопределенна для прогнозов. Самое честное, что они могут придумать в ответ на вопрос об ожидаемой выгоде: «Я не знаю». Им нужна та же автоматическая реакция, к которой мы призывали вас в главе II: при произнесении слов «я не знаю» переключаться в режим указания границ неопределенности и начинать строить диаграммы неопределенности.

    Выгода? Ну, возможны варианты…

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



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


    Рыночная ниша

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

    Легко говорить о будущих рыночных нишах, но существует до крайности мало примеров, которые можно выкопать из прошлого. VisiCalc явно получила свой продукт до того, как заполнилась какая бы то ни было рыночная ниша, но как объяснить Lotus Notes? А всякая рыночная ниша для электронных таблиц была забита до отказа задолго до появления Excel. Как же понять тогда, что Excel стал доминирующей системой электронных таблиц? Или Google, далеко-далеко промахнувшийся мимо своей рыночной ниши, по этой теории никак не мог стать доминирующим на рынке поисковиков, но ведь как-то стал им!

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

    Новости из реального мира

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

    «Чем больше система, тем больше ответственность… размер выгоды тщательно проверяется, потому что будущие схемы финансирования расходов могут быть сокращены из-за невыполнимых обещаний…

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

    (Кристина Дэвис, раньше работавшая в TI и Raytheon)

    «[работа без оценивания ценности] вынуждает принимать решения на основании лишь тестостерона[30]. Мой опыт подсказывает, что принятие решений, диктуемое тестостероном, не дает положительных результатов, если проследить их ценность в долгосрочной перспективе. На самом деле я считаю, что этот подход в лучшем случае портит карьеру…

    Я также встречал весьма странное отношение к ответственности, выглядящее примерно так: «У проекта был полный успех (после того, правда, как мы переопределили понятие успеха)». Это обычно следует после одного из совещаний на поздних стадиях проекта, где «срезают функциональность». Это похоже на сэндвич: в начале проекта – ломоть хлеба, в конце – тот же ломоть хлеба, а в середине кусок какого-то мяса (вы надеетесь, что это мясо, но близко его рассматривать не стоит)».

    (Син Джексон, Howard Hughes Medical Insulate )

    «[должно быть] равенство ответственности у разработчиков и заказчиков. Заказчики отвечают за то, чтобы убедиться в том, что ожидаемая выгода получена. [Но] постоянно в своих обзорах мы обнаруживаем, что компании не отслеживают по факту, была ли получена ожидаемая выгода».

    (Роб Остин (Austin), профессор Гарвардской школы бизнеса )

    «Показатели экономии также классифицируют по тому, являются ли они сокращением или избежанием расходов. Это различие важно. Сокращение – это вычеты из текущего уже принятого бюджета. Вы (менеджер, делающий заявку на финансирование) уже получили эти деньги: вы соглашаетесь отказаться от них, если получите деньги на новую систему. Избежание расходов выглядит так: «Если у меня не будет этой системы, мне придется дополнительно нанять <столько-то> <таких-то работников> в <будущем году>. Но если у меня будет эта система, я обойдусь без этих расходов». Это – любимый тип выгоды для тех, кто делает заявку на новую систему: одни обещания, никаких реальных жертв. Ловушка в том, что нет оснований верить, что вы бы получили средства для найма этих дополнительных работников. Вы меняете средства на будущие операционные расходы, которых вы могли бы и не получить вовсе, на основные фонды сегодня. Очень соблазнительно, но большинство из тех, кто распределяет бюджет, и рассматривает финансовые заявки, чуют это за версту. Корректной проверкой выгоды, связанной с избежанием затрат, является вопрос о неизбежности предполагаемых затрат. Другими словами, была бы непременно удовлетворена будущая бюджетная заявка. Это суровая проверка, но реальная выгода, связанная с избежанием затрат, может пройти ее и пройдет».

    (Стив МакМенамин, Atlantic Systems Guild )

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

    1. Организации, применяющие передовые практики, нацелены на проведение оценки выгоды, хотя могут менять ее форму от проекта к проекту.

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

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

    Глава 20

    Анализ чувствительности

    Щепетильный предмет, которому посвящена данная глава, – увеличившаяся ответственность заказчика. Мы уже высказывались в пользу необходимости переложить ответственность за предсказание выгоды и измерение реально полученной выгоды на пользователей системы и заказчиков (причем с той же степенью точности, что и оценка затрат и фактические затраты). Теперь мы хотели бы привлечь внимание к некоторому использованию инкрементного метода в этом расчете выгоды. Щепетильность вопроса состоит в том, что вы не можете просто обязать своих клиентов к такой ответственности. Вы должны это выманивать лестью, уговаривать и просить об одолжении. Хотите ли вы действительно тратить, какой бы то ни было, политический капитал, который у вас может иметься, на эти кажущиеся невразумительными цели? В этой главе мы постараемся убедить вас, что вы этого хотите.

    Если это – решение, то что является проблемой?

    Проблема, на которую мы здесь нацелились, состоит в том, что большинство проектов разработки программного обеспечения по своей природе комплексные. Проект получает финансирование на основе какой-то ценности – либо имеющей явное количественное выражение, либо нет – которую должен принести полученный в результате продукт. Теперь стоит задать несколько вопросов: «В чем ценность этого продукта? Равномерно ли она распределена между всеми компонентами системы? Одинакова ли ценность этого модуля объемом в сто строк и того модуля (тоже из 100 строк), который восстанавливает конфигурацию после потери питания?»

    Не стоит ручаться за то, что их ценность равна. Наш опыт (да и ваш, признайтесь) подсказывает, что ценность очень неравномерно распределена по системе. Основных денег система стоит из-за определенных ключевых функций, осуществляемых «в самом сердце» продукта или около него.

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

    Инкрементный анализ выгод и затрат

    Как только мы разбили систему на куски (скажем, функции в период спецификации или модули в период разработки), возможно и разумно распределить предполагаемые затраты по карте этого разбиения. Так, доля системы, стоящая порядка $235000, могла бы иметь график затрат такого вида:



    <……>заказчиком, показала бы ложность предположения об однородности распределения выгод по системе в целом.

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

    Экономичность и неэкономичность за счет масштаба

    То, что выгода неоднородна внутри системы, дает полезный тактический инструмент IT-менеджеру. Системные проекты отличаются проявлением отрицательных последствий, обусловленных изменением масштаба: при удвоении размера системы следует ожидать, что усилия для ее создания возрастут больше, чем вдвое. Эта нелинейность усилий по отношению к размеру системы хорошо документирована Боэмом[31] и другими:



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

    Обратно в реальный мир

    Ладно, посмотрим фактам в лицо: заставить заказчиков предсказывать выгоды – все равно, что удалять зубы. Это большой объем работы, открывающий дверь дополнительному уровню ответственности, причем усилия тех, кто подставляет себя под удар и занимается количественной оценкой, явно не окупятся. Если среди полезных функций затесались «прибамбасы», то люди, которые должны сделать количественную оценку, вполне могут оказаться теми, кто потеряет свои любимые игрушки. Можно ожидать практически от любого заказчика яростных возражений и уверений самым серьезным тоном, что «все это необходимо для поддержки основной функциональности, честное слово». Это та же самая старая и надоевшая песня про равномерно распределенную стоимость, но не рассчитывайте их в этом убедить.

    Может быть, вам и не придется. Польза от частичных данных «выгоды/затраты» состоит в том, что они позволяют упорядочить компоненты для включения в версии. Получить точные оценки было бы отлично, но если их приобрести нельзя, то не устроит ли вас вместо этого упорядочение?

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

    Глава 21

    Выгоды возмещают риски

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

    Если предыдущий абзац показался вам убедительным, вы относитесь к меньшинству. Кажется, что вся IT-отрасль поддерживает практически противоположный взгляд: Рискуйте много, когда выгода ничтожна. Как еще мы сумеем снизить затраты настолько, чтобы оправдать этот нестоящий проект?

    Это мышление – порождение одного из самых распространенных, но постыдных стилей работы в нашей отрасли…

    Проекты на выживание

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

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

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

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

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

    Рискуйте, только если это оправдано выгодой

    Лучший выход состоит в том, чтобы руководствоваться ожидаемой выгодой при решении, на какое количество рисков отважиться. В ретроспективе, главной причиной того, что мы раньше этого не делали, была нехватка дисциплины, чтобы заставить количественно оценить выгоду. В особенности по не очень выгодным проектам, мы стойко отказывались количественно оценить выгоду, поскольку это было единственным способом сохранять сколько-нибудь приличный вид всей затеи. Без объявленных ожиданий стоимости можно было опираться только на сокращение расходов на разработку. Обоснование преимущественно было таким: «Мы так снизим затраты, что они наверняка будут меньше, чем любая полученная выгода».

    Реальное обоснование проекта (вы всегда знали это в глубине сердца) требует сбалансированности риска и выгоды, как показано на рисунке:



    Здесь есть техническая проблема: как решить, перевешивает ли выгода, показанная на левой стороне, риски, показанные справа. Поскольку и выгода, и риски являются до некоторой степени неопределенными, следует ожидать, что и баланс тоже будет в некоторой степени неопределенным. Если призвать на помощь сложную математику, то получим диаграмму неопределенности, показывающую одновременное воздействие неопределенной выгоды и неопределенного риска. Однако без вычислений наилучшим подспорьем является симуляция с помощью RISKOLOGY, показывающая чистую выгоду для ряда из 100 смоделированных проектов. Система дает гистограмму, которую можно аппроксимировать гладкой кривой, как показано на этом рисунке:


    Глава 22

    Уточнение правил управления рисками

    Вернемся к правилам, впервые изложенным в главе 10, чтобы добавить некоторые уточнения. Начнем здесь с пересмотра первого раздела этой главы «Что понимают под управлением рисками».

    Что понимают под управлением рисками (уточненное и переработанное)

    Управление рисками по сути представляет собой осуществление следующих шагов, включаемых в проект (пункты 6-12 включают больше всего изменений по сравнению со списком в главе 10, но мы, конечно, рассмотрим заново весь процесс):

    1. Используйте процесс идентификации рисков (подробности в главе 14) для составления перечня рисков, которые грозят вашему проекту

    2. Убедитесь, что все главные риски проектирования программного обеспечения (подробности в главе 13) представлены в вашем перечне.

    3. Проведите всю указанную предварительную подготовку по каждому из рисков:

    • Дайте наименование риску и присвойте ему уникальный номер.

    • Проведите мозговой штурм для выявления показателей наступления события риска.

    • Оцените влияние наступления риска на стоимость и расписание проекта.

    • Оцените вероятность наступления риска.

    • Рассчитайте подверженность риску в терминах расписания и бюджета.

    • Определите заранее, какие меры придется принять, если и когда событие риска наступит.

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

    • Включите действия по ослаблению риска в обший план проекта.

    • Опишите все детали в специальной форме, шаблон которой приведен в Приложении Б.

    4. Укажите возможные риски-катастрофы как исходные допущения проекта. Разработайте схему делегирования управления каждым из таких рисков вышестоящему руководству.

    5. Сделайте первый подход к оценке расписания, исходя из предположения, что ни один из рисков не материализуется. Другими словами, ваш первый шаг по оценке состоит в определении «даты с вероятностью нанопроцента», то есть самой ранней из дат, к которой вы можете успеть завершить проект. Это отличается от принятой в отрасли практики тем, что мы предлагаем использовать нанопроцентную дату как входные данные процесса составления расписания, а не как его результат. Определите N, используя какой-нибудь из инструментов параметрической оценки, если у вас он есть, настроенный на самые оптимистичные сценарии.

    6. Скачайте RISKOLOGY (см. http://www.pmo.ru/riskology). Введите параметры своего проекта в главную рабочую таблицу. Там же введите все индивидуальные настройки, какие сможете найти, опираясь на имеющиеся у вас записи о предшествующей деятельности вашей компании. Замените как можно больше общеотраслевых, заложенных в имитаторе, данных относительно главных рисков имеющейся у вас достоверной информацией. Добавьте индивидуально настроенные рабочие таблицы для всех второстепенных рисков, которые вы отслеживаете. Проведите моделирование для получения диаграммы риска для вашего проекта, добиваясь пересечения с вашей нанопроцентной датой.

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

    8.  Разработайте иерархическую структуру работ, показывающую все задачи, которые нужны для выполнения проекта. Оцените усилия для выполнения каждой задачи, используя любую схему, которую обычно применяете для этого. Мы собираемся использовать эти оценки несколько менее привычным способом: будут приниматься во внимание только относительные веса усилий для выполнения задач, а не их абсолютные значения. Эти относительные веса будут нужны как входные данные для вычисления показателей ООФ.

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

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

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

    12. Оцените выгоды с той же точностью, что и затраты.

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

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

    15. Разработайте технологию общих приемных испытаний для данного продукта и разделите их на приемные испытания отдельных версий (ПИn), по одному на каждую версию.

    16. Построите график ООФ в соответствии с ожидаемыми датами поставки каждой иерсии. По мере прохождения версиями приемочных испытаний (ПИ) проставьте на том же графике реальные результаты.

    17. Отслеживайте на протяжении оставшейся части проекта все риски на предмет наступления или исчезновения и выполняйте планы реагирования всякий раз, когда риски наступают. Наблюдайте за ООФ и его исполнением в сравнении с ожидаемым. Рассматривайте отклонения как признак возможного наступления риска.

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


    Примечания:



    2

    прославленный английский поэт-сентименталист (прим. пер.)



    3

    английский политический деятель и оратор, премьер-министр Великобритании в 1868-1874, 1880-1885, 1886,1892-1894 г.г. от либеральной партии (прим. пер.)



    29

    Barry W. Boehm, «Software Engineering Is a Vilue-Based Contact Sport.» IEEE Software (Sept-Oct. 2002, pp. 95-97. Reprinted by permission (прим. авт.)



    30

    Тестостерон – мужской полоном гормон (прим. пер.)



    31

    Barry W. Boehm. Software Engineering Economics (Englewood Cliffs, N.J Prentice-Hall. 1981), p. 76. Reprinted by permission of Pearson Education Inc., Upper Saddle River. N.J. (прим. авт.)







     


    Главная | В избранное | Наш E-MAIL | Добавить материал | Нашёл ошибку | Наверх