Риски при разработке программного обеспечения: как с ними справляться?
- Бюджет: риск превышения выделенного на проект бюджета. Пожалуй, это самая распространенная ошибка при разработке программного обеспечения, которая влечет за собой другие ошибки.
- Кадры: риск потери или нехватки членов проектной команды. Даже если эта проблема длится недолго, она может привести к ошибкам и задержке сроков.
- Знания: команда может иметь лишь узконаправленные знания, или неверно передавать между собой информацию. В этом случае членам команды приходится переучиваться, что приводит к дополнительным тратам сил, времени и ресурсов.
- Продуктивность: этот риск чаще всего угрожает долгосрочным проектам. Большой запас времени порой приводит к медленной и непродуктивной работе.
- Время: при разработке программного обеспечения очень распространены задержки релизов продукции, что является результатом неправильного планирования, крайне сжатых сроков и неспособности разработчиков адаптироваться к меняющимся требованиям по отношению к продукту.
Методы управления рисками при динамичной разработке ПО
Метод динамичной разработки ПО учитывает большинство вышеуказанных рисков. Тем не менее, даже в среде гибкой разработки от них не застрахован никто: риски возникают из-за ошибок проектной команды, неверного планирования, сбоев в рабочем процессе и неожиданных изменений в процессе работы над продуктом. Давайте рассмотрим способы управления этими рисками.-
- Бюджет
Решение: планирование методом «набегающей волны» Цели и задачи по разработке ПО могут меняться в процессе его создания, и для того, чтобы продукт оставался жизнеспособным, необходимо уметь подстраиваться под возможные изменения. Именно для этого существует планирование методом «набегающей волны». Команды принимают решения по продукту по мере продвижения работы, вместо того, чтобы разрабатывать подробнейший план действий на самом старте проекта. Действенные решения, принятые на основе новых знаний о развитии продукта, снижают вероятность рисков, связанных с бюджетом, так как команде не нужно тратить время и ресурсы на повторное планирование. Тем не менее, в начале работы очень важно составить бюджетный план, в котором будут учтены все возможные затраты на проект. Многие компании недооценивают стоимость разработки функционального ПО и допускают ряд ошибок в расчете бюджета.
- Кадры/Знания
Решение: разбить разработчиков на небольшие группы Идеальная команда для разработки ПО – несколько групп по 10-12 человек, которые совместно планируют проект, делятся друг с другом опытом, выполняют проверку кода и сообща работают над задачей от начала до конца. Разработчики должны обладать максимальным объемом знаний, что помогает решать проблемы, связанные как с персоналом, так и с риском нехватки нужных знаний. Также у команды должна быть возможность беспрепятственно выполнять работу в том случае, если один из ее членов временно отсутствует или покинул команду.
- Продуктивность
Решение: разработка на основе спринтов Спринты – это краткосрочные этапы разработки с целью создания демо-версии продукта в заданные сроки (1-2 недели). Они служат для обозначения правильных целей и задач для проектных команд и позволяют увидеть промежуточные результаты работы. Это придает разработчикам уверенности в правильности создания продукта, и позволяет придерживаться нужной скорости выполнения задачи.
- Время
Решение: правильная организация процесса Ошибки, связанные с нехваткой времени, могут возникнуть из-за неправильного планирования рабочего процесса или излишней уверенности в его успешном протекании. Процесс должен быть гибким, чтобы разработчики могли быстро адаптироваться к меняющимся требованиям, имели возможность быстро предоставлять исправленный продукт заказчику, и могли точно определять количество времени, необходимое для выполнения той или иной задачи.
- Бюджет