Основанный на моделях поиск рисков в вашей системе

Image: stevepb

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

Категории рисков

На просторах интернета вы найдете много определений и классификаций рисков. В рамках этой статьи мы будем понимать под риском вероятное событие или группу событий с неблагоприятными для вашей системы последствиями. Если такое событие наступает, говорят о реализации риска.

На основе своего опыта я выделяю следующие категории риска: 

Риск выбора неработоспособной бизнесмодели. Собственно говоряэто главный риск всех стартапов. А вдруг ваша замечательная идеяне взлетит”?

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

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

Ещё большее сожаление вызывает тот факт, что во многих странах мира, особенно в США, появляется все больше и больше «фирмпаразитов», которые занимаются провоцированием ошибок либо просто юридическим «нажимом» в попытках извлечь из фирмыжертвы деньги либо ослабить её (вплоть до вытеснения с рынка) по заказу конкурентов. При этом основной их мишенью становятся как раз технические и организационные слабые места, недостаточно продуманные решения.

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

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

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

Риски бизнеспроцесса в основном заключаются в слишком оптимистических предположениях о работе партеров, морали клиентов, надёжности внешних служб и сервисов. Для соответствующих шагов вашего бизнеспроцесса хорошо бы знать типичные квоты отказов. Например, какова вероятность того, что в регионе Х пользователи товар получат, но будут сознательно декларировать дефект? Что будет, если почта потеряет письмо или посылку? Как часто банки перечисляют деньги не туда? Как вы будете компенсировать эти негативные эффекты? Не может ли случиться так, что с трудом накопленная в тысячах мелких сделок прибыль испарится при первом же судебном процессе?

О рисках: пара примеров из жизни

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

А вот пример предложения, которое я нашёл сегодня ( и много раз находил подобное раньше) в спаме моего сайта:

Готовы предложить результативный вариант для ликвидации онлайнсайта вашего конкурента.
Применяются лучшие технологии:
Устраняем сайты по любым ключам.
Делаем тысячи спамных беклинков.
Спамим главный электронный ящик организации письмами регистраций на мошеннических ресурсах
Устранение позиций сайта в поисковике по любым коммерческим ключам.
Секретная методика. Десятилетний опыт работы.
Гарантия возврата денег через 3 месяца.
– 100%
отчётность.
Полная секретность заказов. Никто про вас и нашу деятельность не узнает.

Стоимость 6000py.
Полная отчётность.
Оплата: Qiwi, Yandex.Money, Bitcoin, Visa, MasterCard…

Основанное на моделях обнаружение рисков

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

При этом идея весьма проста. Все риски делятся на общесистемные ( в моей классификации это только риск из первой категории). Все остальные риски связаны с какимито конкретными аспектами поведения вашей системы. 

Например, если вы храните персональные данные европейцев, вы потенциально рискуете получить за это штраф, если делаете это неправильно. И этот риск связан с частью поведения вашей системы, где вы сохраняете данные пользователей. Если ваша облачная система плохо защищена, то с помощью DDoS-атаки ваши неприятели могут спровоцировать огромный расход ресурсов, а вам придётся этот расход оплатить. Этот риск связан с поведением вашей системы, касающейся авторизации и валидация входных данных. 

Систематическое обнаружение рисков на основе моделей заключается в последовательном анализе всех элементов поведения вашей системы (в UML это Activities и Actions). На основе матрицы релевантности можно выделить элементы поведения, где риски возможны. Ну а далее для каждого такого идентифицированного элемента на основании рекомендаций решить, насколько риск серьёзен и как его можно минировать.