ПоставщикамБлог

Agile-метод управления жизненным циклом приложения

Agile-метод управления жизненным циклом приложения

Гибкая методология разработки (англ. Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности экстремальное программирование, DSDM, Scrum, FDD.

Большинство гибких методологий нацелены на минимизацию рисков путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся две-три недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, программирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации команда выполняет переоценку приоритетов разработки.

Гибкое управление жизненным циклом приложения (Agile ALM) - это все инструменты и процессы, которые используются для управления проектами разработки ПО на основе гибкой методологии. В традиционной каскадной модели разработки используется фазовый подход к жизненному циклу разработки. Данный подход означает, что никакая фаза проекта не начинается раньше, чем закончится предыдущая. К примеру, дизайн не начинается прежде, чем закончится сбор требований. Разработка не начинается, пока не завершится дизайн. Тестирование не начинается, пока полностью не закончится разработка. Существует множество инструментов, позволяющих управлять тем, что на входе и выходе у каждой фазы.

Agile-методы делают упор на непосредственное общение лицом к лицу. Большинство agile-команд расположены в одном офисе, иногда называемом англ. bullpen. Как минимум, она включает и «заказчиков» (англ. product owner — заказчик или его полномочный представитель, определяющий требования к продукту; эту роль может выполнять менеджер проекта, бизнес-аналитик или клиент). Офис может также включать тестировщиков, дизайнеров интерфейса, технических писателей и менеджеров.

Основной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объём письменной документации по сравнению с другими методами. Это привело к критике этих методов как недисциплинированных.

Наиболее популярные продукты категории Agile-метод управления жизненным циклом приложения Все продукты категории

F.A.Q. Agile-метод управления жизненным циклом приложения

Agile ALM объединяет две, казалось бы, противоречивые стратегии развития. Agile обеспечивает гибкость, быстрые циклы выпуска и быструю реакцию на изменения. В управлении жизненным циклом приложений (ALM) особое внимание уделяется отслеживанию и документированию изменений в приложении - от его создания до выхода на пенсию. Его процессы более контролируемы и менее адаптивны, чем методология Agile. При этом Agile и ALM, собранные вместе, действуют как дополнения, делая ALM более гибким, а Agile - более дисциплинированным.

Что такое Agile ALM?

Эксперт по развитию Иветт Франсино описала Agile ALM как инструменты и процессы ALM, которые используются для управления проектами разработки программного обеспечения Agile. Например, вместо поэтапного подхода Waterfall, Agile ALM предлагает подход к разработке программного обеспечения, в котором дизайн, код и требования обрабатываются одной и той же командой.

Как вы интегрируете Agile в среду ALM?

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

Существуют ли инструменты, которые могут помочь мне достичь этого?

Инструменты ALM широко доступны, но их следует выбирать с осторожностью, считает Иветт Франсино, участник SearchSoftwareQuality. Организации должны искать инструменты, которые облегчают процесс, не препятствуя принятию изменяющихся требований. Они также должны будут интегрироваться на протяжении всего жизненного цикла приложения и быть простыми в обслуживании. Другими словами, инструмент должен управлять процессом разработки гибким способом. В статье для SearchSoftwareQuality.com Эми Рейхерт предлагает список инструментов Agile ALM и определяет их сильные и слабые стороны. Rally Software, например, предлагает продукт, который хорошо работает с Agile, но, по словам Райхерта, не обеспечивает интуитивно понятный рабочий процесс. VersionOne, с другой стороны, предлагает инструмент, более удобный для пользователя, но менее совместимый с Agile. Какой из них лучше, будет зависеть от потребностей компании.

Есть ли у Agile ALM проблемы, о которых мне следует знать?

Основная задача Agile ALM - найти баланс между двумя методологиями. Распространенной ошибкой является чрезмерное затягивание процесса разработки. Другими словами, когда разработчики и тестировщики начинают находить обходные пути к правилам программного обеспечения - как они часто это делают - некоторые реагируют, создавая больше правил для более строгого их применения. Между тем процессы теряют свою гибкость.

Как я могу преодолеть эти проблемы?

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

Является ли Agile ALM хорошим подходом для разработки мобильных приложений?

Мобильная разработка быстрее и конкурентоспособнее традиционной разработки программного обеспечения. У этого есть более новые технологии и более быстрые циклы применения. Эти качества могут сделать мобильным отличным кандидатом для Agile ALM, но только если методология будет изменена, чтобы учесть проблемы, присущие более ограниченному процессу разработки. В статье о мобильном ALM редактор сайта Джеймс Денман предложил подход ALM, который фокусируется на меньших частях программного обеспечения и проверяет подлинность результатов по завершении каждой части. Таким образом, команды могут быстро определить, будет ли приложение эффективно выполнять свое предназначение или его нужно использовать в другом направлении.

Материалы