(РУКОВОДСТВО) Что такое методология Agile: от слов к делу

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

Что такое гибкая методология

Итак, из IT-сферы мы пришли к философии Agile, основные принципы которой вполне подходят и для многих других сфер. Что это за философия и где она может быть полезна? Именно об этом сегодняшняя статья.

Что такое Agile: немного истории

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

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

Если попытаться представить все вышеперечисленное сразу, это будет адекватное понимание «agile». При чем тут философия? История создания Agile Manifesto» поможет нам разобраться в этом.

Для начала, в двух словах, что такое Agile Manifesto? Это документ, закрепляющий основные принципы и ценности, которых следует придерживаться при разработке программного продукта. Далее мы поговорим о Манифесте более подробно, а сейчас, как и обещали, сосредоточимся на истории вопроса.

По мере того, как IT-технологии развиваются все больше и больше, и в этих условиях становится все труднее формулировать точные технические задания (ТЗ). Клиенты часто не совсем понимают, что им нужно. И даже если бы существовала волшебная кнопка «Сделай все хорошо», многим было бы трудно объяснить, что для них значит «все хорошо» и что именно эта чудо-кнопка должна выдавать при нажатии.

Разработчики стали сталкиваться с ситуациями, когда строгое соблюдение ТЗ никогда не гарантирует, что клиент будет доволен. При этом, если клиенту вдруг придет в голову, что он просил что-то не то и должен был попросить что-то другое, внесение изменений в ТЗ займет некоторое время.

А еще потребуют соблюдения определенных формальностей, потому что застройщики начали страховать себя от возможного недовольства заказчиков, закрепляя все требования в виде договора. Кроме того, остается неясным, что в таком случае делать с уже выполненным объемом работ и достигнутыми результатами, если они «не вписываются» в новую концепцию.

Стало понятно, что «обрабатывать» ситуацию необходимо на уровне общего подхода, а не только локального оперативного решения проблем, возникающих в ходе конкретного проекта. Учитывая, что статус стал достаточно серьезным, а его разрешением интересовались многие практикующие разработчики, в начале «нулевого» десятилетия в ИТ-кругах развернулась бурная дискуссия на эту тему.

Результатом стал Agile Manifesto, составленный 17 основными инициаторами дискуссии, которые объединились в Agile Alliance. Окончательные детали Agile-манифеста были согласованы во время живой встречи на горнолыжном курорте в Юте в феврале 2001 года. Окончательный документ был подписан 13 февраля 2001 года. Что он из себя представляет? Давайте посмотрим на это.

Agile-манифест: 12 принципов и 4 ценности

Таким образом, Agile Manifesto фиксирует основные ценности, которым необходимо следовать при разработке программного обеспечения и общении с клиентами, а также руководящие принципы, которым необходимо следовать в этом процессе. Итак, какое значение проповедует Agile Manifesto?

4 Agile-ценности:

  • Человек важнее процесса и/или инструмента.
  • Функционирующий продукт важнее документации, которая его описывает.
  • Сотрудничество важнее, чем переговоры по контракту.
  • Готовность меняться и меняться важнее изначального ТЗ.

Как метко заметили авторы Манифеста, «при понимании важности того, что написано справа, важнее то, что написано слева». В двух словах все это можно представить так: человек первичен, а то, что есть в компьютере, вторично. Поэтому надо сначала решить проблему с заказчиком, а потом уже что-то делать на уровне разработки, т. е. «в компьютере». Именно на это указывают основные принципы Agile, которые мы представим вкратце.

12 гибких принципов:

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

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

  • План.
  • Делать.
  • Проверять.
  • Цикл действия (корректировка при необходимости и последующий цикл действия).

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

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

Гибкие методы и гибкое управление

Разумнее всего разделить Agile как совокупность agile-методов или подходов и Agile-философию как таковую. Рассмотрим ведущие стратегии и техники, используемые в Agile-проектах.

Основные методы Agile:

  • Скрам.
  • Канбан.
  • Экстремальное программирование (XP).
  • ДСДМ.
  • ФДД.

Преимущества Agile

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

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

Основные преимущества гибкой разработки:

  • Высокий уровень вовлеченности в процесс всех заинтересованных сторон исключает недопонимание и прокрастинацию.
  • Быстрые и предсказуемые сроки разработки.
  • Возможность немедленно исправить то, что не работает или работает не так, как ожидалось.
  • Сосредоточьтесь на результатах и ​​ценности для бизнеса, не рискуя погрузиться в «искусство ради искусства».

И конечно, говоря о достоинствах, нельзя не упомянуть и о недостатках.

Недостатки Agile

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

А недостаток Agile-методов, пожалуй, единственный: слабая применимость для больших проектов и организаций со сложной иерархией. Проще говоря, если каждый «ход» нужно согласовывать сначала с отделом маркетинга, с бренд-менеджером, потом с PR-директором, потом с генеральным директором компании-заказчика, а потом ждать, пока все утверждается на ежемесячном совете директоров, ни один из Agile-методов здесь не сработает.

Кроме того, внедрение Agile-методов требует совместной работы всей команды, постоянного живого общения, а также частого личного присутствия заказчика, поэтому использование Agile-методов в условиях удаленной работы проблематично. Однако руководители ИТ-компаний находят массу аргументов как бы «почему лучше и эффективнее работать из офиса».

Иногда к недостаткам Agile-разработки относят вероятность никогда не выпустить окончательную версию ПО, потому что Agile предполагает постоянную корректировку планов и улучшение результата, что увеличивает риск чрезмерной погони за перфекционизмом в ущерб срокам.

Эти опасения в какой-то степени надуманны. Предположим, что бизнес-цель, требования к продукту и критерии разработки четко определены с самого начала. В таком случае перфекционизм вряд ли кому-то грозит, а заказчиков вполне устроит работающий продукт, который «покрывает» их «боли» и потребности задуманного проекта.

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

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

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

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *