SDLC против гибких методологий при разработке ПО
Комментариев нет

SDLC против гибких методологий при разработке ПО

Проектирование, разработка и тестирование высококачественного программного обеспечения, отвечающего требованиям клиента в пределах предполагаемых временных и стоимостных ограничений, является целью жизненного цикла разработки программного обеспечения (SDLC). В качестве альтернативы, как заявил Disque (2021), жизненный цикл гибкой разработки программного обеспечения сочетает в себе итеративный и инкрементный подходы. Его основная цель — максимизировать гибкость процессов и удовлетворенность клиентов за счет своевременной доставки функционального программного решения. Такие методы, как Rapid Application Development (RAD) и Agile, постепенно заменяют старую модель жизненного цикла, представленную жизненным циклом разработки системы, потому что они лучше адаптируются к изменяющимся потребностям бизнеса и могут намного быстрее предоставить компании ощутимые преимущества.

Сравнение жизненного цикла разработки систем с гибкими методологиями разработки

Существует концептуальная модель, известная как жизненный цикл разработки системы (SDLC), которая определяет шаги, которые необходимо предпринять при создании или обновлении системы. Планирование, анализ, проектирование, внедрение и техническое обслуживание — это этапы жизненного цикла разработки систем, которые должны быть завершены, прежде чем новая или пересмотренная информационная система может быть введена в эксплуатацию. Хорошо выполненный SDLC должен дать высококачественную систему, совместимую с существующей и будущей ИТ-инфраструктурой, поставляемую вовремя и в рамках бюджета, а также обеспечивающую отличное взаимодействие с пользователем.

Например, Devadiga (2018) заявил, что система управления полетом (FCS) самолета состоит из поверхностей управления полетом, органов управления кабиной и необходимых механизмов для управления направлением полета самолета; это система управления полетом с высокой степенью риска, которая контролирует все аспекты работы самолета, чтобы обеспечить более безопасный и плавный полет. Система управления полетом является примером приложения с высокими ставками, которое требует более традиционного подхода с такими характеристиками, как оценка риска и всестороннее тестирование или моделирование (стр. 146).

Гибкая разработка

Это подход к жизненному циклу разработки программного обеспечения, при котором несколько кросс-функциональных команд, включая конечных пользователей или клиентов, работают вместе, чтобы предоставить функции и исправления, которые нужны клиенту. Это помогает с мгновенными изменениями и быстрым ростом, а также с непрерывной доставкой результатов проекта, улучшений и прогресса. Девадига (2018), например, заявил в тематическом исследовании бизнес-подразделения Microsoft Office (OBU). Состояние проекта и спрос подробно описаны ниже (стр. 143).

  • Стратегия выпуска: Microsoft предпочитала распространять продукт в виде нескольких крошечных кратковременных выпусков.
  • Сроки: первый проект должен был быть готов через год.
  • Сосредоточьтесь на программировании: усилия Microsoft в то время в значительной степени зависели от программирования или разработки и демонстрации моделей. Им это всегда удавалось.
  • Архитектура программного обеспечения и технологические процессы не беспокоили разработчиков и менеджеров.
  • Крошечные команды: в среднем команда разработчиков состояла из 10 человек.
  • Неизвестные требования к проекту: Microsoft хочет предоставить текстовому процессору как можно больше уникальных функций, не определяя объем проекта.

С учетом этих соображений для проекта OBU предпочтительнее использовать гибкую методологию, такую как экстремальное программирование (XP). Ниже приведены возможные преимущества использования экстремального программирования в этом проекте. Частота выпуска и нехватка времени: главным приоритетом Microsoft было доставить продукт потребителям как можно скорее. С XP это стало бы возможным, если сначала выпустить урезанную версию программы, а затем постепенно расширять ее возможности в последующих обновлениях.

Более того, как заявил Педамкар (nd), сравнение SDLC и Agile можно резюмировать в Таблице 1 ниже (параграф 3):

Таблица 1. Сравнение SDLC и гибкого метода

 

 

Основа для сравненияSDLCAgile
ОпределениеЖизненный цикл разработки программного обеспечения (SDLC) представляет собой набор процедур, используемых для эффективного контроля за проектами по разработке программного обеспечения.В жизненном цикле разработки программного обеспечения (SDLC) используются итеративные подходы и методологии для создания программного обеспечения.
ИспользованиеОн применяется для эффективного производства высококачественных продуктов.Как метод разработки программного обеспечения поэтапно, он доказал свою эффективность в создании надежных программ.
ЭтапыПроцесс разработки включает несколько отдельных фаз.Метод или модель его создания будет состоять из серии этапов.
ПлатформаПолезен для создания любого типа продукта или приложения.Благодаря способности разделяться на инкрементальные сборки, он может обслуживать любой продукт.
Размер проектаАдаптируем к проектам любого масштаба.Он работает хорошо для маломасштабных начинаний.
ИзмененияПосле начальных этапов проекта не допускаются значительные изменения.Для постоянно развивающихся потребностей он обеспечивает быстрые корректировки после начала проекта или в любое время его выполнения.
ПодходРазличные используемые методологии дают различные результаты.Метод его роста основан на реализме.
УправлениеВсе зависит от используемого метода.В рамках гибкой методологии управление проще.
ГибкостьВ зависимости от выбранной методологии определяется, насколько хорошо используется водопадная, гибкая или унифицированная модель.Разработчики и вся команда могут воспользоваться ее адаптируемостью.

 

Обратная сторона гибкой разработки программного обеспечения

Фридман (2016) утверждает, что гибкие подходы имеют несколько недостатков (параграф 5).

  • Во-первых, более низкая предсказуемость: при создании программного обеспечения разработчики не всегда знают, сколько времени и ресурсов потребуется, особенно в самом начале. Это заставляет людей делать неправильный выбор и вести себя плохо.
  • Во-вторых, нам придется уделять больше времени и усилий, потому что Agile поощряет постоянный диалог между заказчиками, программистами и специалистами по обеспечению качества. Разработчики не могут перейти к следующему этапу проекта, не получив отзывов клиентов о предыдущем. На все нужно больше усилий и времени.
  • В-третьих, неадекватная документация, поскольку клиенты указывают свои требования на каждом этапе, а разработчики слишком заняты созданием продукта, чтобы документировать тонкости. Когда в проект добавляются новые люди, у них меньше доступа к информации, что может привести к еще большей путанице и проблемам.

Чтобы избежать обреченного проекта, клиенты должны предоставить точные инструкции. Если разработчики не получают адекватной обратной связи, отсутствие отзывов клиентов может привести к неверным предположениям и упущенным возможностям роста.

Заключение

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

 

Ссылка

Диск (2021, 9). Учебное пособие по методологии Agile для начинающих: официальное видео о том, как работает Agile. YouTube.

Девадига, Н (2018) «Пример определения жизненного цикла разработки программного обеспечения и структуры процесса», Международный журнал передовых инженерных исследований и науки, 5 (7), стр. 143–147. Доступно по ссылке: https://doi.org/10.22161/ijaers.5.7.21 .

Фридман (2016, 6 мая). Огромный недостаток гибкой разработки программного обеспечения. Огромный недостаток гибкой разработки программного обеспечения.

Педамкар, П (nd). SDLC против Agile. SDLC против Agile.

 

bpmDevadigaDisqueRADRapid Application DevelopmentSDLCАgileВнедрение программывремя и ресурсыГибкие методологиидокументацияжизненный цикл разработкиинкрементный подходитеративный подходКонкурентное преимуществоМетодология Ройсанедостатки AgileОбъем проектапредсказуемостьпреимущества гибких методологийПрограммное обеспечениеРазработка ПОразработка программного обеспеченияУправление бизнес-процессамиУправление проектами

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

<