Agile — это методология управления, целая философия, в основе которой лежит командное взаимодействие “без руководителей”: все участники рабочего процесса несут ответственность друг перед другом.
Главный принцип Agile - гибкость в выстраивании взаимодействий внутри команды и при планировании задач.
Agile-методология опирается на такие ценности как: эффективное взаимодействие, работающий продукт и сотрудничество с заказчиком. Получается, что люди в рабочем процессе ценятся выше применяемых инструментов, достижение результата стоит выше заполнения объемной документации, а оперативное общение с заказчиком превалирует над множественными согласованиями условий контракта. Отсюда растут корни той самой знаменитой Agile-эффективности.
К сотрудникам компании, где проповедуется эта методология, есть ряд важных требований, соответствие которым ложится в основу эффективной командной работы.
В Agile важна итеративность. Это значит, что вместо долгой проработки плана и идеальной версии продукта, команда акцентируется на быстром запуске рабочего продукта, доработки которого ведутся после основного релиза.
Большую роль в наборе soft-skills играет такое качество как самоорганизация. В команде все равны, нет руководителей, начальников отделов или управляющих. Это экономит трудовые и временные ресурсы.
Взаимопроникновение знаний - еще одна черта Agile - команды. Каждый специалист должен иметь хотя бы базовые знания о смежных специальностях.
Самые популярные методы в Agile-методологии - Scrum (скрам) и Kanban (канбан). Именно они используются в работе IT-компании Lad.
Scrum: забеги на короткую дистанцию и быстрая трансформация задач
Главное в Scrum - командная ответственность за результаты, доброжелательное отношение к сотрудникам и вера в эффективность процессов. Клиентоориентированность Scrum-команд проявляется в постоянном взаимодействии с заказчиком с целью получения обратной связи, в возможности внесения изменений в поставленные задачи, а также досрочного завершения проекта.
Менеджер проектов центра разработки IT-компании Lad
Ира Анфертьева - о том, как на проекте “Карта жителя Нижегородской области” используется Scrum:
- В Scrum принято мнение, что чем короче спринт, тем динамичнее и гибче процесс разработки, на нашем проекте мы работаем спринтами длиной в две недели. За это время команда обязуется выполнить перечень задач, который был утвержден при планировании. После того как задачи проходят весь жизненный цикл — от постановки до тестирования — и уходят в продакшн, мы можем сразу получить обратную связь от конечных пользователей и бизнеса. Это помогает решить, как нужно развивать продукт дальше и заложить новые приоритеты и изменения уже в следующем спринте.
В начале каждого спринта владелец продукта (Produсt Owner) собирается с командой, чтобы определить приоритеты и спрогнозировать скорость выполнения работы. Перечень задач, поставленных во время встречи, должен быть выполнен к концу спринта и остается неизменным на его протяжении.
На практике, конечно, бывают разные ситуации. В конце спринта члены команды встречаются, чтобы продемонстрировать, что было сделано и сколько это заняло времени, так называемое демо или Sprint Review Meeting. А после сдачи спринта проходит ретроспектива, где обсуждается: что нам мешало в этом спринте? Что снижало скорость?
Менеджер проектов центра разработки IT-компании Lad
Ирина Анфертьева также отметила, что команда практикует ежедневный stand-up — короткое совещание, которое проводится в одно и то же время.
- На этих встречах обсуждается текущее положение дел и ставятся задачи на день. Когда работаешь по scrum, легко организовать свое рабочее время даже на удаленке. Кроме того, можно спокойно вводить в команду новеньких. Когда бы они не пришли работать — в ближайшее время планирование спринта уже под новые ресурсы. По этой же причине легко переводить людей из команды в команду, - подчеркнула представитель IT-компании Lad.
Кстати, термин Scrum взят из регби. В этом виде спорта слово означает элемент, который получится только при эффективном взаимодействии группы из нескольких человек.
Kanban
Kanban ― это метод улучшения процессов разработки для своевременной подготовки качественного продукта. Для визуализации процессов используется специальная доска с карточками как обязательный элемент гибкой методологии. Подобный инструмент есть и в Scrum.
Благодаря визуализации задач каждый член команды понимает план дальнейших действий и рабочих процессов. Доска может быть реальной или виртуальной. Kanban-карточки ― это задачи, которые команда перемещает по доске в зависимости от их состояния. Количество карточек можно менять.
В работе по kanban команда должна следовать правилам, проявлять сплоченность, стремится к постоянному совершенствованию продукта и развитию сотрудников.
Руководитель проекта kari в IT-компании Lad
Елизавета Жужгова - о том, как можно применять Kanban при разработке экосистемы:
- Когда начинается любой проект важно понимать, нужен ли Agile вообще. Если у нас высокие условия неопределенности и сложная система, которую нужно реализовать, а мы ещё не понимаем взлетит или не взлетит, то скорее всего нужен.
Если проект предсказуемый, стандартный, например, ещё один интернет-магазин, то здесь нет смысла использовать Agile. Если говорить о нем, то началось все со scrum, kanban появился позже. Считается, что первое — это революция, а второе — эволюция.
В scrum много ограничений. При планировании спринта мы определяем пул задач, которые будем брать в работу. В идеале, команда за спринт должна делать либо столько же, либо чуть больше, но в реальной ситуации — это проблематично, потому что может поменяться приоритет задач, либо возникнут другие непредсказуемые ситуации. По scrum, что взяли в начале спринта, то и должны сделать. Он более жесткий. Kanban более эволюционный. Он про визуализацию, про стиль жизни. У нас есть определенные задачи, которые мы реализуем и путь, который должна пройти каждая задача. Мы визуализируем, запускаем задачу и смотрим как она идет. В scrum основная цель — сдать спринт и тот объем задач, который взяли, а в kanban — как можно быстрее выкатить конкретную фичу в продакшн и довести до конечного пользователя.
Чтобы не путать Scrum и Kanban, достаточно запомнить, что в первом случае работает кросс-функциональная команда, в которой есть роли и которая может кардинально менять план действий в сжатые сроки. В случае с Kanban, процесс завязан на взаимодействии узкопрофильных команд, которые готовят последовательные и плавные перемены в проекте.
Почитать больше о разработке проекта kari можно в нашем блоге в разделе “Решения”.
Узнайте о выпущенных релизах “Карты жителя Нижегородской области” в разделе
“Новости”.