Что такое Agile

«Любое дело всегда длится дольше, чем ожидается, даже если учесть закон Хофштадтера.» — закон Хофштадтера Что такое Agile Самый просматриваемый ролик на YouTube по теме agile. 744 625 просмотров на момент публикации данной статьи. Легкий стиль изложения, картинки и всего 15 минут — лучшее что я видел. TED отдыхает.

Роли

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

Пропускная способность

Что такое Agile Так как команда использует гибкую методологию разработки, они не копят все эти истории до большого релиза, наоборот, они выпускают их сразу и как можно чаще. Обычно они выпускают 4-6 пользовательских историй в неделю. Это их пропускная способность. Ее очень просто измерить — количество пользовательских историй за 7 дней. Некоторые истории большие, их можно считать за две, некоторые маленькие, их можно считать за половину.

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

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

Что произойдет, если мы будем делать все, о чем они нас просят? У нас будет перегруз

Что такое Agile Допустим, команда возьмется сделать 10 новых историй за эту неделю.Если на входе 10 а на выходе 4-6, то команда будет перегружена. Будет спешить, переключаться между задачами, терять мотивацию, в итоге снижается производительность и качество. Это заведомо проигрышная стратегия. Scrum и XP в этом случае используют метод “вчерашняя погода”. Команда говорит: “За последнее время мы делали 4-6 фич в неделю, какие 4-6 фич мы будем делать на следующей неделе?” Задача владельца продукта в том, чтобы грамотно выбирать, какие именно пользовательские истории будут реализованы на этой неделе. Kanban рекомендует ограничиться несколькими задачами — WIP limit. Допустим команда решает, что 5 — это приемлемое количество пользовательских историй, над которыми они смогут работать одновременно без перегруза, не перескакивая с одной на другую. Что такое Agile Оба эти подхода хорошо работают и оба они создают очередь задач, которые в Scrum называется Backlog, или приоритезированный список задач. Этой очередью тоже необходимо управлять.Если заинтересованные лица запрашивают 10 историй в неделю, а команда реализует 4-6 историй, то эта очередь будет становиться все больше и больше. И скоро ваш Backlog будет расписан на полгода вперед. То есть одна история будет ждать выхода 6 месяцев.

Есть только один способ держать список задач под контролем — это слово “нет”

Это наиболее важное слово для владельца продуктом. Он должен тренировать его каждый день перед зеркалом.

Сказать “да” — легко.

Но более важная задача — решать, что не надо делать и нести за это ответственность. Владелец продукта так же определяет последовательность, что делаем сейчас, а что позже.

Это сложная работа и выполнять ее следует вместе с командой разработки и минимум одним заинтересованным лицом.

Для того, чтобы правильно расставить приоритеты, владелец продукта должен понимать ценность каждой истории и ее объем.

Принятие решений

Некоторые истории крайне необходимы, а некоторые просто бонусные фичи. На разработку одних историй уйдет пару часов, на разработку других — месяцы.

Как соотносится размер истории и ее ценность? Никак. Больше не значит лучше. Ценность и сложность задачи — вот что помогает Пэт расставлять приоритеты.

Как владелец продукта определяет ценность и объем истории? Никак. Это игра в угадайку. И лучше в ней участвовать всем.

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

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

Каждый раз когда разработчики выпускают что то новое, мы узнаем больше информации и можем лучше ориентироваться. Одной приоритезации недостаточно. Чтобы выпускать истории быстро и часто, нужно разбивать на кусочки, которые можно сделать за пару дней. Мы хотим чтобы в начале воронки были маленькие и четкие истории а в конце — большие и неопределенные. Вовремя делать такую разбивку мы можем воспользоваться нашими последними открытиями относительно продукта и нужд пользователя. Это все называется очистка Backlogа. Пэт проводит встречу по очистке Backlogа каждую среду с 11 до 12. Обычно на ней собирается вся команда и иногда несколько заинтересованных лиц. Содержание встреч бывает разным. Фокусировка на оценке, на разбивке историй, на критериях приемки.

Владелец ИТ-продукта должен постоянно со всеми общаться

Матерые владельцы продукта выделяют 2 компонента успеха: страсть к работе и общение. Какие задачи владелец продукта решает месте с командой.

Баланс между сложностью разработки и ценностью пользовательской истории

На ранней стадии балансу угрожает неопределенность и сразу несколько рисков.

Риски

Бизнес риск: «Правильную ли вещь мы делаем?» Социальный риск: «Сможем ли мы сделать то что нужно?» Технический риск: «Будет ли проект работать на данной платформе?» Риски со стоимостью и сроками реализации: «Успеем ли и хватит ли денег?» Знание можно рассматривать как противоположность риску. Когда неопределенность большая, мы фокусируемся на приобретении знаний — прототипах интерфейса, технических экспериментах,

Компромисс между ценностями знания и ценностями для клиента

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

Компромисс между краткосрочным и долгосрочным мышлением

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

Делать правильные вещи, делать вещи правильно или делать быстро?

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

или Мы делаем быстро прототип продукта. Для краткосрочной перспективы это неплохо. В долгосрочной — мы получаем технический риск. И скорость разработки снизится до нуля. или Мы вот здесь, создаем прекрасный храм в рекордные сроки.

Но пользователю не нужен был храм, ему нужен был жилой фургон.

Между ролями в Scrum существует здоровое противостояние

Владелец продукта фокусируется на построении правильных вещей. Команда фокусируется на том, чтобы строить вещи правильно. Scrum-мастер или agile-тренер фокусируется на сокращении цикла обратной связи. Отдельно стоит подчеркнуть важность скорости, так ккак короткий цикл обратной связи ускоряет обучение. Это позволяет нам быстрее узнавать какие вещи правильные и как их правильно построить.

Компромисс между разработкой нового продукта и улучшением старого

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

Читайте также:  Как начать зарабатывать на биржах фриланса

Обычно команда поддерживает старый продукт, разрабатывая новый. Поэтому скорее понятие “Backlog” относится не к продукту а к команде. Backlog — это список вещей, которые хочет владелец продукта от команды. И набор историй для разных продуктов.

Владельце продукта нужно постоянно выбирать актуальные для реализации.

График уничтожения историй

Время от времени, заинтересованные лица будут спрашивать у Пэт: “Когда выпустят мою фичу?” или “Сколько фич выпустят к рождеству?”. Владелец продукта должен уметь управлять ожиданиями пользователя. И управлять ожиданиями реалистично. Два тренда — оптимистичный и пессимистичный (можно на глаз).

Расстояние между трендами показывает насколько нестабильна скорость работы команды. Со временем эти тренды стабилизируются и конус неопределенности будет уменьшаться. Предположим, заинтересованное лицо спрашивает, когда вот эта фича будет сделана? Это вопрос с фиксированным содержанием и неопределенным сроком.

Для ответа Пэт использует две линии тренда. Ответ — в апреле или мае. Заинтересованное лицо спрашивает Пэт: «Сколько будет сделано к рождеству?» Это вопрос с фиксированным сроком и неопределенным содержанием. Линии тренда отсекают на вертикальной шкале вероятный отрезок того, что успеют реализовать.

Заинтересованное лицо спрашивает :«Успеем ли мы сделать вот эти фичи к рождеству?» Это вопрос с фиксированными временными рамками и фиксированным содержанием. Ориентируясь на тренды, Пэт отвечает: «Нет». Добавляя: «К рождеству мы успеем сделать столько, а вот столько времени нам понадобится чтобы завершить всю эту работу полностью.

» Обычно лучше уменьшать содержимое проекта, чем увеличивать время. Если мы уменьшаем содержание, у нас будет возможность отодвинуть сроки. Мы можем выпустить кое-что здесь, а остальное — позже. Владелец продукта делает расчеты еженедельно и использует исключительно эмпирические данные, а не выдает желаемое за действительное.

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

Несколько команд

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

У владельцев продуктов появляется дополнительная задача — общение с другими владельцами продукта. Нужно организовать работу над Backlogами так, чтобы минимизировать зависимости и обеспечить синхронизацию. В больших проектах требуется Главный владелец продукта (CPO), чтобы синхронизировать всех остальных.

Исходник — Agile Product Ownership in a nutshell

Что такое Agile, и как внедрить его в работу компании?

Что такое Agile Что такое Agile, и как внедрить его в работу

компании?

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

Изначально она рассматривалась для небольших коллективов, выполняющих однообразную монотонную работу, но позднее её стали внедрять даже крупные мировые бренды.

Эффективность труда при грамотном использовании эджайл только растёт, вместе с авторитетом руководства.

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

Определение эджайл в современной системе управления

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

История эджайл началась в 1970-м году, когда американский учёный Уинстон Ройс опубликовал статью со своим видением разработки программного обеспечения.

Система получила название каскадного метода, её ставили в противовес фабричным конвейерам с последовательным циклом.

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

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

Всё изменилось в девяностые — выпуск «народной» операционной системы Windows сделал IT-образование востребованным по всему миру.

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

Что такое Agile

Пик медийного шума наступил в 2001-м году. 11 программистов из разных компаний собрались в городке Сноубёрд неподалёку от Солт-Лейк-Сити и коллективно написали манифест эджайл. В нём всего четыре пункта, которые наиболее полно раскрывают идеологию метода:

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

  2. Предположим, вы создаёте видеоигру на основе книжной вселенной, у которой миллионы поклонников по всему миру. Им не нужны «дорожные карты», важно лишь, чтобы игра не разочаровала, а позволила погрузиться в любимый мир. Напротив, прекрасно презентованный проект, но с багами и «вылетами» гарантированно провалится уже на старте продаж.

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

  4. Яркий пример здесь — рекламная политика социальных сетей, которая зависит от решения совета директоров. Сегодня ваш товар востребован и хорошо продаётся, а завтра продвижение придётся согласовывать. Чтобы не потерять покупательскую базу, ищите альтернативные каналы для рекламы, следите за трендами и всегда ориентируйтесь на потребительские запросы.

НА ЗАМЕТКУ

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

Что такое Agile

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

Принцип №1

Результат превыше всего

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

Принцип №2

Никогда не поздно запустить новый проект

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

Принцип №3

Постоянно обновляйтесь

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

Принцип №4

Работайте вместе с заказчиком

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

Что такое Agile

Доверяйте своей команде

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

Принцип №6

Поддерживайте общение внутри коллектива

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

Принцип №7

Начинайте с малого

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

Принцип №8

Нет предела совершенству

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

Принцип №9

Гибкость означает качество

Не только покупатель определяет суть продукта. Например, алгоритм Баден-Баден серьёзно пошатнул сферу онлайн-торговли. Благодаря ему из поисковой выдачи практически исчезли сайты магазинов и услуг, которые пользовались нагромождением тегов и переспама. А вот порталы с качественным уникальным контентом, наоборот, научились подстраиваться под правила.

Читайте также:  Тестирование новых идей с MVP

Принцип №10

Упрощайте ненужные этапы производства

Мало кто любит внутреннюю бюрократию, в нынешних реалиях бизнеса она скорее вредит успеху. Сократите количество совещаний, отчётов или штатных проверок, замените работу десяти менеджеров одной CRM-системой. Результат проявится уже спустя пару месяцев — эффективность персонала на каждом уровне только возрастёт, а «освободившиеся руки» займутся делом.

Принцип №11

Самоорганизация спасает нервы

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

Принцип №12

Повышайте эффективность на собственных ошибках

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

Что такое Agile

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

Что такое Scrum?

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

Обычно Scrum технология строится по алгоритму из 10 пунктов:

  • Назначается роль владельца, который обладает единоличным правом запускать производство. Это может быть директор либо уполномоченный проект-менеджер.
  • Собирается команда штатных исполнителей. Золотым стандартом принято считать микро-группы от 4 до 6 человек с чётким распределением обязанностей.

Что такое Agile: методология, команда, оценка эффективности

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

 Было бы более точным употреблять формулу «Agile — это способ командного взаимодействия, позволяющий совместно создавать продукты».

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

  • Как сделать так, чтобы задержка в работе одного отдела не останавливала остальных?
  • Как сделать так, чтобы разработка плана проекта не занимала до 30% времени от всего объёма его реализации?
  • Как, в конце концов, добиться того, чтобы эти планы соблюдались?

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

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

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

Главное мерило эффективности, принятое в гибкой методологии, — продукт. Пока другие только готовят документацию, agile-команды стремятся представить работоспособный прототип. Это как в знаменитой мотивирующей формуле: «„Сделано“ — это лучше, чем „идеально“». Реализуйте первую функцию и начните тестировать её, создавая следующую, и так раз за разом — вот главное правило.

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

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

Именно по этому признаку такие задачи и отбираются.

Что такое Agile

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

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

Agile-команда строится на принципах самоорганизации и относительного равенства всех участников. Даже человек, которого многие представляют главой проекта, product owner, на самом деле — лишь персонификация требований к продукту.

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

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

Принципы формирования agile-команд разнятся в зависимости от конкретного проекта. Например, в музыкальном сервисе Spotify они строятся вот так:

Что такое Agile

Ещё одна важная ценность agile-команд — взаимопроникновение знаний. Член команды не должен замыкаться в своей узкой области, ему следует стремиться к кросс-дисциплинарности. Это не значит, что программист должен быть и продавцом, а дизайнер — маркетологом.

Важно! Но иметь базовые знания о смежных специализациях в гибкой разработке необходимо.

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

Что такое Agile

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

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

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

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

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

Что такое Agile

Следование им и поможет на этапе внедрения, и будет подспорьем в процессе работы.

Лучше познакомиться с Agile и другими современными методологиями, применяемыми в сферах от IT до медиа и маркетинга, а также погрузиться в построенные на их основе процессы вы сможете, пройдя курс «Руководитель digital-проектов» от Skillbox.

Что такое Agile и подойдет ли он вашей компании | РБК Тренды

Что такое Agile

Shutterstock

В 2021 году исполнилось 20 лет «Манифесту Agile». Подход зародился как бунт разработчиков против неповоротливых ИТ-корпораций. Разбираемся, что происходит с Agile сейчас и как его применяют в российских компаниях

1

Agile, или Agile software development — гибкий подход к разработке программного обеспечения (ПО), который часто применяют в небольших командах.

Весь процесс работы над проектом делится на итерации — короткие циклы по две-три недели.

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

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

Термин Agile употребляют в двух основных значениях:

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

Как правило, agile-команды включают разработчиков, тестировщиков, менеджеров проектов, дизайнеров интерфейсов, технических (UX) писателей.

Все они равноценны в иерархии и работают в одном офисе или коворкинге. За счет личного общения они экономят время на обсуждении текущих процессов.

Сторону заказчика представляет менеджер или руководитель — product owner, от которого команда регулярно получает обратную связь.

Agile возник в противовес устаревшим подходам и излишней бюрократии в сфере ИТ. Резиденты Кремниевой долины (и не только) поняли, что невозможно создавать инновационные продукты в консервативной среде. Поэтому в феврале 2001 года в штате Юта (США) 17 разработчиков из разных стран мира создали свой манифест, в котором объединили самые передовые подходы и принципы.

2

Agile-манифест базируется на четырех главных ценностях:

1. Люди и их взаимодействие важнее процессов и инструментов.

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

Читайте также:  Коды ОКВЭД для цветочного магазина

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

2. Работающий продукт важнее документации и отчетности.

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

3. Сотрудничество с заказчиком важнее соблюдения формальных условий.

Даже если перед проектом подписан договор с жесткими условиями и характеристиками, в процессе работы они могут меняться.

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

При этом важно постоянно быть на связи и обсуждать каждое изменение, принимая решение совместно.

4. Готовность к изменениям важнее, чем следование плану.

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

Agile не исчерпывается четырьмя ценностями [1]. В манифесте есть также 12 принципов, которые уточняют и дополняют их. Их можно свести к следующему:

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

Agile, таким образом, — это система ценностей или даже философия ведения бизнеса. Она помогает сосредоточиться на главном, избавиться от ненужных формальностей и создавать рабочий продукт быстрее и эффективнее. Чтобы воплотить эти ценности на практике, используют конкретные методы. Согласно исследованию Agile в России [2], самые популярные из них — Scrum и Kanban.

3

Scrum, или «подход структуры» — метод на основе Agile, при котором работа над проектами разбивается на спринты — короткие, одинаковые по времени итерации. Команда тоже небольшая — до десяти человек. В нее входят разработчики, product owner (владелец продукта) и scrum-мастер.

Product owner — куратор группы, который следит за тем, чтобы конечный продукт отвечал его целям и задачам. Scrum-мастер — человек, который отвечает за правильное применение scrum-метода: организует встречи и обмен сообщениями между всеми участниками.

В процессе работы все участники ежедневно обсуждают каждое решение, планы и приоритеты, а также распределяют задачи.

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

Здесь команда представляет собой единой целое, без кураторов и неформальных лидеров. Процесс делится не на спринты, а на стадии проекта: планирование, разработка, тестирование, запуск. Главный показатель эффективности — максимально быстрое завершение каждого из этапов, без простоев и переработок.

Если они все же возникают, команда совместно решает, как оптимизировать процесс.

В отличие от scrum, kanban:

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

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

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

Это помогает каждому участнику проекта видеть всю картину целиком, вовремя замечая, если что-то провисает или кому-то нужна помощь.

Пример доски Trello, созданной по принципам agile.

Что такое Agile

Если вы только подступаетесь к философии Agile и хотите попробовать отдельные элементы, проще начать с kanban. Небольшим стартапам и командам, которые только планируют запуск проекта, подойдет scrum.

4

Agile простым языком

Agile (Гибкая методология разработки) — обобщающий термин для целого ряда подходов и практик, основанных на ценностях Манифеста гибкой разработки программного обеспечения и 12 принципах, лежащих в его основе.

Проще говоря, Agile — это не про отчетность, документооборот и четкий план, а про постоянное общение с клиентом и готовность оперативно реагировать на изменения в ходе проекта.

Ценности

  1. Люди и взаимодействие важнее процессов и инструментов
  2. Работающий продукт важнее исчерпывающей документации
  3. Сотрудничество с заказчиком важнее согласования условий контракта
  4. Готовность к изменениям важнее следования первоначальному плану
  • Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
  • Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.
  • Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
  • На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
  • Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
  • Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
  • Работающий продукт — основной показатель прогресса.
  • Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
  • Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
  • Простота — искусство минимизации лишней работы — крайне необходима.
  • Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
  • Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.

Это визуализированный подход к управлению проектами. Используя Канбан, команды визуализируют задачи при помощи доски и стикеров либо специальных онлайн-инструментов.

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

Scrum

Скрам — это методология управления проектами, в которой командой руководит Скрам-мастер. Его главная задача состоит в устранении преград на пути к завершению проекта.

Работа в команде делится на короткие повторяющиеся циклы, которые называются спринтами и обычно длятся 1-4 недели. При этом команда собирается на ежедневные митинги (стендапы), чтобы обсудить текущие задачи и препятствия, которые предстоит преодолеть.

Экстремальное программирование (XP)

Название методологии произошло от идеи использовать полезные классические методы разработки ПО, подняв их на «экстремальный» уровень.

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

Бережливое производство (Lean)

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

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

Ваш комментарий будет первым

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

Ваш адрес email не будет опубликован.