Что такое Agile?

21.04.2010

Что такое Agile

Когда начинаешь интересоваться какие сейчас популярны методологии программирования, то очень быстро натыкаешься на очень красивое, но не понятное слово Agile


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

Agile  - это только концептуальный каркас. Своего рода абстрактный класс, от которого вы можете наследовать свой рабочий процесс и выбрать: вы хотите работать по Extreme programming, SCRUM, DSDM, Adaptive Software Development, Crystal, Feature-Driven Development, Pragmatic Programming. Или по нескольким сразу (SCRUM и Extreme programming прекрасно сочетаются ). Или же у вас непреодолимое желание создать свою методику, но все равно у вас есть шанс быть Agile командой.

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

Манифест гибкой разработки состоит из четырех пунктов, каждый из которых представляет собой альтернативу. Что позволяет, с точки зрения авторов Манифеста, лучше понять, с каким выбором команде приходится сталкиваться в процессе разработки, и какой путь ближе к ценностям гибкой разработки:

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


  • Личности и их взаимодействия выше, чем процессы и инструменты.
  • Работоспособное программное обеспечение выше, чем обширную документацию.
  • Сотрудничество с заказчиком выше, чем переговоры по контрактам.
  • Умение реагировать на изменения выше, чем следование плану.

Таким образом, хотя и существует ценность в понятиях, стоящих в правой части этих сравнений, мы ценим понятия, стоящие в левой части, больше.


Принципы гибкой разработки, основываясь на ценностях из Манифеста, дополняют их информацией более практического свойства:


    Нашим главным приоритетом является удовлетворение заказчика посредством ранней и непрерывной поставки работоспособного программного обеспечения.
  1. Приветствуйте меняющиеся требования даже на поздних стадиях разработки. Гибкие процессы используют изменения как средство получить конкурентные преимущества для заказчика.
  2. Поставляйте работоспособное программное обеспечение часто: от раза в несколько недель, до раза в несколько месяцев, отдавая предпочтение коротким интервалам.
  3. Представители бизнеса и разработчики должны работать вместе в течение всего проекта.
  4. Стройте проекты вокруг мотивированных личностей. Предоставьте им среду и поддержку, в которой они нуждаются, и доверьте им самим сделать работу.
  5. Наиболее эффективный способ передать информацию в команду проекта (а также передавать её внутри команды) – это непосредственное живое общение.
  6. Основной мерой прогресса проекта является работоспособное программное обеспечение.
  7. Гибкие процессы поощряют разработку с постоянной скоростью. Спонсоры проекта, разработчики и пользователи должны быть способны поддерживать постоянную скорость на неограниченной дистанции.
  8. Непрерывное внимание техническому совершенству и хорошему дизайну увеличивает степень гибкости.
  9. Простота – искусство максимизации работы, которую не надо делать, – является существенным фактором.
  10. Наилучшие архитектуры, требования и дизайн создаются самоорганизующимися командами.
  11. Через регулярные промежутки времени команда должна проводить анализ того, как стать более эффективной и улучшать свой процесс работы.

  12. Тут стоит заметить, что ценности – это то, что имеет значение (значимость, полезность), а принципы – это норма и правила поведения. Все, больше ничего нет. Нет практик, нет множества стандартов. Есть только 4-ре ценности и 12-ть принципов, которые полностью изменили мир разработки ПО. Его очень легко понять, но очень сложно применить в реальной работе, хоть применение и дает ошеломляющие результаты.

Источник: simsym.com



Уважаемые читатели! "Залайкать" и "твитнуть" - лучший способ сказать интернет-ресурсу "спасибо":



Возврат к списку

(Голосов: 4, Рейтинг: 3.38)

 


Вернуться