Сравнение гибких методологий и SDLC в разработке ПО
Хотя оба они применимы в разных ситуациях и средах, важно различать жизненный цикл разработки систем (SDLC) и методологии Agile, используемые в бизнесе.
Этапы методологии SDLC и их преимущества
Методологии SDLC, также известные как «водопад», были разработаны в середине 20-го века, и, согласно Bourgis et al (2019) — это «очень структурированные и не склонные к риску методологии, предназначенные для управления крупными проектами, включающими несколько программистов и систем, оказывающих большое влияние на организацию» (стр. 202). Структура этих методологий, как правило, представляет собой нисходящий набор фаз или действий, которые должны быть последовательно завершены, т. е. каждая фаза или действие в процессе должны быть завершены до завершения последующей фазы (Лин, 2011, с. 1).
В этом смысле методологии SDLC имеют линейную форму и, соответственно, часто описываются как жесткие и негибкие (Bourgis et al., 2019, стр. 204).
Этапы методологии SDLC несколько различаются от проекта к проекту, но обычно включают: (1) предварительный анализ, (2) системный анализ, (3) проектирование системы, (4) программирование и (5) тестирование (стр. 203-203). 203).
Важно отметить, что традиционные методологии, такие как SDLC, «требуют определения и документирования стабильного набора требований в начале проекта» (Leau et al., 2012, стр. 162); и хотя это означает, что для успеха проекта необходимо знать все системные требования до начала фазы программирования, «это также упрощает определение стоимости проекта, установление графика и соответствующее распределение ресурсов» (стр. 163).
В общем, методологии SDLC предназначены для крупных проектов; последовательны, хорошо структурированы и методичны; жесткие; и облегчить прогнозирование затрат.
Ключевые принципы гибкой разработки
В отличие от методологий SDLC, методологии Agile более гибкие, поэтапные и итеративные. Действительно, основная цель Agile-методологий, как следует из названия, заключается в том, чтобы быть гибкими, быстрыми и реагирующими на изменения (Lin, 2011, стр. 1).
Как отмечают Leau et al (2012), «Гибкая разработка основана на идее поэтапной и итеративной разработки, при которой фазы жизненного цикла разработки пересматриваются снова и снова. Он итеративно улучшает программное обеспечение, используя отзывы клиентов для согласования решений» (стр. 163).
Гибкие методологии основаны на четырех основных принципах или факторах: (1) раннее вовлечение клиентов, (2) итеративная разработка, (3) самоорганизующиеся команды и (4) адаптация к изменениям (стр. 163). Однако, помимо дескрипторов, основные практические различия между методологиями Agile и SDLC заключаются в следующем: методологии Agile обладают «способностью быстро и недорого добиваться успешных результатов в сложных проектах с плохо определенными требованиями» (стр. 163). Точно так же «гибкие методы делают упор на команды, работающее программное обеспечение, сотрудничество с клиентами и реагирование на изменения; в то время как традиционные методы делают акцент на контрактах, планах, процессах, документах и инструментах» (стр. 163).
Трудности с Agile
Несмотря на то, что быстрота и гибкость кажутся очень важными и желательными характеристиками в быстро меняющейся бизнес-среде, тот факт, что методологии Agile предназначены для обеспечения указанных характеристик, не означает, что сама методология может быть прна без труда или что методология не имеет никаких ограничений. недостатки. Университет Миннесоты (г.), например, отмечает, что Agile-коммуникация в рамках Agile требует значительно больше времени и энергии; и что гибкость Agile может сделать его результаты менее предсказуемыми; что отсутствие структуры может легко привести к срыву проектов (пункт 11) — по существу, скорость и гибкость достигаются за счет значительных инвестиций в сложные методы управления.
Ссылки
Бургуа, Д.Т., Смит, Дж.Л., Ван, С., и Мортати, Дж (2019). Информационные системы для бизнеса и не только (2019). Фонд Сэйлора.
Леу, Ю. Б., Лу, В. К., Там, В. В., и Тан, С. Ф (2012). Жизненный цикл разработки программного обеспечения AGILE против традиционных подходов. В Международной конференции по информационным и сетевым технологиям (том 37, № 1, стр. 162-167).
Лин, Дж. К (2011). Различные подходы системного анализа и проектирования. Различные подходы системного анализа и проектирования, 11.
Миннесотский университет (11 г.). Гибкая методология: преимущества и недостатки.