Agile – эффективное управление проектами

Залог успешного проекта – эффективная работа каждого участника команды. Наладить ее бывает не просто, а бывает и так, что усилия вовсе бессмысленные. Современным решением станет внедрение системы управления Agile. 

Agile – это гибкая система управления проектами, разработанная в 90-х годах и начавшая работать в 2000-х. Все началось с того, что существующий принцип последовательной разработки (Waterfall) был раскритикован и взамен предложен фазовый подход. Это и легло в основу создания методологии. 

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

  1. Waterfall. Разработали дизайн, сделали все элементы, собрали их, протестировали и передали заказчику. Оказалось, что заказчику не понравились колеса. Он возвращает изделие на производство и просит переделать. Коляска разбирается. Все переделывается заново, передается на одобрение. Теперь клиенту не нравится, как сочетаются цвета – опять все заново.
  2. Agile. Создали дизайн, описали его преимущества, продемонстрировали клиенту. Если он одобрил, можно переходить на следующий этап, если нет, сразу вносятся правки. Далее собирается нижняя часть, тестируется, демонстрируется заказчику. Вносятся правки. Только в этом случае переход к следующему шагу. Разрабатывается люлька, опять тестирование и опять согласование с клиентом и т. д. – фазами, до полного завершения проекта. 

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

Основные идеи и принципы системы

Идеи:

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

Принципы:

  1. Самое важное – удовлетворять потребности клиентов и демонстрировать им рабочий проект раз в фиксированный промежуток времени (чаще всего это делается раз в две недели). 
  2. Иметь готовность менять требования к итоговому результату на протяжение всего проекта. Это делает продукт более конкурентоспособным. 
  3. Как можно чаще взаимодействовать с клиентом, идеально – ежедневно.
  4. Всегда мотивировать команду, которая работает на проекте. Так все участники будут лучше справляться со своей задачей. 
  5. Обеспечивать личный контакт между членами команды, чтобы коммуникация была более эффективной.
  6. Поддерживать непрерывный темп работы.
  7. Команда должна уметь самоорганизовываться и совершенствоваться. 

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

Методологии управления проектами

Agile – это целый комплекс методологий, среди которых Crystal, Kanban, Scrum и другие. Последние две являются самыми востребованными. 

Scrum

По Scrum, как и положено системе Agile, проект выполняется не полностью, а подготавливается частями, так называемыми спринтами. Длительность спринта обычно 1–3 недели. Каждый следующий этап не может начаться, пока не завершится предыдущий. 

Команда, которая работает по Scrum, распределена по ролям:

  • owner (владелец) – человек, который может полностью донести до команды требования клиента с полным пониманием ценностей для бизнеса, при этом за техническую часть он не отвечает, но определяет приоритетность задач в команде;
  • команда – выполняет все задачи на проекте с учетом приоритетности: разработка дизайна, анализ, программирование, тестирование;
  • scrum-мастер – связующее звено между владельцем и командой, отвечает за то, чтобы работа выполнялась без препятствий.

В проекте, работающем по Scrum, также есть ряд обязательных встреч:

  • планирование спринта – все члены команды, в том числе владелец и scrum-мастер, собираются, чтобы оценить предстоящую работу, обозначить сроки, расставить приоритеты, также каждый участник может высказать свои идеи;
  • ежедневные митинги – занимают до 15 минут по утрам и нужны, чтобы обсудить результаты предыдущего дня каждого члена команды и планы на предстоящий день;
  • обзор – проводится в конце каждого спринта, чтобы продемонстрировать проделанную работу;
  • ретроспектива – подведение итогов по работе команды во время спринта и обсуждение возможностей улучшить работу. 

Основная цель методологии Scrum – улучшить качество продукта за счет усиления командной работы в проектах. 

Kanban

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

При внедрении методологии в команде используют «Канбан-доску», которая состоит из нескольких колонок:

  • to do – список запланированных задач;
  • in progress – задачи, которые выполняются в данный момент;
  • ready for deploy – выполненные, но не протестированные задачи;
  • QA – задачи, которые находятся в процессе тестирования;
  • PO/PM approving – задачи, отправленные на проверку проектному менеджеру;
  • done – полностью завершенные задачи. 

В «Канбан», как и в «Скраме», проект разбивается на спринты. Участники команды действуют так: один человек берет в работу задачу из «to do» и переносит ее в «in progress», а когда работа заканчивается, он передает ее дальше. 

У Kanban есть ценности:

  • прозрачность;
  • баланс;
  • сотрудничество;
  • клиентоориентированность;
  • поток;
  • лидерство;
  • понимание;
  • согласие;
  • уважение. 

Все это в сумме дает компании такие преимущества:

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

«Канбан» также предполагает регулярные встречи команды для решения задач по проекту и обсуждения текущего положения дел. 

Преимущества и недостатки гибкой системы

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

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

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

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

Если клиент не может постоянно быть вовлеченным в процесс, гибкая система компании вряд ли подойдет. А если участники команды не смогут ежедневно общаться между собой, то Agile вовсе не тот вариант, который нужен для оптимизации работы.

Как внедрить Agile

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

  1. Выбирается конкретная методология. Учитываются условия проекта и возможности команды. 
  2. Определяются задачи и цели, срок, за который должен быть выполнен проект и дедлайн для каждого спринта. 
  3. Определяются участники команды, их роли в проекте. 

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

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

Программы для гибкой системы

Внедрить Agile будет проще, если сразу использовать правильные программы: 

  1. JIRA – используется для создания задач, распределения их между участниками команды и отслеживания выполнения. С данным ПО удобно полностью контролировать проект, а все данные будут сохранены от начала до конца. 
  2. Confluence – wiki-система для внутренней работы компании. В ней участники команды могут обмениваться информацией, публикуя ее на веб-страницах. Интегрируется с Jira. 
  3. Trello – работает по принципу «Канбан-доски». Таск-трекер простой в использовании и подойдет для управления проектами во всех нишах.

Внедрение гибкой системы управления проектами – это вызов команде. Чтобы прийти к эффективности, метод должен подходить компании, а команда – грамотно осведомлена. Все должны быть готовы к переменам и уметь гибко подстраиваться под требования.