Управление рисками в разработке ПО
Управление рисками присутствует, пожалуй, в любой профессиональной деятельности, от проектирования небоскребов до продажи носовых платков. В том числе и в разработке ПО.
Такие методологии как например RUP и XP, четко описывают процесс управления рисками.
Речь в данном случае идет прежде всего о проектных рисках: изменения в требованиях, риск переноса сроков сдачи проекта, риску ухода ведущих разработчиков и т.п.
Основная цель процесса управления рисками — это изменить модель поведения. Вместо реагирования на уже наступившие риски («аврал, аврал!») мы проводим предупреждение рисков и прорабатываем сценария действия в случае наступления рискового события. Это то, что называется «be proactive».
Процесс управления выглядит в реальности очень просто: составляется список возможных рисков, оценивается вероятность их наступления и возможные последствия для проекта. Первоначальный список получить тоже несложно, благо риски разных проектов обычно похожи.
Выгода от поддержания актуального списка рисков проекта состоит в том, что это заставляет обдумывать возможные последствия в случае наступления рискового события и, при необходимости, принимать превентивные меры.
Эти меры, в свою очередь, эффективно снижают некоторые из рисков и, соответственно, повышают шансы на успех проекта.
Пример. Менеджер проекта получает информацию, что разработчики проекта получают зарплату меньше среднерыночной. Это повышает риск ухода части разработчиков до окончания работ по проекту и, соответственно, повышает риск переноса срока сдачи проекта и риск провала проекта. Менеджер может решить добиться для разработчиков 20% повышения зарплаты если посчитает, что риск превышения бюджета проекта менее опасен нежели провала или задержка проекта.
Еще пример. Разработчики решают использовать в проекте bug-tracking system так как, по их расчету, риск «потерять» важные проблемы и отсутствие внятного состояния хода проекта превышает риски задержки проекта в связи с необходимостью поддержки базы инцидентов.
Никакой, даже самый совершенный процесс управления рисками, не в состоянии контролировать (в смысле влиять на) риски. Зато он может снижать вероятность их наступления и контролировать последствия, что уже очень не мало.
Далі буде: программирование как управление рисками.
Литература:
1. Know Your Enemy: Software Risk Management (Karl E. Wiegers, 1998)
2. Amazon.com: Software Estimation: Demystifying the Black Art (Best Practices (Microsoft))
3. Amazon.com: Proactive Risk Management : Controlling Uncertainty in Product Development
10 коментарів
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.