Agile — гибкий подход к разработке, включающий разные методологии (Scrum, Канбан, ХР, Lean и другие). Об этом знают многие. Но есть десятки мелочей и всяких интересных штук, которые не лежат на поверхности.
Подготовили серию статей и для новичков, которые с гибкими методологиями пока на «вы», и для тех, кто с ними давно дружит. Расскажем и об основных понятиях (вкратце), и о неожиданном применении Agile и Scrum в повседневной жизни. Сегодняшняя статья — как вводная лекция: о том, что такое Agile и с чем его едят.
Большой взрыв проектов
Если провести параллель с зарождением Вселенной — эту роль отведем Agile, — тогда Большим взрывом станет проблема номер один, которая довела до нервного срыва не одну сотню менеджеров проектов, — изменение требований к продукту. Именно это — причина стенаний, надрывных возгласов «За что мне эта кара?» и поредевших шевелюр.
Обычно процессы работают в рамках каскадной модели (или waterfall model) — все происходит поэтапно и последовательно. Проще говоря, «вижу цель — иду к цели». И если в какой-то момент требования к продукту, конечной цели меняются, иногда приходится переделывать заново. Как только превосходно отточенный план сталкивается с реальностью, он сразу рассыпается в прах. Но вместо того чтобы выбросить в мусорную корзину и сам план, и свой подход к нему, руководители делают вид, будто план работает, и даже нанимают для этого специалистов. По сути, они платят людям за то, что те им лгут.
По мнению Джеффа Сазерленда, создателя Scrum, это напоминает модель поведения Политбюро ЦК КПСС в конце 1980-х годов, якобы верившему отчетам, которые оно получало накануне крушения Советского Союза.
Agile-методы же призваны бороться с этим за счет своей гибкости. Можно сказать, что Agile — сборная солянка нескольких подходов, призванная минимизировать всяческие риски при помощи набора принципов. Эти самые принципы и 4 основных идеи собраны в Agile-манифесте, датированном 2001 годом.
Манифест Agile
Если упростить формулировки, чтобы «выкристаллизовать» соображения, которыми руководствуются все, кто работает по эджайлу, получится что-то вроде этого:
- Самое главное люди, а не вещи
- Документация (которую еще и никто не читает) не должна никому мешать работать
- Сотрудничайте, а не перечитывайте контракт
- Живите, дышите, меняйтесь — так быстро, насколько это возможно
Как устроены процессы
Посмотрим, как можно работать по эджайлу. Для примера возьмем Scrum — сегодня это самая популярная гибкая методика. Джефф Сазерленд, автор книги «Scrum», изобрел эту методику, чтобы справиться с недостатками классического управления проектами.
1. Выберите владельца продукта — это человек, который видит, к какой цели вы идете и что хотите получить в итоге.
2. Определитесь с командой — от 3 до 10 человек, владеющих навыками, которые позволят получить результат (т.е. работоспособный продукт).
3. Выберите скрам-мастера — этот человек следит за ходом проекта и помогает команде бороться с трудностями.
4. Составьте бэклог продукта — соберите в одном месте (желательно на Agile-доске) все-все-все требования к продукту и расставьте приоритеты. Владелец продукта должен продумать и собрать все пожелания. Затем команда должна оценить бэклог, чтобы понять, возможно ли все это сделать и сколько времени потребуется.
5. Запланируйте спринты — отрезки времени (неделя или две), за которые команда выполняет определенный набор задач. Спринты будут регулярными: например, 15 раз по две недели, пока получится готовый продукт.
6. Проводите ежедневные встречи на 15 минут (и ни минутой больше) — на повестке три вопроса, на которые коротко отвечает каждый: что делал вчера, что буду делать сегодня и какие преграды мешают «взять высоту».
7. Делайте обзоры — по итогам спринта команда рассказывает, что удалось сделать, и демонстрирует работоспособные части продукта. На обзоры может прийти кто угодно: владелец продукта, главный заказчик или даже потенциальные клиенты.
8. Проводите ретроспективу — после каждого спринта Agile-команда обсуждает проблемы и ищет решения. Должен получиться план изменений, который команда сразу же и внедрит — на следующем спринте.
Более подробно о том, как внедрить скрам и повысить эффективность команды, читайте в этой статье.
Scrum — это больше, чем метод командной работы. Scrum ускоряет темп всех начинаний человека. Неважно, в чем суть проекта или проблемы, — методика Scrum может быть использована в любом начинании, чтобы повысить производительность и добиться лучших результатов.
Знать Agile в лицо
Agile-методики легко опознать по ключевым характеристикам, эдаким «сигнальным флажкам».
- Минимизация рисков — это главная цель в рамках любого гибкого подхода.
- Итеративная разработка — работа в коротких циклах.
- Люди и коммуникация — самое важное.
Если рассматривать Agile с двух берегов реки — заказчика и команды, — такой подход имеет смысл для всех.
- Заказчику нужно вовремя получать хотя бы минимально работоспособный продукт (не важно, речь идет о ПО или же о других процессах и явлениях), менять условия, при этом не оставаясь с дыркой от бублика в кармане, — это уже к вопросу о страховании рисков.
- Команде на руку общение с заказчиком и коллегами (чтоб без этого: «Вы меня неправильно поняли — переделайте все быстренько. И да, это надо вчера!»), прозрачность процессов, что уменьшает шансы на неожиданности, быстрое решение проблем. Ну и многие понимают, куда девается время и где работа стопорится. Мелочь (на самом деле нет), а приятно.
Плюс качественно улучшается коммуникация внутри команды. Все фокусируются на общей идее, секретов друг от друга нет, каждый берет на себя обещание (социальные обязательства — куда без них). Вишенка на торте — возможность работать в комфортном темпе, пусть и быстром (как минимум быстрее, чем обычно).
Agile приводит от хаоса к порядку. Проводились исследования: выяснилось, что проекты, где работа велась в рамках гибкого подхода, в 3 раза успешнее, чем те, где процессы выстроены в стандартной парадигме. И это выглядит вполне логичным: заказчик получает то, что хочет, и с минимальными затратами времени и ресурсов.
Кому это может не понравиться?
С момента своего возникновения концепция Scrum легла в основу проектирования новых программных продуктов для технологических отраслей. Однако, снискав признание и успех в Кремниевой долине среди руководителей проектов по созданию программного обеспечения и нового оборудования, в общей деловой практике Scrum остается еще малоизвестной методологией.
На сегодня это все. В следующий раз расскажем про скрам скрамов и о том, как гибкие методологии работают в российской действительности. Не переключайтесь.
Читайте продолжение:
Что такое Agile. Гайд по гибким методологиям, или Как работать с пользой. Часть 2
Что такое Agile. Гайд по гибким методологиям, или Как работать с пользой. Часть 3
P.S. Хотите каждую неделю получать полезные советы из самых интересных книг по бизнесу и маркетингу, узнавать о новинках и получать скидки? Подписывайтесь на нашу рассылку. В первом письме — подарок.