8 (8212) 55 18 12

Разработка ПО. Что же такое Agile?

Приступить к чтению

Предисловие

В прошлой статье были рассмотрены несколько классических моделей по которым происходит построение процесса разработки ПО. 

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


Что такое agile, гибкие методики и их история

Agile — набор гибких методик и подходов позволяющих эффективно организовать работу небольших групп. Практики agile применяются довольно широко и выходят за пределы разработки программного обеспечения. В 2019 году agile в работе применяют такие компании как Сбербанк, Тинькофф, HH.ru, Яндекс и.т.д.

Agile появился в начале 1990-х, объединив несколько гибких методологий, в ответ на устоявшиеся старые методики разработки, которые были слишком консервативными и не подходили для некоторых проектов. Например, методологии, применяющие в работе стандартные каскадную, итеративную или спиральную модель.

Традиционные методологии начали создавать сложности из-за того, что:

  • технический уровень заказчика снизился из-за прихода в digital-сферу нетехнических компаний;
  • заказчику было важно видеть результат как можно раньше;
  • продукт мог устареть еще до релиза.

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

Параллельно, на протяжении 90-х, появились несколько видов гибких методологий, к ним относятся:

  • Scrum;
  • XP (экстремальное программирование);
  • Kanban ;
  • Crystal Methods;
  • Lean;
  • и.т.д. 

Гибкая методология разработки — термин, применяемый для множества подходов и практик, в основу которых положен манифест гибкой разработки (agile-манифест).

В 2001 году был разработан agile-манифест, который задал основу и вектор для разработки последующих методик и улучшения существующих на тот момент.

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

Единственное исключение составлял метод XP (экстремальное программирование). Поэтому в 2000-е многие старые методологии были дополнены технически, а так же появились дополнительные методики призванные вместе с ускорением разработки, повысить её качество, например DevOps. В таких методиках больше времени уделялось кооперации между сотрудниками и командами, и возрастала ответственность за качество ПО.

Многие из перечисленных нами методик будут разобраны в следующей статье о гибких методологиях разработки программного обеспечения.

Agile-манифест и его содержание

Agile-манифест включает в себя 4 основные ценности и 12 принципов гибкой методологии разработки программного обеспечения. Под манифестом подписались несколько независимых экспертов гибкой методологии, называющие себя “Agile Alliance”. Текст манифеста переведен на 50 языков мира, включая русский язык.

4 цености agile:

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

При этом основатели манифеста не отрицают важности инструментов, контракта или документации.

Принципы Agile-манифеста:

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

Подойдет ли вам Agile?

Последнее время гибкие методологии и Agile у всех на слуху и очень многие компании пытаются применить его для разработки своих продуктов.

Методологии основанные на Agile подойдут вам если:

  • вы небольшая компания с ограниченным количеством ресурсов;
  • у вас экспериментальный продукт у которого нет сформированных требований.

Вам не подойдут Agile-методологии если вы обладаете большими ресурсами и сформированными требованиями к продукту, выберите более традиционные методологии и модели. 

Вывод

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

Время прочтения:
Время прочтения 4.7 мин

Для авторов

Хотите стать соавтором блога, рассказать аудитории о новинках в мире веб и все что с ним связано? Тогда присылайте ваши материалы и мы опубликуем их.

Стать автором

Обсуждение