Планирование по Agile: цикл и этапы гибкой разработки

Планирование по Agile: цикл и этапы гибкой разработки

Совместная работа
Задачи

Agile появился в далеком 2001 году, но еще десять лет назад на собеседовании в российскую IT-компанию редко можно было услышать «Вы работаете по agile или waterfall?». Сторонники подхода собирались на узкопрофильных конференциях, а agile внедряли только самые передовые компании.

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

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

Что такое Agile

В российском IT-сленге в ходу термины «аджайл», «агиле», но чаще используют именно латинское написание.

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

Его создали 17 разработчиков, бывших сторонниками разных подходов. Они назвали себя Agile Alliance.

Они вывели 12 принципов и 4 ценности разработки, которые легли в основу Agile-философии.

journal_planirovanie_agile_1

Более детально мы рассказываем об Agile в материале «Agile: что это за метод, кому подходит и как его применять».

Базовые принципы Agile

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

journal_planirovanie_agile_2

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

Также сторонники Agile выступают за простоту. Команда отказывается от лишней работы и работает в минимальном составе.

Более подробно принципы разобраны в материале «Agile-манифест: ключевые положения, принципы, история и развитие».

Методологии Agile

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

Самые популярные методологии — Scrum и Kanban, на них мы подробнее остановимся ниже. Они просты для изучения, а ещё они подходят не только для IT-разработки, но и для других проектов. Например, для выпуска книг и периодики или для организации крупных мероприятий.

К практикам Agile также относят:

  • Extreme Programming (XP) — это методология разработки программного обеспечения, которая фокусируется на качестве кода и коммуникации. Вместо код ревью здесь парное программирование, когда один разработчик пишет код, а другой отсматривает его в реальном времени.
  • DevOps — это методологический подход, объединяющий разработку и эксплуатацию, К нему прибегают, когда хотят ускорить поставку и повысить качество программного обеспечения. Пока команда занята улучшением, предыдущая версия уже на тестировании у заказчика, а пред-предыдущая — доступна пользователям!
  • LeSS (Large-Scale Scrum) — это расширение методологии Scrum, разработанное для поддержки крупномасштабных проектов. Оно позволяет нескольким командам работать вместе над одним продуктом.
  • Lean — это методология, основанная на принципах бережливого производства. Она уменьшает потери и увеличивает ценность продукта для пользователя. В первую очередь направлена на определение ценности, устранение потерь и непрерывное улучшение процессов.
  • DSDM (Dynamic Systems Development Method) — метод, целью которого является сдать проект в срок и при этом уложиться в бюджет, придерживаясь Agile-принципов.

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

Методика Kanban

Своё название получила от канбан-доски — меловой или магнитной поверхности, на которой разными цветами визуализируют проект. По расцветке каждый специалист знает свою роль на этом этапе работы, отмечает статусы и задачи.

journal_planirovanie_agile_4

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

Подробный обзор методологии читайте в нашей статье «Kanban: что это, как работает, и причем тут Agile».

Методика Scrum

Гибкость в Scrum достигается благодаря постоянному общению. Руководитель команды зовется скрам-мастером, и его задача — устраивать ежедневные встречи, собирать обратную связь от заказчика и доносить её до разработчиков.

journal_planirovanie_agile_5

Особенность Scrum в делении проекта на короткие одинаковые по продолжительности периоды. Например, по месяцу. После каждого из них заказчику на тест отдаётся новая версия проекта.

Из каких этапов состоит гибкий цикл разработки Agile

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

journal_planirovanie_agile_3

Покажем этапы на примере разработки приложения, чтобы было нагляднее.

  1. Обсуждение и планирование проекта в целом. На этом этапе решают, какие функции нужны в первую очередь. Допустим, вы хотите приложение, которое считает шаги и строит маршруты по нужному количеству шагов до цели.
  2. Разработка функции №1. Для нас это счет шагов. Разработчики сделали его и отдали нам на тестирование.
  3. Разработка функции №2. Проектирование маршрутов по числу шагов. Разработчики делают первый вариант карты и отдают на тест.
  4. Доработка. Вы протестировали функционал №1 и решили, что неплохо бы еще добавить цели по шагам и уведомления, когда они достигнуты. Отправили пожелания по функции №1 разработчикам.
  5. Демо-версия. Вы получаете приложения со всеми функциями и решаете, что доработать или изменить.
  6. Релиз. Вы решаете, что продукт готов к выпуску. Правки из пункта 4 можно внедрить уже после запуска и добавить после обновления.
  7. Следующая итерация. Начинается новый цикл.

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

Для сравнения, в не-Agile схеме разработка такого же приложения с подсчётом шагов и маршрутами выглядела бы так:

  1. Заказчик пишет полное техническое задание, описывающее весь функционал приложения: экраны, кнопки, все способности программы. ТЗ должно быть исчерпывающим — заранее отвечать на все вопросы и описывать, как должен выглядеть финальный продукт.
  2. Когда ТЗ готово, его передают разработчикам на реализацию.
  3. Команда программирует, тестирует и разрабатывает дизайн. Заказчику сдают готовый продукт. Замечания и пожелания, если они не были изначально указаны в ТЗ, не берутся в расчет.
  4. Подписывается акт приёма-передачи. Все дальнейшие доработки оформляются дополнительными соглашениями или новыми заказами и отрабатываются также последовательно.

Такой метод разработки вполне можно использовать, если создаётся что-то простое, в чём вы уверены заранее. Например, типовую утилиту для внутреннего пользования. Это будет дешевле и быстрее. Зато Agile может обеспечить более актуальный результат, потому что позволяет реагировать на изменения рынка.

Ставьте задачи в Битрикс24
Организуйте эффективную работу над задачами и проектами в удобном таск‑трекере.
Создать бесплатно

Подойдёт ли вам Agile

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

  • У вас строгое ТЗ с жесткими сроками.
    Agile предполагает гибкость, поэтому и сроки тоже должны быть гибкими.
  • Вы точно знаете, что хотите получить на выходе и не поменяете свои желания.
    Даже если сейчас вам так кажется, это не значит, что за время разработки ничего не изменится. Поэтому хорошо подумайте, прежде чем ответить на этот вопрос.
  • Вы работаете в зарегулированной сфере.
    В целом это не помеха, но Agile-разработка отводит бюрократию на второй план, а для государственной сферы порядок документации и отчёты важны.
  • Проект нужно будет много раз повторять с неизменным результатом.
    Если нужно построить пять одинаковых зданий, с Agile получится пять уникальных.
  • Вам хочется отправить ТЗ разработчикам и забыть о проекте до сдачи.
    Работая по Agile, будьте готовы к постоянному участию заказчика в проекте.
  • У вас нет времени на постоянные совещания, летучки и согласования.
    В Agile их действительно много, поэтому стоит выделить для этого отдельного человека или быть готовым найти время на обсуждения.

Финальное решение за вами. Не воспринимайте Agile как волшебную таблетку и учитывайте при планировании все особенности.

Что в итоге

Гибкие методологии управления проектами захватили мир IT и продолжают экспансию за его пределами. Упрощение, внимание к клиенту и его желаниям, мягкие дедлайны и постоянные обсуждения, подход «от клиента», а не «от продукта» помогают командам получать конкурентоспособный качественный результат. Однако следует помнить, что Agile — это не только про гибкость, но и про повышенный ценник и меняющиеся дедлайны, потому что продукт будет постоянно дорабатываться и улучшаться. Часто это означает постоянное продление договора с разработчиками и в определенный момент начинает напоминать подписку с автопродлением на IT-компанию и ее услуги.

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


Управляйте проектами и создавайте сильную команду с Битрикс24
Получить бесплатно
Наталья Хайду
Главный редактор
Рекомендуем
Показать еще