СОВРЕМЕННЫЕ ТЕХНОЛОГИИ РАЗРАБОТКИ ПО Лекция 6: Управление рисками Что такое риски? • Разработка продукта протекает в условиях неопредлённости • Сюрприз может ожидать с любой стороны: • самоуверенность: что-то не учли - требования, реализуемость этих требований • непредсказуемость: что-то произошло/изменилось в мире - изменились требования, технологии, рынок, команда • Риск – неопределённое событие или условие, осуществление которого влияет на исход проекта • (позитивно или негативно) 2 Риски vs. Проблемы • Риск (негативный) – потенциальная угроза • может остаться нереализованной • Проблема – сработавший риск • влияние уже оказано • Задача управления рисками – меры по их смягчению • предотвращать (снижать вероятность) • уменьшать оказываемый эффект 3 А если не управлять? • Спонтанность – вместо плана • Внезапный кризис – вместо готовности к нему • Реальные проблемы – вместо их профилактики • Латание дыр – вместо заблаговременно отработанной системы мер 4 Какие варианты? • Постоянный контроль, строгие процедуры • Project Management Body of Knowledge (PMBoK) – свод знаний по управлению проектами • Microsoft Solutions Framework – методология разработки • Гибкость, оттягивание окончательных решений • Экстремальное программирование 5 Экстремальное программирование Экстремальное программирование • Нет «тяжёлых» формальных процедур • Готовность к изменениям по ходу проекта • Борьба простыми средствами против распространённых рисков: • Требования: - заказчик тесно участвует в проекте, - окончательные решения – тянем до последнего • Ошибки: - тестирование кода • Сопровождаемость (качество кода): - парное программирование 7 Project Management Body of Knowledge PMBoK • Свод знаний по управлению проектами • Упор на процессы: • • • • • • Планирование управления рисками Идентификация рисков Качественная оценка рисков Количественная оценка рисков Планирование ответных мер Мониторинг и контроль 9 Microsoft Solution Framework Risk Management Discipline MSF Risk Management Discipline •Основана на PMBoK •Дисциплина управления рисками: • Пронизывает все процессы и стадии • Ставка на интенсивную профилактику 11 MSF RMD: 1. Выявление рисков • Исходные данные: • • • • • опыт команды классификация релевантных рисков имеющиеся политики и процедуры спецификации, статус проекта база знаний по рискам • Результат: • список описаний рисков (Risk Statements) 12 Источники рисков • People • • • • • • • • • Customers End-users Sponsors Stakeholders Personnel Organization Skills Politics Morale • Process • • • • • • • • Mission and goals Decision making Project characteristics Budget, cost, schedule Requirements Design Building Testing 13 Источники рисков • Technology • Security • Development and test environment • Tools • Deployment • Support • Operational environment • Availability • Environmental • • • • • • Legal Regulatory Competition Economic Technology Business 14 Классификация рисков MSF RMD ссылается на классификации: • Barry Boehm • Caper Jones • Steve McConnel • SEI Software Risk Taxonomy 15 Описание рисков •Предлагается использовать Risk Statements: • описание по схеме: - первопричина – (условие – последствия) – итоговая цена 16 Примеры Risk Statements 17 MSF RMD: 2. Анализ и приоритезация • Анализ позволяет собрать и подготовить данные и оценки по выделенным рискам • Приоритезация – ранжирование рисков по важности • Результат: • Список рисков по приоритетам • Risk Statement Forms – информация по каждому риску • Список неактивных рисков 18 Оценка вероятности 19 Оценка масштаба 20 Оценка степени воздействия • Мера общей угрозы, исходящей от риска: • Интегральная характеристика • Вероятность x Масштаб • Градация: • низкая степень – 1 или 2 • средняя – 3-5 • высокая – 6-9 21 Оценка степени воздействия: продвинутый вариант Ranking value = 0.5 x (Probability x Impact) – 0.2 x (When needed) + 0.3 x (Control cost x Probability control will work) 22 Список рисков по приоритетам 23 Risk Statement Forms • Вспомогательная аналитика по рискам: • • • • • • • • • ID риска Источник риска (классификация) Условие Последствия Вероятность Тип классификации по масштабу Масштаб Контекст Подобные риски 24 MSF RMD: 3. Планирование рисков • Разработка детальных планов по контролю важнейших рисков • Результаты: • Корректировка списка приоритетов • План действий по каждому риску • Сопутствующие коррективы в проектный план 25 Действия по планированию • Брать самые серьёзные риски • Внимание на условие риска • снижаем вероятность • Искать первопричины (а не симптомы) • Внимание на последствия • минимизируем масштаб воздействия • Определив первопричину, посмотреть на похожие ситуации в других местах • Учитывать взаимосвязи между рисками 26 План действий по риску • Альтернативные меры: • • • • • Исследовать Принять как данность Избежать Передать (кому-то, куда-то) Профилактика - снизить вероятность или масштаб • Преодоление - триггеры – как понять, что риск проявился - плановые меры, уменьшающие масштаб 27 MSF RMD: 4. Мониторинг • Отслеживание рисков и триггеров • Триггеры: - количество открытых багов - среднее число часов переработки (в неделю) - количество изменений в требованиях (в неделю) • Статус риска: - риск устранён, - следование по плану или отклонения от него, - существенное изменение ситуации, нужен пересмотр • Соблюдение планов по смягчению и предотвращению рисков • Информирование команды 28 MSF RMD: 5. Коррекция • Сработали триггеры • Команда принимает меры в соответствии с планом по преодолению риска • Цель – убедиться, что все необходимые меры реализованы по плану • дополнительно собирается информация по ходу реализации мер – для пополнения базы знаний 29 MSF RMD: 6. Извлечение уроков • Контроль качества имеющихся процедур • Пополнение базы знаний • знания в области идентификации рисков - новые (непредвиденные) риски • успешные стратегии снижения рисков • Улучшение процесса управления рисками 30 Ссылки • Почитать про управление рисками в разработке ПО: • «Вальсируя с медведями», Т.Листер, Т. ДеМарко http://lib.rus.ec/b/106831 • Экстремальное программирование • книга Кента Бека http://lib.rus.ec/b/101297 • MSF Risk Management Discipline v1.1 (англ.) • http://www.microsoft.com/enus/download/details.aspx?displaylang=en&id=721 • SEI Software Risk Taxonomy (англ.) • http://www.sei.cmu.edu/reports/93tr006.pdf • Анализ рисков: • разбор нескольких подходов к приоритизации рисков (англ.) 31