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

Не всем специалистам понятно, как agile-команда планирует задачи и отслеживает их выполнение, каким образом происходит организация работы команды и многое другое. В статье мы расскажем, с чем разработчик столкнется при переходе на Agile, и как быстро адаптироваться к новым процессам.
Суть Agile
С помощью Agile компания быстрее адаптируется к изменениям и оптимизирует процессы, чтобы избежать перегрузки команды. Основная метрика для команды — это рабочий продукт. Разработка происходит короткими спринтами, которые длятся от одной до трех недель. Заказчик принимает участие в каждом спринте и может в процессе работы вносить корректировки, если это необходимо.

Существуют различные гибкие методологии, или фреймворки управления проектами: Scrum, Kanban, экстремальное программирование (XP) и другие. Они отличаются длиной итераций и принципами оценки задач. Кроме того, разные методологии стоит внедрять на определенных этапах работы.

Agile – философия с ключевыми ценностями и принципами:

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

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

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

Это значит, что в приоритете будет создать качественный продукт, удовлетворяющий требования заказчика. Например, создание документации уходит на второй план, чтобы основные ресурсы сосредоточить на продукте.

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

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

4. Готовность к изменениям важнее следования первоначальному плану.

Изменение требований возможно даже на поздних стадиях разработки. На рынке постоянно что-то меняется, а также идеи могут прийти в самый неожиданный момент. Например, изменения можно внести даже в конце спринта, если это необходимо.
Как работать в условии agile
Успешно работать в agile-команде поможет понимание всех основных этапов и процессов. Здесь мы подробнее разберем, что входит в планирование спринта, какие роли существуют в команде, и каким образом происходит организация работы команды. После каждого пункта будут советы, которые помогут быстрее адаптировать к работе по гибкой методологии.

1. Планирование

Главная цель данного этапа заключается в грамотном разделении идеи на разные части. Планирование включает в себя следующее:

1) Определение основного функционала продукта. Когда команда знает, каким функционалом должен обладать продукт, это позволяет выработать общее понимание идеи, а также помогает расставлять приоритеты и идти на компромиссы.

2) Формирование бэклога. Бэклог – это перечень рабочих задач, расположенных в порядке важности. За подготовку и необходимую детализацию задач отвечает Product Owner. Здесь важно расставить приоритеты по каждому требованию к продукту. Посмотреть весь бэклог и отследить готовность каждой задачи позволяют специальные сервис по управлению проектами, например, Jira.

3) Планирование спринтов. Спринты – это отрезки времени на выполнение определенного ряда задач. Обычно один спринт длится от одной до трех недель. В ходе планирования определяется объем работы на спринт и способы выполнения этой работы.

Советы:

  • найди скрам-мастера в своей команде. Он отвечает непосредственно за контроль всех процессов, поэтому сможет разъяснить непонятные моменты;

  • принимай активное участие в планировании спринта, чтобы быстрее вникнуть во все процессы;

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

2. Роли в команде

Ключевые роли в Agile-команде играют Product Owner, Scrum Master и команда разработки, в которую могут входить разработчики, тестировщики и дизайнеры.

Product Owner

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

Scrum Master

Scrum-мастер поддерживает в команде культуру scrum и следит за соблюдением ее принципов. Это член команды разработки, который контролирует ход работы, фиксирует дедлайны и проводит ежедневные встречи с командой — дейли. Также он следит за всеми процессами и отмечает, что можно улучшить. Еще одна из обязанностей Scrum-мастера – администрирование доски и поддержание карточек с задачами в актуальном состоянии.

Команда разработки

Состав и численность команды зависит непосредственно от продукта, над которым идет работа. Обычно в команде разработки всегда есть Team Lead, который координирует команду и системный аналитик, который описывает необходимые требования. Основным процессом разработки занимаются Frontend и Backend разработчики совместно с QA-специалистами. Дизайн экранов проектирует UX/UI дизайнер.

Совет

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

3. Организация работы

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

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

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

Советы:

  • участвуй в ежедневных созвонах и не бойся задавать вопросы. Команда всегда поможет и даст советы, если у тебя что-то не получается;

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

  • найди скрам-мастера в своей команде. Он отвечает непосредственно за контроль всех процессов, поэтому сможет разъяснить непонятные моменты;

  • принимай активное участие в планировании спринта, чтобы быстрее вникнуть во все процессы;

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

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

  • участвуй в ежедневных созвонах и не бойся задавать вопросы. Команда всегда поможет и даст советы, если у тебя что-то не получается;

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