Наше представление о риске в проектах по разработке программного обеспечения сложилось на основе наблюдения за тем, как много таких проектов терпят неудачу. Значительная часть нашей консалтинговой работы в настоящее время состоит в поддержке судебных дел, возникших как последствия провала проектов. Благодаря этому, нам удалось собрать обширные данные относительно провалов. Риски неудавшихся проектов, если посмотреть в ретроспективе, были факторами, приведшими к нежелательным результатам. Это относится и к предстоящим проектам: их риски – это то, что
Первое – причина, а второе – результат, но не пытайтесь обманывать себя, рассчитывая справиться с обоими. Управление рисками как дисциплина целиком занята управлением причинными рисками. Это – те риски, которыми вы
Наше определение является временным, поскольку предполагает бинарную природу каждого риска, воспринимая его как нечто, что может либо произойти, либо не произойти. Разумеется, многие риски устроены иначе: они происходят частично и оказывают соразмерное отрицательное воздействие на проект. Чтобы учесть и эти риски, нам придется вернуться к этому определению в последующих главах. А пока нам неплохо послужит вр
В качестве альтернативного рассмотрим следующее «круговое» определение риска:
До своего проявления риск – просто абстракция. Это нечто, что может повлиять на ваш проект, а может и не повлиять. Существует вероятность, что игнорирование риска пройдет безнаказанным. Но даже в этом случае вы не избежите обвинения в том, что оказались плохим управленцем, не учтя риск. Говоря словами Вильяма Клиффорда, вашу вину «просто не выявят».
Управление рисками – это процесс продумывания корректирующих действий прежде, чем возникнет проблема, пока она еще остается всего лишь абстракцией. Противоположностью управлению рисками является
Представим себе момент, когда то, что было риском, внезапно превращается в проблему. Было абстракцией, просто возможностью, а теперь уже вовсе не абстракция. Уже случилось. Это и есть момент
Событие риска – основное понятие в управлении риском. Это – событие, инициирующее меры, которые предполагается принять в отношении риска. Ну, это почти так. Реальное событие риска может быть невидно вам (например, Саддам Хуссейн решил вторгнуться в Кувейт). То, что вы видите, – это
Причиной вашего внимания к событию риска является то, что при появлении симптомов нам нужно предпринять какие-то действия. До появления признаков события риска предпринимать действия рано, ведь на них нужно тратить деньги и время, поэтому оправдана надежда на то, что действия могут не потребоваться. Однако, хотя можно отложить какие-то корректирующие действия, часть действий может оказаться неотложной. Может оказаться, что какие-то шаги необходимо предпринять до наступления события риска, чтобы у вас были варианты выбора и была обеспечена возможность последующих корректирующих действий. Эта работа называется
Рассмотрим пример ослабления риска из сравнительно далекой от нашего предмета области: судебной системы США. Понимая, что присяжный может заболеть, выбыть, умереть или по какой-то иной причине оказаться неспособным продолжать выполнение своих обязанностей, суды назначают дополнительных присяжных для каждого рассматриваемого дела, чтобы обеспечить возможность альтернативы. Если основной состав присяжных доводит работу до конца, то «альтернативщики» не играют никакой роли; но если требуется замена, то имеется кандидатура, полностью информированная о ходе процесса, поскольку присутствует на заседаниях с самого начала; ввод такого человека в состав присяжных позволяет выполнить требование закона о полноте состава присяжных. Риск здесь состоит в том, что выбытие одного из присяжных ведет к прекращению процесса, повторным слушаниям и всем сопутствующим расходам и задержкам. Ослабляющее действие состоит в присутствии с самого начала одного или нескольких дополнительных присяжных. Если и когда риск материализуется, с ним удастся справиться с минимальными издержками.
Аналогией потери присяжного в IT-проекте будет текучесть персонала, представляющая собой один из главных рисков во всех проектах по разработке программного обеспечения. А профилактической мерой может стать включение в проект с самого начала чуть большего количества исполнителей, чтобы были достаточно квалифицированные дополнительные специалисты, на первых порах выполняющие вспомогательные роли. Когда кто-то из основного состава уходит, руководитель может не нанимать дополнительных сотрудников. Один из запасных перейдет с вспомогательной роли к выполнению обязанностей уволившегося, что позволит обойтись минимальными потерями времени.
Ослабление риска требует затрат времени и денег. При самом наилучшем развитии событий эти расходы окажутся ненужными. Мы еще вернемся к этому обстоятельству, поскольку оно ведет к некоторой патологии, которая может сделать управление рисками практически невозможным.
Для того, чтобы поупражняться в использовании всех этих только что введенных терминов, представьте себе, что вы занимаетесь управлением рисками в школе. Предположим, что вы – директор частной школы-интерната для мальчиков и девочек 5-8 классов.
Будучи профессионалом в своей области, вы хорошо сознаете, что существуют всякие ужасы (риски), которые могут приключиться с детьми, оставленными на ваше попечение. Вы не просто вспоминаете об этом время от времени, ваши мысли постоянно заняты этим. В конце концов, это –
Вы или ваш персонал можете благополучно справиться с частью неприятностей, которые могут приключиться, для чего достаточно быстро сориентироваться в момент наступления риска. Например, нет надобности располагать хитроумным планом на случай драки подушками. Каждый учитель, который не даром ест свой хлеб, сообразит, как с этим справиться, и поступит соответственно.
Но вы осознаете, что есть более серьезные риски, по отношению к которым необходимо заранее иметь продуманный план действий. Таким риском, например, является пожар в одной из спален. Вы будете опозорены, если после пожара выяснится, что вы заблаговременно не потрудились подумать над этой проблемой. Потрудиться (ослабить риск) необходимо заранее, что включает размещение огнетушителей, установку противопожарной сигнализации, проведение учений на случай пожара, инвестиции в автоматические системы пожаротушения и т.п.
Реальное наступление этого конкретного риска может произойти незаметно для вас, поэтому необходимо установить какой-то механизм (индикатор риска) для отслеживания признаков возникновения пожара. У вас есть несколько механизмов на выбор. Можно поручить вахтеру раз в несколько часов снимать показания с устройства для измерения уровня задымленности. Или можно установить сигнализацию, реагирующую на дым. Делая выбор, вы решили, что попытаетесь получить предупреждение побыстрее, потому очевидно, что предпочтительнее окажется сигнальное устройство, реагирующее на дым.
Понимая, что пожар – лишь один из рисков, требующих предварительной подготовки, вы собираете весь коллектив преподавателей и сотрудников и ставите вопрос перед ними: давайте проведем мозговой штурм по выявлению возможных рисков и составим точный список рисков, требующих предварительной подготовки с нашей стороны.
«Какие риски требуют предварительной подготовки?» – спрашиваете вы их. Они называют пожар, спортивные травмы, пищевые отравления, сексуальные домогательства со стороны учителей, обслуживающего персонала или посторонних взрослых людей, сексуальные опыты самих учащихся, наркотики, оружие, депрессию, ведущую к самоубийству, нападения на учителей и учащихся и т.п.
Среди перечисленных могут оказаться такие, которые не стоит пытаться включать в перечень рисков, требующих подготовительных действий («метеорит упадет прямо на здание школы, уничтожив ее вместе со всеми в ней находящимися»). Кроме того, будут и такие вопросы, где ваша ответственность далеко не очевидна. Например, «некоторые аспекты уроков по естествознанию могут подорвать религиозные устои учащихся». Относится ли это к рискам, с которыми вы должны справиться? Вы помечаете это отдельно и продолжаете вести мозговой штурм. После составления перечня вам нужно пройтись по списку и проделать следующий этап работы – качественный анализ рисков. Вам предстоит определить, какими рисками нужно управлять, а какими – нет, то есть провести ранжирование рисков. Для тех, которыми вы решили управлять, вам потребуется, по меньшей мере, выявить триггеры (симптомы наступления риска), составить план предварительных действий по ослаблению риска и оценить относительную значимость данного риска.
Когда мозговой штурм закончится, не стоит думать, что все готово. Вам захочется установить какой-нибудь постоянно действующий механизм (постоянный процесс выявления риска), чтобы выявлять новые риски, требующие контроля. Вам может понадобиться назначить кого-то ответственным за этот процесс (уполномоченный по контролю риска).
Абстрагируясь от этого конкретного примера, можно выделить пять основных составляющих управления риском:
•
•
•
•
•
Первый пункт является действием общего характера, а остальные осуществляются по каждому из рисков.
Управление рисками – то, чем большинство из нас занимается постоянно, причем везде, кроме своего рабочего места. В нашей личной жизни нам постоянно грозят болезни и ранняя смерть. Мы ослабляем риск, застраховав жизнь и здоровье и сделав распоряжения относительно того, кто позаботится о наших детях, если с нами что-то случится. Мы не притворяемся бессмертными и не делаем вид, что наша способность заработать себе на жизнь не может пострадать от какого-то несчастья. Каждый раз, когда мы взваливаем на себя новую ответственность (скажем, беря кредит под залог жилья), мы продумываем всякие возможные кошмары, которые могут приключиться, при этом надеясь, что ничего такого не произойдет, но заставляя себя продумать, что будет, если произойдет. Как мы увидим, управление рисками на рабочем месте включает несколько особых проблем.
Некоторые риски, с которыми сталкивается проект, могут стать для него роковыми. Под этим мы понимаем крушение надежд и чаяний в первую очередь тех, кто дал жизнь этому проекту. Этими рисками особенно важно управлять, но разумное управление ими может привести к конфликту с установленными нормами корпоративной культуры. Ваш проект мог быть поставлен в жесткие временные рамки публичными, широко освещенными в прессе заявлениями первого лица компании о том, что продукт будет выпущен к определенной дате. Широко оповестив об этой дате, руководитель компании попытался сделать отставание от графика немыслимым.
Как известно, объявление нежелательного события немыслимым не делает его невозможным. Но это делает практически невозможным управление рисками. Рассмотрим пример в следующей главе…
Глава 3
Пересмотр истории международного аэропорта в Денвере
В городе Денвер (штат Колорадо) в 1988 году было принято решение построить новый аэропорт вместо существующего Стапльтонского аэропорта. Стапльтонский сочли неспособным к расширению, а в существующем виде он не отвечал потребностям растущего крупного города и способствовал все более очевидному загрязнению окружающей среды (а также был чрезмерно шумным). Новый аэропорт должен был стать более экономичным, покончить с загрязнением среды и задержкой рейсов и иметь возможности для необходимого роста. Новый Денверский международный аэропорт (ДМА) по графику собирались открыть 31 октября 1993 года. Так было запланировано.
Все было подогнано для того, чтобы поспеть к сроку: все шло отлично, но эти проклятые разработчики программного обеспечения опять подвели… 31 октября 1993 года весь огромный комплекс аэропорта был готов к пуску… по-честному готов. На самом деле. Можете поверить. Весь, кроме части программного обеспечения, и из-за нее аэропорт не мог открыться!
Точнее, не была готова вовремя злосчастная система автоматической обработки багажа. Аэропорт не мог открыться без работающего программного обеспечения для обработки багажа[11]. Поскольку строительство аэропорта связано с огромными вложениями капитала, то весь этот капитал был заморожен, пока эти программисты второпях пытались играть в догонялки. А время – деньги. Это был прямой удар по налогоплательщикам. Тут не нужны замысловатые рассуждения, все просто, как на картинке:
И все это по вине тех самых отвратительных разработчиков программного обеспечения.
Такое упрощенное видение (деньги прямиком летят в контейнер для мусора) было характерно для освещения в газетах и журналах проблем ДМА с первого признака задержки в начале 1993 года до частичного открытия в 1995 году. Столько клеймили команду разработчиков, что и сегодня слова «система автоматической обработки багажа ДМА» – узнаваемый символ некомпетентного проекта по разработке программного обеспечения.
Статья в журнале «Scientific American» открыто возлагала ответственность за разочарования, связанные с ДМА, на всю отрасль разработки программного обеспечения с ее нечеткими стандартами и практикой:
«В сфере производства программного обеспечения годами (возможно, десятилетиями) ощущается нехватка зрелой технологической дисциплины, соответствующей требованиям информационного общества»[12].
Статья утверждала, что все дело было в технологическом процессе. По мнению авторов этой статьи, задержки пуска ДМА можно было легко избежать, если бы в проекте были лучше прописаны процессы, чтобы включать:
1. более высокий уровень модели зрелости процессов (СММ).
2. большее использование формальных методов.
3. формализованные языки спецификации (типа В и VDM).
Но является ли это на самом деле проблемой технологических процессов?
Допустим, что у вас имеется абсолютно совершенный процесс разработки программного обеспечения. Устранит ли это всю неопределенность в нашем проекте? По сути, речь о том, является ли процесс разработки программного обеспечения хотя бы одним из
Даже самый совершенный процесс разработки не может полностью устранить неопределенность при осуществлении проектов по созданию сложных систем. А где есть неопределенность, там появляется риск. При наличии риска нужны осторожные и продуманные усилия, чтобы с ним справиться. Вместо того, чтобы спрашивать: «Как они справлялись с созданием программного обеспечения?», можно гораздо глубже понять, что произошло при строительстве ДМА, задав вопрос: «Как они справлялись с управлением имевшимися рисками?»
Кратко описав события строительства ДМА, мы просили принять на веру часто повторявшееся утверждение, что аэропорт был на 100% готов к открытию, за исключением программного обеспечения для обработки багажа, но что аэропорт нельзя было вообще открыть без этого программного обеспечения. Теперь давайте рассмотрим это утверждение подробнее.
Прежде всего, возможно, не было вполне правдивым утверждение, что все остальные части проекта были завершены. Возможно, система обработки багажа была не единственной оставшейся, а лишь
Тогда зададим себе несколько важнейших вопросов:
В конце концов, аэропорт подрядил компанию «BAE Automated Systems» на выполнение этого проекта по принципу «наибольших усилий» (без гарантий). Почти с самого начала работы над проектом подрядчик начал регулярно уведомлять, что дата сдачи под угрозой и проект с каждым месяцем и каждым новым изменением все больше отстает от графика. Все участники были поставлены в известность, что делается попытка выполнить четырехлетний проект в два года и что подобные усилия редко увенчиваются своевременным результатом. Все это было проигнорировано.
Проект ДМА погубило не то, как осуществлялось в нем управление рисками. Погубило его полное отсутствие любых попыток управления рисками. Даже самое поверхностное усилие по управлению рисками (скажем, в первую минуту первого же мозгового штурма по обнаружению рисков) выявило бы задержку сдачи программного обеспечения как существенный риск.
Анализ воздействия данного риска показал бы, что из-за того, что это программное обеспечение было на критическом пути, любая задержка отложит открытие аэропорта, приведя к финансовым штрафам по 33 млн. долларов в месяц (эту величину инвестиционных издержек легко было вычислить с самого начала). Из этого с очевидностью следовало, что главной стратегией ослабления риска является снятие разработки программного обеспечения с критического пути. Несколько миллионов долларов, потраченных в начале проекта на обеспечение возможных альтернативных систем обработки багажа, сберегли бы полмиллиарда долларов, в которые обошлась задержка разработки программного обеспечения.
В самом конце этой книги перечислено порядка дюжины необходимых действий, которые в совокупности составляют управление рисками. Как вы увидите, высшее руководство строительства ДМА методично обошло своим вниманием каждое из них.
Поскольку за несданное вовремя программное обеспечение задали жару подрядчику, представляется справедливым отметить здесь, что управлением рисками должен заниматься совсем не подрядчик. Если согласиться с нашим утверждением, что данный провал значительно больше относится к управлению рисками, чем к процессу разработки программного обеспечения, то бессмысленно винить подрядчика. На самом деле, риск в размере полумиллиарда долларов дополнительного финансирования относится к более высокому уровню управления. Ответственность за управление рисками выпадает на долю той стороны, которая должна будет расплачиваться за игнорирование этих рисков.
В данном случае все издержки в конечном счете падали на головное агентство «Denver Airport System», которое было частью городского управления. Таким образом, городские власти Денвера несли ответственность за управление финансовыми рисками, к чему они не приложили ни малейших усилий.
Глава 4
Доводы в пользу управления рисками
Ни один план не выдерживает боевого столкновения с противником
На примере ДМА следует осознать, как велики потенциальные затраты, вызванные тем, что рисками не управляют. Если предыдущая глава нам удалась, то она должна была оставить у вас чувство, что вы определенно не хотите
Теперь нам нужно тщательно аргументированное рассмотрение ситуации, требующей управления рисками. Ниже мы приводим полный список аргументов в пользу того, что управление рисками должно стать составной частью вашего набора инструментов управления.