Agile, или Гибкая методология разработки, — это свод техник и практик, которые нацелены на то, чтобы ускорить работу команды и сделать ее эффективнее. Почти все техники сводятся к тому, чтобы разбить большой объем работы на несколько подзадач или этапов (итераций). Согласно отчету VersionOne, 94% организаций из сферы разработки программного обеспечения придерживаются Agile. В этой статье дадим 7 техник, которые вы можете взять на вооружение для оптимизации работы своей команды.
Ключом к повышению гибкости Agile является итеративный подход к планированию. По существу, это означает, что вместо того чтобы создавать всеобъемлющий план в самом начале проекта (когда понимание того, что вообще нужно сделать, находится на самом низком уровне), планирование происходит непрерывно, через процесс постоянного контроля и адаптации. Это позволяет проекту меняться и развиваться по мере роста понимания и появления дополнительных деталей и требований, а также подстраиваться под текущие рыночные условия, заинтересованные стороны и обратную связь с пользователями.
В контексте маркетинга существует несколько инициатив, которые выигрывают от итеративного планирования. Например, включив регулярные аналитические обзоры в текущую рекламную кампанию, вы сможете быстро отказаться от действий, которые не приносят результатов, и вместо этого реинвестировать средства в более продуктивные области. Вы также можете применить гибкий подход к предстоящему запуску продукта, анализируя приоритетность задач по мере появления новых требований.
Как и в случае планирования, подход в Agile к выполнению задач также является итеративным и фокусируется на завершении отдельных функций и задач — причем эти функции и задачи должны быть направлены на то, чтобы продуктом можно было пользоваться в любой момент, пусть и не в полном объеме. Есть также понятие минимально жизнеспособного продукта (MVP), которое тоже можно включить в этот пункт. Однако различные гибкие методологии предлагают разные типы итеративного выполнения задач. Чтобы решить, какой лучше всего подходит вам, оцените требования вашей компании и отрасли.
Так, например, если использовать подход Scrum, то работа должна выполняться в течение коротких стадий, известных как «спринты». Обычно в течение двух недель рабочие функции представляются и демонстрируются заинтересованным сторонам в конце каждого спринта, чтобы ускорить цикл обратной связи, свести к минимуму потери инвестиций и обеспечить больший контроль над бюджетом.
В рамках Канбана, напротив, составляется приоритетный список задач, чтобы гарантировать, что наиболее ценные элементы будут выполнены первыми, а узкие места будут выявлены и устранены на ранней стадии.
Также можно воспользоваться гибридной моделью, которая сочетает в себе эти два подхода — выбирая конкретные аспекты из каждого, чтобы создать что-то, что адаптировано к вашим потребностям.
Пользовательские истории, хоть и не относятся исключительно к гибкой методологии, согласуются с ее принципами и могут помочь максимизировать ценность, получаемую с помощью ваших проектов.
Пользовательские истории формулируются по следующей модели: «Как [пользователь], я хочу [задача] для того, чтобы [мотивация]». Эта модель подразумевает, что требования выражаются прямо и соответствуют тому, что действительно хочет пользователь, а также такая модель упрощает передачу этих требований заинтересованным лицам в проекте и делает их понятными и простыми.
Формат можно корректировать. Пользовательские истории должны соответствовать следующим признакам:
Разбивка ваших требований на четкие, содержательные пользовательские истории (или аналогичные задачи) значительно облегчит оценку усилий, необходимых для выполнения каждой задачи; а также поможет в поддержке и оптимизации любых последующих действий по оценке. Кроме того, agile продвигает целый ряд методов, помогающих гарантировать точность оценок, «Покер планирования» — одна из них.
Покер планирования — это гибкая методика оценки, основанная на договоренностях и консенсусе. Чтобы начать сеанс покера планирования, владелец продукта или клиент читает пользовательскую историю и описывает ее функцию оценщикам. Каждый оценщик держит в руках колоду карт со значениями 0, 1, 2, 3, 5, 8, 13, 20, 40 и 100. Эти значения представляют собой количество дней или других единиц измерения, в которых оценивается работа команды.
Оценщики обсуждают функцию, задавая вопросы владельцу продукта по мере необходимости. Когда обсуждение окончено, каждый оценщик в частном порядке выбирает одну карту для представления своей оценки. Затем все карты раскрываются одновременно.
Если все оценщики выбрали одно и то же значение, то оно становится оценкой. Если нет, то оценщики обсуждают свои оценки. Высокие и низкие оценки должны обсуждаться в особенности. После дальнейшего обсуждения каждый оценщик повторно выбирает оценочную карту, и все карты снова раскрываются одновременно.
Процесс покера планирования повторяется до тех пор, пока не будет достигнут консенсус или пока оценщики не решат, что гибкую оценку и планирование конкретного элемента необходимо отложить до получения дополнительной информации.
После оценки расставляются приоритеты в соответствии с ценностями бизнеса, которые определяются конкретными целями и задачами. Однако, в соответствии с философией Agile, нужно регулярно просматривать свой список приоритетов по мере продвижения проекта.
Это позволит оценить успехи по приоритетным задачам и отстающие пункты и убедиться (или нет), что наиболее ценные функции работают и развиваются. Это также позволит вносить изменения в ответ на полученную обратную связь.
Возможность оценки прогресса членами команды и более широкой группой заинтересованных сторон — ключевые особенности Scrum. Для этого существуют демо, ретроспективы и стендапы.
В то время как перечисленные выше методы, несомненно, представляют ценность для организаций как в рамках индустрии разработки программного обеспечения, так и за ее пределами, подлинное раскрытие силы Agile требует сдвигов в философии работы вашей команды или команд. Содействие эффективному сотрудничеству, в частности, является ключевым фактором, потому что способствуют поддержанию деятельности и соответствию этой деятельности целям компании.
Поэтому важно посмотреть, насколько хорошо ваша команда общается и работает вместе в настоящее время, и провести любые учебные мероприятия, чтобы убедиться, что у них есть понимание и навыки, необходимые для работы по гибкой методологии и работы вообще. Кроме того, такие инструменты, как системы мгновенного обмена сообщениями и решения для управления проектами, также могут поддерживать продуктивную коммуникацию.
Чтобы обеспечить максимально эффективное выполнение проектов, многие гибкие структуры рекомендуют ограничить размер основной команды до трех-шести человек; эта модель может помочь многим отраслям поддерживать фокус и скорость. Традиционно, конечно, эта «основная команда» относится к разработчикам, производящим веб- и программные решения, но может быть применена к чему угодно: от менеджеров продаж до контент-стратегов
Кроме того, как правило, существует несколько дополнительных функций, связанных с этой основной командой, которые может быть полезно ввести (вы даже можете назначить эти роли существующим членам команды, если они будут проинформированы о масштабах своих обязанностей):
Однако наличие этих двух ролей не означает, что команда должна управляться на микроуровне. Цель должна состоять в том, чтобы создать команды, наделенные полномочиями брать на себя ответственность за задачи и принимать решения, сохраняя при этом непрерывную коммуникацию и сотрудничество, чтобы поддерживать проект в соответствии с вашими стратегическими целями.
Источник: smartinsights.com