Agile – эффективное управление проектами
Залог успешного проекта – эффективная работа каждого участника команды. Наладить ее бывает не просто, а бывает и так, что усилия вовсе бессмысленные. Современным решением станет внедрение системы управления Agile.
Agile – это гибкая система управления проектами, разработанная в 90-х годах и начавшая работать в 2000-х. Все началось с того, что существующий принцип последовательной разработки (Waterfall) был раскритикован и взамен предложен фазовый подход. Это и легло в основу создания методологии.
Нагляднее будет рассмотреть пример. Предположим, клиент заказал разработку детской коляски. При разных системах процесс выглядит по-разному:
- Waterfall. Разработали дизайн, сделали все элементы, собрали их, протестировали и передали заказчику. Оказалось, что заказчику не понравились колеса. Он возвращает изделие на производство и просит переделать. Коляска разбирается. Все переделывается заново, передается на одобрение. Теперь клиенту не нравится, как сочетаются цвета – опять все заново.
- Agile. Создали дизайн, описали его преимущества, продемонстрировали клиенту. Если он одобрил, можно переходить на следующий этап, если нет, сразу вносятся правки. Далее собирается нижняя часть, тестируется, демонстрируется заказчику. Вносятся правки. Только в этом случае переход к следующему шагу. Разрабатывается люлька, опять тестирование и опять согласование с клиентом и т. д. – фазами, до полного завершения проекта.
Очевидно, что во втором случае работа команды будет более эффективной. Весь процесс будет подвижным и на каждом этапе можно своевременно вносить правки, чтобы итоговый результат сразу получился чистым. Такой подход также значительно экономит время команды.
Основные идеи и принципы системы
Идеи:
- Каждый участник команды и внутреннее взаимодействие важнее, чем процессы и инструменты.
- На выходе должен получиться рабочий продукт, это важнее, чем документация.
- Важно взаимодействие с клиентом, а не составление контракта.
- Важно не зацикливаться на первоначальном плане, а иметь готовность к внесению изменений.
Принципы:
- Самое важное – удовлетворять потребности клиентов и демонстрировать им рабочий проект раз в фиксированный промежуток времени (чаще всего это делается раз в две недели).
- Иметь готовность менять требования к итоговому результату на протяжение всего проекта. Это делает продукт более конкурентоспособным.
- Как можно чаще взаимодействовать с клиентом, идеально – ежедневно.
- Всегда мотивировать команду, которая работает на проекте. Так все участники будут лучше справляться со своей задачей.
- Обеспечивать личный контакт между членами команды, чтобы коммуникация была более эффективной.
- Поддерживать непрерывный темп работы.
- Команда должна уметь самоорганизовываться и совершенствоваться.
Кроме того, команда должна уметь упрощать процессы так, чтобы свести к минимуму количество лишних операций.
Методологии управления проектами
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
Нельзя сегодня решить внедрить гибкую систему и уже завтра начать по ней работать. Процесс перехода – целый комплекс мероприятий:
- Выбирается конкретная методология. Учитываются условия проекта и возможности команды.
- Определяются задачи и цели, срок, за который должен быть выполнен проект и дедлайн для каждого спринта.
- Определяются участники команды, их роли в проекте.
Само собой обязательный пункт – донесение до всех людей принципов гибкой системы. Если внутри компании сделать это невозможно – найти способ обучить. Со своей стороны руководство должно оценить все риски. В большинстве случаев требуется наем сотрудника, который уже имеет опыт в Agile. Его работа – объяснить всем их роли и обязанности. С внедрением методологии также меняются инструменты для ведения аналитики, формат отчетности.
Agile позволяет избежать такого фактора, как конфликт между участниками команды. Все одинаково вовлечены, сохраняется порядок и каждый выполняет свои задачи.
Программы для гибкой системы
Внедрить Agile будет проще, если сразу использовать правильные программы:
- JIRA – используется для создания задач, распределения их между участниками команды и отслеживания выполнения. С данным ПО удобно полностью контролировать проект, а все данные будут сохранены от начала до конца.
- Confluence – wiki-система для внутренней работы компании. В ней участники команды могут обмениваться информацией, публикуя ее на веб-страницах. Интегрируется с Jira.
- Trello – работает по принципу «Канбан-доски». Таск-трекер простой в использовании и подойдет для управления проектами во всех нишах.
Внедрение гибкой системы управления проектами – это вызов команде. Чтобы прийти к эффективности, метод должен подходить компании, а команда – грамотно осведомлена. Все должны быть готовы к переменам и уметь гибко подстраиваться под требования.