Почему и как управлять рисками при разработке программного обеспечения
Опубликовано: 2021-10-05В этой статье мы обсуждаем подходы к управлению рисками в процессе разработки программного обеспечения. Мы также обращаем внимание на важность управления рисками с точки зрения бизнеса и развития и даже приводим пример плана управления рисками.
12 ноября 2019 года Disney запустила Disney Plus, стриминговый сервис, похожий на Netflix, с оригинальным контентом. Тысячи пользователей были готовы платить 7 долларов в месяц или больше, чтобы наслаждаться контентом Pixar, Marvel, Star Wars и многих других франшиз.
Заинтересованные зрители были разочарованы тем, что в течение нескольких дней смотрели экраны с отключенными экранами вместо контента, за который они заплатили. Жалобы варьировались от трудностей со входом в систему до невозможности трансляции, сбоев приложений, исчезновения шоу и фильмов из библиотеки.
Disney объяснил эти проблемы тем, что спрос превзошел ее «высокие ожидания».
Это классический пример плохого управления техническими рисками при разработке программного обеспечения .
Мог ли Disney избежать этих отключений? да.
Можно ли избежать подобных проблем? Также да.
В этой статье мы углубимся в вопросы управления рисками и снижения рисков при разработке программного обеспечения.
Важность управления рисками
Каждый бизнес уникален, и не все риски можно полностью предвидеть. Но есть несколько подходов, которые помогут вам выявить узкие места, рассчитать вероятность возникновения рисков и спрогнозировать негативные последствия, если они возникнут.
Управление рисками - это сложный набор действий, которые предприятия могут выполнять, чтобы избежать или смягчить последствия рисков.
Цель управления рисками - узнать, что может пойти не так, почему может пойти не так, каковы будут последствия, если это произойдет, и как это исправить. Предупрежден - значит вооружен.
Преимущество правильного управления рисками состоит в том, что это помогает бизнесу меньше страдать, даже когда риск материализуется.
Управление рисками может дать следующие преимущества:
- Снижение затрат за счет сокращения расходов на предсказуемые и предотвратимые чрезвычайные ситуации
- Возможность работать быстрее, позволяя командам разработчиков сосредоточиться на разработке, а не на устранении непредвиденных проблем.
- Более разумные расходы за счет отсутствия необходимости привлекать дополнительное финансирование для решения непредвиденных проблем
- Лучшая репутация, гарантируя клиентам, что у вас все под контролем даже в чрезвычайной ситуации
Виды рисков
Неопытный предприниматель надеется, что с его бизнесом ничего плохого не случится. Опытный предприниматель знает, что случится что-то плохое, и заранее готовится к этому.
Так что же могло пойти не так? В принципе, ничего. Различные подходы к управлению рисками охватывают различные типы рисков. Наиболее распространенные категории рисков для бизнеса:
Человеческие риски . Внезапная болезнь, беременность, арест, смерть или смена карьеры члена команды могут привести к многочисленным последствиям, от задержек в работе до делегирования функций другим членам команды.
Расположение или географические риски - у каждого места есть свои специфические проблемы, такие как климат, политическая ситуация, часовой пояс и рабочие традиции, которые могут повлиять на рабочий процесс.
Стратегические риски - такие вещи, как проблемы планирования, выбор неправильной стратегии и плохое управление, нельзя предвидеть с первого дня, но их обязательно следует рассматривать как основной фактор риска.
Операционные или управленческие риски - они очень близки к стратегическим рискам, но больше касаются исполнения: проблемы с внедрением, неправильные рабочие зависимости, плохое управление, медленное принятие решений, неправильная расстановка приоритетов и многие другие операционные проблемы могут задержать развитие бизнеса или стоить целое состояние. превосходить.
Правовые риски - хорошо изучать законы и постановления отдельных регионов, по крайней мере, чтобы узнать, можно ли там вести бизнес. Кроме того, законы имеют тенденцию меняться, что часто может привести к налоговым изменениям и проблемам с формализацией. Юридические риски также включают изменения правил и положений для бизнес-платформ, таких как Amazon, Apple App Store и Google Play.
Технические риски . Выбранная технология может идеально выглядеть на бумаге, но вести себя иначе в действии. Постоянные обновления, изменения в операционной среде, проблемы с обслуживанием и многие другие технические аспекты могут иметь большое влияние на бизнес.
В зависимости от типа бизнеса могут появиться многие другие факторы риска, а перечисленные выше факторы могут измениться. Но знание этих рисков поможет вам выбрать подходящую стратегию управления рисками.
Стратегии управления рисками
Подходы к управлению рисками различаются в зависимости от множества факторов, но вот некоторые из наиболее распространенных стратегий управления рисками:
Избежание риска
Это радикальная стратегия, при которой бизнес отказывается идти на риск и отказывается выполнять какую-либо деятельность.
Есть виды рисков, когда цена ошибки слишком высока. Например, если вы знаете пределы технических возможностей решения, не стоит перегружать его высоконагруженным проектом. В этом случае стоимость отказа может быть выше возможной выручки.
Короче говоря, иногда нормально не заниматься бизнесом, чтобы не потерпеть неудачу.
Плюсы: Быстрая реализация - вы просто отклоняете или принимаете действие.
Минусы: оставьте потенциальный доход на столе.
Подходит для: компаний с несколькими филиалами и источниками дохода.
Используйте, когда: ущерб от возможного риска больше, чем возможная прибыль от деятельности.
Снижение риска
Это стратегия уменьшения негативных последствий, а не их полное предотвращение.
При ведении бизнеса, более сложного, чем продажа лимонада на переднем дворе, вы можете столкнуться с проблемами, которых не избежать. В этом случае рекомендуется выявить и смягчить последствия этих рисков.
Это работает для известных конкретных рисков, особенно в программных проектах. Предупредите клиентов о предстоящих проблемах или предложите временное решение. Клиенты могут не уйти довольными, но, по крайней мере, они почувствуют вашу заботу о них . Например, McDonald's выдает купон на бесплатное мороженое, если вы ждете заказа более 90 секунд.
Плюсы: вы не тратите свои ресурсы на устранение риска. Вместо этого вы работаете с его последствиями, пытаясь сделать их менее серьезными, что часто бывает намного проще.
Минусы: вам и вашему клиенту еще предстоит столкнуться с негативными последствиями риска.
Подходит для: компаний с постоянными клиентами, компаний, которые чувствительны к срокам, поставщиков услуг.
Используйте, когда: полностью избежать риска невозможно, но услуга должна быть доставлена вовремя; аварийные ситуации.
Передача риска
Используя эту стратегию, вы платите кому-то другому, чтобы он справился с негативными последствиями.
Если ваш бизнес не может справиться с определенным риском, обратитесь за помощью. Это может быть очень дорогостоящим подходом к управлению рисками при разработке программного обеспечения, но результаты могут оправдать ожидания клиента и сохранить ваш бизнес на пути к успеху. Это также хорошо в контексте освобождения вашей команды от грязной работы, которую они не хотят выполнять, что приводит к лучшей концентрации и в результате к лучшему качеству.
Плюсы: просто и в основном быстро в исполнении.
Минусы: может стоить целое состояние, и у вас будет меньше контроля над частью вашего бизнеса.
Подходит для: предприятий с высокой нагрузкой на некоторые из компонентов или для реализации функций, для которых у вас нет большого опыта.
Используйте, когда: действие должно выполняться хорошо и быстро, без времени на приобретение собственного опыта или обучение собственных профессионалов.
Принятие риска
Как следует из названия, с помощью этой стратегии вы просто принимаете все негативные последствия риска.
Возможны случаи, когда прибыль от хозяйственной деятельности намного превышает влияние возможного риска. В этом случае для бизнеса нормально просто принять риск. Но пользователей следует предупредить о последствиях принятия риска.
Microsoft использует эту стратегию, когда прекращает поддержку старых версий продуктов, таких как Windows XP.
Плюсы: Практически не требует ресурсов.

Минусы: вы получаете все негативные последствия.
Подходит для: Созданных компаний, где внедрение новых функций важнее поддержки старых.
Использовать, когда: действие не причиняет вреда большинству пользователей или когда выгода от выполненного действия для пользователя выше, чем возможные неудобства.
Обратите внимание, что ни одна из этих стратегий не является панацеей. Любой другой вид риска может сопровождать технологический риск и повлиять на результат вашей работы. И в большинстве случаев стратегия управления рисками для конкретного проекта будет представлять собой смесь вышеперечисленных стратегий с учетом особых аспектов бизнеса.
Как управлять рисками с помощью гибкой методологии (пример)
Вот как может выглядеть стратегия управления рисками разработки программного обеспечения в Mind Studios.
Этап 1. Выявление риска
Когда: На этапе оценки проекта
На этом этапе менеджер проекта собирает команду разработчиков и дизайнеров для мозгового штурма, выявляя все возможные риски и то, что может их спровоцировать.
Необходимые шаги:
- Вспомните проблемы, которые были у нас в предыдущих проектах; попытаться обнаружить все известные неизвестные
- Определите области, в которых возможны любые виды рисков в этом конкретном проекте.
- Оцените влияние каждого фактора, с которым мы можем столкнуться при разработке продукта.
Этап 2: анализ и оценка рисков
Когда: сразу после стадии оценки проекта
На этом этапе риски идентифицируются и затем классифицируются. Здесь руководители проектов также анализируют возможное влияние риска и вероятность его возникновения. На этом этапе хорошо принимать во внимание сложность проекта, качество тестирования и зависимости между командами разработчиков.
Результатом этого этапа является список определенных последствий для каждого вида риска:
- Возможные убытки для заказчика
- Возможные проблемы для бизнеса
- Репутационные потери
- Правовые вопросы
Этап 3. Создание плана управления рисками и согласование его с клиентом.
Когда: Незадолго до начала разработки
На этом этапе менеджеры проектов формализуют деятельность по управлению рисками в планах. Обычно план управления рисками для проекта представляет собой таблицу со следующими столбцами:
- Определение риска
Мы определяем проблемы, которые могут возникнуть, и описываем их одним коротким предложением. Определение должно быть ясно понято даже с первого взгляда, поэтому мы стремимся описывать проблему как можно короче: «недостаток мощности сервера», «невозможность загрузить пользовательский контент», «задержка выпуска Play Store» и тому подобные описания. ясно и сосредоточиться на проблеме.
- Курок
Мы описываем, как узнать, материализовался ли риск. Что именно расскажет нам о проблеме и как она может выглядеть? Если триггер может поступать из разных источников, мы должны назвать их все. Это нормально - расставить приоритеты в списке источников триггеров по вероятности или значению.
- Вероятность (оценка)
Мы определяем возможность возникновения риска. В зависимости от количества и важности возможных рисков мы предлагаем максимальную и минимальную оценку - например, 100 и 1. Более вероятный риск получает более высокий балл.
- Воздействие (оценка)
В этом столбце мы оцениваем серьезность каждого типа риска.
- Значение (оценка)
Мы определяем, насколько значительным является конкретный риск для проекта. Чем больше число, тем выше приоритет. В Mind Studios мы обычно определяем ценность риска, умножая его влияние и оценку вероятности. Но вы можете определять это значение по своему усмотрению, исходя из требований и особенностей вашего бизнеса.
- Основная стратегия
Мы называем основную стратегию или подход, который мы собираемся использовать для управления риском, например, передать, смягчить или принять.
- Альтернативная стратегия (если есть)
В случае, если основная стратегия неприемлема, мы называем вторичную стратегию. Например, если риск не может быть передан в данный момент, мы можем запустить процесс смягчения. Мы рекомендуем создавать как можно больше стратегий для каждого вида риска.
- План действий по выбранной стратегии
Это наиболее подробная часть стратегии, где мы создаем пошаговое руководство по ее реализации. В результате мы должны получить четкий план того, что мы будем делать в случае возникновения любого вида риска. Мы нумеруем шаги, включаем контакты вовлеченных и ответственных людей и записываем каждый шаг максимально четко и подробно.
Мы создаем планы действий для всех основных и альтернативных стратегий, которые мы рассматриваем для наших проектов.
Вот пример плана управления техническими рисками, который мы используем в Mind Studios:
[Google Таблицы]
Этап 4. Мониторинг рисков
Когда: На заднем плане с первого дня; проверять после каждого спринта разработки
Нет никакой гарантии, что решенный риск больше не возникнет. Поэтому мониторинг рисков необходимо включить в перечень мероприятий для программных проектов. Триггеры также можно определить из отзывов пользователей и отчетов по обеспечению качества. Включите мониторинг рисков в каждый дальнейший спринт разработки.
Все действия по управлению рисками должны быть согласованы с клиентом, особенно при аутсорсинге разработки программного обеспечения. Все затраты, вероятности материализации и степени серьезности должны быть как можно более ясными - клиент должен знать, за что он платит и кто несет ответственность за каждый вид риска. Найдите приемлемый компромисс с ожиданиями клиента и его бюджетом .
Бизнес риски
Разговор об управлении рисками не может быть полным без упоминания бизнес-рисков. Хорошо, когда вы справились с рисками проекта, подобными упомянутым выше. Но представьте, что вы находитесь в середине разработки и обнаруживаете, что ваш конкурент собирается выпустить аналогичный продукт быстрее или с отличной функцией. Попадание в такую ситуацию означает, что вы забыли позаботиться о своих бизнес-рисках, даже если вы также не очень хорошо справлялись с рисками, связанными со своим проектом?
Бизнес-риск - это что-либо за пределами вашего бизнеса, которое угрожает целям или задачам вашего бизнеса. Это может быть внезапное изменение со стороны конкурента, регулирующего органа или в экономике - или любое другое изменение.
Управление бизнес-рисками включает в себя множество других шагов и этапов, о которых стоит посвятить отдельной статье. Но вот несколько общих советов:
- Следите за рынком
Наличие блестящей бизнес-идеи не гарантирует, что у кого-то еще нет аналогичной идеи. Регулярно проводите маркетинговые исследования и аналитику, чтобы знать состояние рынка и следить за своими потенциальными и активными конкурентами.
- Работайте над тем, чтобы ваш продукт соответствовал рынку
Будьте уверены, что ваш продукт удовлетворит высокий рыночный спрос. Если новые рыночные условия влияют на эффективность вашего бизнеса, вам следует пересмотреть соответствие вашего продукта рынку. Будьте гибкими не только в разработке продукта, но и в развитии бизнеса. Улучшайте, вводите новшества и без колебаний меняйте направление.
Снижение рисков при разработке программного обеспечения: выводы
В целом, правильное управление рисками помогает вам сосредоточиться на работе над продуктом. При правильном управлении рисками больше ресурсов направляется на создание более функциональных и качественных продуктов, а не на преодоление последствий рисков.
Разработчики, которые занимаются управлением рисками, могут больше работать над тем, что им нравится, а владельцы бизнеса, которые занимаются управлением рисками, получают более счастливых клиентов, лучшую репутацию и больше места для творчества.
Вам все еще интересно, как управлять рисками в вашем конкретном бизнесе? Мы можем помочь!
Если вас беспокоят риски, связанные с вашими программными проектами, менеджеры проектов Mind Studios будут рады поделиться своим опытом! Связаться.
Авторы Тимур Солод и Александр Васильев.