Всякий проект влечет за собой большое число рисков, которые могут проявиться на протяжении всей работы над ним. Их проявление может быть особенно сильным в нынешней геополитической обстановке, поэтому стоит проанализировать, какие риски могут проявиться при разработке любого программного обеспечения, независимо от того, для чего оно создается.
Возможные риски можно разделить на несколько подкатегорий:
- риски, связанные непосредственно с разработкой;
- риски, связанные с заинтересованными лицами, которые участвуют в разработке;
- риски, связанные с пользователями действующей программы, которых потенциально может заменить разрабатываемое программное обеспечение;
- риски, связанные с финансовыми затратами на проект.
Первая категория – самая обширная и самая важная. В нее входят риски:
- упущения ошибок на любом из этапов проектирования;
- поломки оборудования, на котором испытывается программа;
- поломки программы;
- изменение требований к проекту во время работ над ним;
- отказ от проекта.
Во второй категории учитываются риски:
- низкой заинтересованности разработчиков;
- болезни;
- общей усталости;
- непредвиденных работ, с которыми не могут справиться другие сотрудники предприятия.
Третья подкатегория рисков проявляется крайне редко, но в текущих реалиях необходимо учитывать и такие риски:
- недовольства действующих пользователей;
- подкупа разработчиков;
- кражи оборудования и документации;
- умышленной порчи оборудования.
Финансовые риски не менее важны, чем риски, связанные непосредственно с разработкой. Среди них можно выделить две группы:
- неправильный подсчет затрат до начала работ;
- вынужденное увеличение затрат во время работ.
Полностью убрать все риски невозможно, можно лишь снизить вероятность их проявления. Главные риски, вероятность которых необходимо снижать до минимума, - те, что связаны непосредственно с разработкой. Для их снижения возможно принимать следующие меры:
- разностороннее тестирование продукта;
- подключение резервного оборудования и периодическое диагностирование действующего;
- создание четкой документации для тестирования программы;
- утверждение всех требований к продукту отдельным документом до начала работ.
Чтобы снизить финансовые риски, следует вести периодический пересчет затрат и держать резерв на случай новых расходов. Для снижения рисков, связанных с разработчиками программы, необходимо сформировать у них финансовую заинтересованность и установить приемлемые сроки, чтобы разработчикам не приходилось заниматься проектированием в нерабочее время. С пользователями действующей системы необходимо будет проводить разъяснительные беседы, а для предотвращения саботажа обратить внимание на физические меры защиты (охрана, сигнализация, видеонаблюдение и т.д.).
Все эти меры можно объединить в схему на Рис.1.
Рис.1. Меры по снижению риска