Chat with us, powered by LiveChat

Что такое Аджайл?

гид по аджайлу для новичков

Управлять разработкой ПО почти так же сложно, как правильно выбрать технологию. Изначально программы писали последовательно, от А до Я. Эта методика хорошо работает во многих областях: от чистки зубов до решения дифференциальных уравнений. 

Но требования к ПО или мобильному приложению меняются очень быстро. Хочется добавить еще одну фичу. Или убрать, потому что вчера появилось точно такое же приложение конкурента. 

Поэтому один раз выписать все требования и выполнять их шаг за шагом, мягко говоря, неэффективно. 

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

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

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

Преимущества и недостатки Аджайл

Аджайл не универсален. Он может быть очень крут или наделать много бед — зависит от проекта. Посмотрим, когда его лучше использовать и где избегать.

аджайл подход к разработке

Когда использовать Аджайл:

  • Нужно снизить риски при выводе нового продукта на новый рынок. Когда технические требования к проекту быстро меняются или вы сами не знаете, куда хотите прийти, Аджайл — подходящее решение. Он создан для того, чтобы можно было вносить изменения в проект В ПРОЦЕССЕ разработки и лучше всего функционирует в условиях постоянно меняющегося рынка. 
  • Чтобы сэкономить трудовые и материальные ресурсы. Сначала мы разрабатываем базовое решение, например, простой инструмент для анализа валютного рынка. Затем мы возвращаемся к его “докрутке”: добавляем новые фичи и привлекательный дизайн. Продукт функционален сразу после релиза, но такой подход позволяет избежать больших вложений на начальном этапе.

Когда Аджайл не подходит:

  • Все требования к проекту ясны с самого начала. Использовать Аджайл в такой ситуации бессмысленно — если все технические требования и так ясны, нужно просто включить их в спецификацию и назначить дедлайн.
  • Очень крупный и сложный проект. Делаете второй Google? Тогда забудьте про аджайл. При проектировании большого проекта нужно проанализировать огромный скоуп задач и продумать архитектуру заранее. Иначе на полпути ограничения в “железе” или другие затруднения остановят проект. И придется все переделывать.

Фреймворки

фреймворки аджайл

Наборы правил или рекомендаций, как следует реализовывать философию Аджайла на практике называются фреймворками. Компании, работающие по Аджайлу, выбирают тот, что лучше согласуется с их бизнес-целями. Самые популярные: Скрам (Scrum), Lean и Канбан (Kanbun). В этом посте мы расскажем про самый популярный фреймворк, который использует и Магора, — Scrum.

Введение в Scrum 

Организация Аджайл команды

Scrum-команда состоит из трех участников – владельца продукта, Scrum-команды и сертифицированного Scrum-мастера. 

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

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

Scrum-мастер — уникальная роль в методологии разработки программного обеспечения. Этот человек отвечает за интеграцию принципов Scrum в компанию. Он ведет встречи и указывает на несоответствия в следовании принципам фреймворка. В идеале Scrum-мастер следует философии «лидерства-служения».

Организация работы по Аджайл

аджайл vs водопадный метод

Спринты как единица времени

В отличие от Waterfall, гибкие фреймворки делят разработку на короткие промежутки. Обычно около 2-4 недель. На каждом этапе разработки команда выполняет запланированный набор задач из беклога.

Как использовать Backlog

Бэклог (Backlog) — это список невыполненных элементов на проект, который постоянно пополняется новыми. Некоторые из них планируются при первой встрече с клиентами, в то время как другие появляются неожиданно на протяжении всего процесса разработки.

Чтобы справиться с большим списком задач и ничего не потерять, Scrum-команды часто используют доски. Это могут быть физические доски задач со стикерами или онлайн-доски Scrum. 

Доска задач Scrum разделена на три части:

— сделать;

— в процессе;

— готово. 

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

скрам доска

Что такое User Story в гибкой методологии?

С первой встречи в Scrum мы создаем не список фичей, а пользовательские истории (User Stories). Это описания бизнес-целей пользователей.

Например, для инструмента мониторинга трафика цель можно сформулировать так: «Как интернет-маркетолог, я хочу видеть статистику того, сколько пользователей посетило сайт”. 

Преимущества User Story

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

Руководство: как создать историю пользователя.

Epic Stories

По Скраму, каждая пользовательская история должна быть завершена внутри итерации. Но иногда они слишком велики, и их невозможно покрыть за один спринт. Такие истории называются Epic Stories (эпическими историями) или epics. 

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

Диаграмма сгорания задач

диаграмма сгорания задач

Диаграмма сгорания задач, или в английском варианте Burndown chart, используется во время более длительных итераций, чтобы увидеть, сможет ли команда завершить все заявленные User Stories. 

Каждый график имеет две линии. Одна показывает желаемый результат, а вторая — суровые факты. Узнайте, как нарисовать диаграмму здесь.

События в Scrum 

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

Sprint Planning Meeting

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

На совещании по планированию команда решает, как реализовать выбранные User Stories. Участники оценивают сложность задач и сколько часов это займет. При этом соответствующая информация о каждой пользовательской истории размещается на Scrum-доске.

Ежедневные стендапы

Согласно рекомендациям Scrum, ежедневные стендапы должны проводиться для команды. Так каждый член в курсе, какой точки достигли их товарищи по команде. Всем задают эти 3 вопроса: 

  • Что ты сделал вчера?
  • Что ты планируешь делать сегодня?
  • Существуют ли какие-либо препятствия?

Ежедневные встречи проводятся Scrum-мастером. Они не должны превышать 15 минут. Если есть какие-либо серьезные нерешенные вопросы, члены команды обсуждают их позже.

Sprint Review 

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

Retrospective Meeting

Это заключительное собрание итерации, где команда встречается, обсуждает и документирует следующее:

  1. Что прошло хорошо во время спринта?
  2. Что можно было сделать лучше?
  3. Усвоенные уроки
  4. Точки роста.

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

На этом все. Теперь вы знаете, что такое Аджайл и сможете отличить Скрам-мастера от простого менеджера. Если вы пока не уверены, что стоит включить в ваш проект, то Скрам — это то, что нужно.