Agile

 

 

Ответ на вызов

Agile (эйджел, живой, подвижный, гибкий) - подход (методология) «гибкой» разработки программного обеспечения.

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

 

Эффективно и выгодно работать «как раньше» стало невозможно.

 

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

Все более обострялись проблема  неудовлетворенности Заказчика и разработчиков друг другом:

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

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

  • Традиционный подход с минимизацией изменений (управление изменениями) в проекте становится трудоемким, малоэффективным и замедляет ход проекта.

В Agile реакция на изменения важнее, чем следование плану

 

При жестком сроке и в условиях постоянных изменений разработчики вынуждены формализовывать процессы взаимодействия с Заказчиком. При этом Заказчик вынужден оплачивать документы, которые не несут реальной ценности.

В Agile сотрудничество с заказчиком важнее, чем контрактные обязательства

 

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

Agile предоставил быстрые поставки новой функциональности

 

Родившись в программистской среде Agile применяется практически везде.

 

Суть Agile-подхода:

  • разработка ведется короткими циклами (итерациями, спринтами), продолжительностью 1-4 недели;

  • в конце каждой итерации заказчик получает продукт (или его часть), который можно использовать;

  • команда разработки сотрудничает с Заказчиком в ходе всего проекта;

  • изменения в проекте приветствуются и быстро включаются в работу.

 

 

 

Ценности и принципы Agile

Agile опирается на совокупность ценностей и принципов, изложенных в Agile Manifesto (Манифесте Agile).

 

 

Ценности Agile:

  • Люди и взаимодействие важнее процессов и инструментов.

  • Работающий продукт важнее исчерпывающей документации.

  • Сотрудничество с заказчиком важнее согласования условия контракта.

  • Реагирование на изменение важнее следования первоначальному плану.

Принципы Agile

  1. Наивысший приоритет — удовлетворение пользователей.

  2.  Изменение требований приветствуется.

  3. Работающий продукт следует выпускать как можно чаще.

  4. Представители бизнеса и разработки должны работать вместе ежедневно.

  5. Над проектом должны работать мотивированные профессионалы.

  6. Непосредственное общение является наиболее практичным и эффективным.

  7. Работающий продукт — основной показатель прогресса.

  8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно.

  9. Постоянное внимание техническому совершенствованию и качеству проектирования повышает гибкость проекта.

  10. Простота — искусство минимизации лишней работы — крайне необходима.

  11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.

  12. Команда должна систематически анализировать возможные способы повышение эффективности и соответственно корректировать стиль своей работы.

 

 

 

Agile в управлении

Методология Agile говорит о том, что не нужно пытаться с первого раза создать сложный и безупречный продукт — нас могут обогнать маленькие и быстрые конкуренты.

К моменту, когда мы завершим весь цикл работ, наш проект может стать никому не нужен либо его концепция устареет.

А денег, времени и сил будет потрачено много.

 

  1. Agile нужен, чтобы в сжатые сроки запустить продукт и показать клиенту результат

    Для этого большой проект разбивается на отрезки (итерации) длиной от 1 до 4 недель, в конце каждого из которых клиент должен получить работающий продукт. Выгоднее оперативно занять никем не освоенный сегмент рынка, опередив всех своих конкурентов. После получения обратной связи от клиента продукт с каждой новой итерацией становится лучше и ценнее для клиента. Можно дополнительно инвестировать в команду.
     

  2. Agile нужен для гибкого управления бизнесом в постоянно меняющемся мире

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

  3. Agile мотивирует команду, не прибегая к материальным стимулам

    По итогам каждого отрезка заказчик оценивает результат и даёт обратную связь. Забеги на короткие дистанции дают ощущение быстрой победы, а благодаря регулярному общению и тесной связи с бизнесом команда ощущает значимость своей работы для общего дела. 98 % компаний, внедривших Agile, отмечают рост мотивации своих сотрудников.  
     

  4. Agile подходит не только для IT-бизнеса

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

    В г
    осучреждениях Великобритании Agile — негласный стандарт. Данные о потребностях граждан постоянно анализируются и работа сервисов госуслуг корректируется, исходя из собранной информации (например, становятся более удобными часы работы).

 

 

 

Agile в образовании + EduScrum

 

 

Agile в Сбербанке (Германа Грефа)

За популярность в России Agile может быть признателен Герману Грефу. Именно он во всеуслышание высказался в поддержку этого гибкого метода и продолжает обосновывать, почему это важно для банковской сферы (и не только).

Герман Греф:

 


 

 

Борис Вольфсон

 

 

 

Аgile-подходы

 

Популярных agile-подходы:

  • Scrum

  • eXtreme Programming (экстремальное программирование, XP)

    • «парное программирование», когда один программист занимается кодированием, а его напарник в это же время непрерывно просматривает только что написанный код.),

  • Lean Software Development (бережливая разработка программ, Lean)

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

    • безжалостное избавление от всего избыточного (бесполезные собрания, задачи, документация...)

    • команда работает как единое системное целое, где каждый делает то, что лучше умеет, а не загружен на 100%.

    • эффективное обеспеченность ресурсами + доверие и уважение к разработчикам.

    • постоянное обучение + принятие решения в последний момент (когда будем знать больше).

  • Kanban (Канбан)

    • разработка, реализующая принцип «точно в срок»

    • с равномерным распределением нагрузки между работниками.

    • прозрачностью для всех всего процесса

    • списочной визуализацией получаемых и доступных для каждого задач.

 

 

для чтения

 

  1. Дженнифер Грин Эндрю Стеллман (перевод: Светлана Пасерба)
    Постигая Agile

  2. Дэвид Андерсон (перевод: Александр Коробейников)
    Альтернативный путь в Agile

  3. Роб Коул Эдвард Скотчер (перевод: М. А. Сидорова)
    Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban

 

04.03.2021 Да пребудет с вами Agile: гайд по основным терминам + курсы.

 

 

kmp