МЕНЮ

Аутсорсинговый центр

Неземной
аутсорсинг
Заказать звонок

ОПРЕДЕЛЕНИЕ

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

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

Важно понимать, что гибкий подход противоположен каскадному (последовательному) способу выполнения проектов. Каскадный подход не работает, когда команда создает что-то совершенно новое, чего раньше не было. Если попытаться заранее составить план и строго его придерживаться, есть риск застрять на каком-то этапе или не получить в итоге то, что нужно.

Поэтому в ИТ важен пошаговый, гибкий подход к разработке. Это позволяет быстро тестировать гипотезы и проверять их с клиентами на средних этапах. И если что-то изменится, то подстройте свои планы и приоритеты под эти изменения. Гибкость и адаптируемость, эффективность и качество — ключевые черты Agile-подхода. Но важна и скорость, ведь если слишком долго работать над проектом и постоянно откладывать запуск, то терпению заказчиков или финансированию может прийти конец.

Но скорость ради скорости не в духе Agile. Соблюдение основных принципов позволяет команде достичь оптимального баланса между тремя основными критериями: удовлетворенность пользователей, скорость работы, качество работы. По сути, вы должны найти общую область соприкосновения между «Делай правильно» (то, что нужно пользователю и заказчику), «Делай правильно» (не используй костыли, пиши хороший код сейчас с глазом на глаз в будущее) и «Делай быстро» (не задерживать релизы, стараться опередить конкурентов).

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

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

ДЛЯ ЧЕГО НУЖНА МЕТОДОЛОГИЯ ГИБКОЙ РАЗРАБОТКИ?

Итак, для чего же применяется методология Agile?

Ускорение выпуска продукции на рынок
Если вы хотите сделать что-то быстрее, вы должны делать это в соответствии с Agile. Очень простой пример. Есть две компании, у них примерно одинаковая работа. Кто-то пишет ТЗ, затем проектирует систему и рисует дизайн — это каскадная модель, на разработку которой могут уйти месяцы. В другой Agile компании в этот момент может быть уже запущен сайт, выпущен софт, она начнет зарабатывать деньги и завоевывать рынок, а это самое главное.
Управление изменениями приоритетов
Это может быть очень болезненной проблемой практически для всех компаний. Если вы работаете над проектом, который длится хотя бы несколько месяцев, то ваши требования обязательно изменятся. Конечно, если это не программное обеспечение, например, для спутника или ровера. Хотя даже спутники и роверы обычно загружаются последней версией программного обеспечения, когда прибывают в пункт назначения. Если говорить о коммерческой разработке, то проблема в том, что мы, разработчики, аналитики и дизайнеры, никогда не знаем, что нужно не только заказчику, который нам платит, но и пользователям. Обычно все подходят к проблеме так: пока пользователь не попробует функционал сайта или приложения, ты не знаешь, нужно ему это или нет.
Улучшение взаимодействия между ИТ и бизнесом
Это головная боль, особенно для крупных компаний, ведь требования бизнеса время от времени меняются, каждый говорит на своем языке. Из-за этого стороны не понимают друг друга.

СИЛЬНЫЕ И СЛАБЫЕ СТОРОНЫ AGILE

Почему Agile так популярен среди менеджеров и подрядчиков? Потому что такой подход выгоден для всех участников рабочего процесса:

  • Вся команда свободна в принятии решений во всем, что касается проекта: выбирает технологии, архитектурные решения, подходы и практики.
  • Каждый разработчик получает возможность работать с технологиями, которые ему интересны и влияют на продукт, и тем самым чувствовать смысл своего труда и собственную ценность для команды.
  • Бизнес получает современный продукт, отвечающий потребностям пользователя. Сотрудникам приятно и интересно работать, рабочие процессы мобильны и гибки.
  • Пользователь получает действительно полезный продукт, на развитие которого он может влиять. Продукт своевременно обновляется: появляются новые функции, устраняются ошибки.
  • Все в плюсе: проект заканчивается качественным продуктом, который легко изменить. Пользователи с удовольствием им пользуются, а команда создателей мотивирована на продолжение своей работы.

Напомним основные вызовы, к которым должна быть готова Agile-команда:

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

КОМУ ПОДОЙДЁТ AGILE

Когда команда состоит из нескольких человек, для работы достаточно простого Telegram-чата. Но чем больше команда, тем сложнее эффективно организовать ее работу. И нужно использовать более сложные инструменты. Вам стоит попробовать Agile, если:

  • Команда путается в задачах: трудно определить, где чья зона ответственности, части команды плохо общаются друг с другом и теряют важную для работы информацию.
  • Agile помогает поддерживать прозрачность рабочих процессов даже для очень больших команд: Kanban, Scrum — какую бы реализацию вы ни выбрали, гибкое управление позволит вам быстро перемещаться по статусам задач, отслеживать ход проекта и четко понимать, кто за что отвечает.
  • Вы ограничены жесткими временными рамками: например, вам нужно запустить новый продукт раньше конкурентов. Методы Agile помогают минимизировать последствия неверных решений и вовремя изменить направление проекта.
  • Результат проекта заранее неизвестен: например, вы что-то изобретаете или запускаете инновационный стартап. Agile позволит вам проложить наилучший путь к осуществимому продукту, несмотря на изменение цели в процессе.

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

ПРИНЦИПЫ AGILE

Agile — это семейство процессов разработки, а не единый подход к разработке программного обеспечения, и он определяется Манифестом Agileagila. Agile не включает практики, но определяет ценности и принципы, которыми руководствуются команды.

Agile Manifesto был разработан и принят 11-13 февраля 2001 года в The Lodge at Snowbird Ski Resort в горах Юты. Манифест Agile содержит 4 основные идеи и 12 принципов. Важно отметить, что Agile Manifesto не содержит практических советов.

Ключевые идеи:

  • люди и взаимодействие важнее процессов и инструментов
  • рабочий продукт важнее исчерпывающей документации;
  • сотрудничество с заказчиком важнее согласования условий договора;
  • Готовность к изменениям важнее, чем следование первоначальному плану.
  • Основные принципы Agile Manifesto:
  • Наивысшим приоритетом является удовлетворение потребностей клиентов за счет своевременной и бесперебойной поставки ценного программного обеспечения;
  • изменение требований приветствуется даже в конце разработки (это может повысить конкурентоспособность получаемого продукта);
  • частая поставка рабочего ПО (раз в несколько недель или месяцев, предпочтительно на более короткий срок);
  • общение представителей бизнеса и разработчиков должно быть ежедневным на протяжении всего проекта;
  • проекты должны строиться вокруг заинтересованных людей, которым должны быть обеспечены правильные условия работы, поддержка и доверие;
  • самый эффективный способ обмена информацией в коллективе – личная встреча;
  • запуск программного обеспечения — лучший показатель прогресса;
  • спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп в течение неопределенного времени;
  • постоянное внимание к техническому совершенству и хороший дизайн повышают гибкость;
  • простота очень важна, как искусство не делать ненужной работы;
  • лучшие требования, архитектура и дизайнерские решения исходят от самоорганизованных команд;
  • команда регулярно думает о том, как повысить свою эффективность и соответствующим образом корректирует рабочий процесс.
Возврат к списку