Agile: сокращаем разрыв между теорией и практикой

Agile – одна из передовых тенденций последних лет. На эту тему уже написано много статей и учебников. Как правило, в них собраны теоретические выкладки относительно того, что такое Agile, как надо работать в условиях Agile и как это помогает сократить «time-to-market» и повысить конкурентоспособность компании.

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

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

  • дебоссинг;
  • гибкость;
  • работающие вместе команды из бизнеса и ИТ;
  • agile-офис (пуфики, пространства для общения, модная мебель, игровые зоны, комнаты тишины, релаксации и пр.);
  • матричная структура: владелец продукта и чаптер-лидер;
  • наполнение и ведение бэк-лога;
  • приоритезация бэк-логов, PI-planning.

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

Дебоссинг

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

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

Отношение сотрудников. В нашей стране все еще чувствуются отголоски советского периода, когда пропаганда гласила, что самые главные люди – это трудящиеся (в контексте Agile – программисты и аналитики), а руководители – нахлебники, эксплуататоры и пр., которые забирают себе в карман львиную долю дохода ни за что. И поэтому, когда трудящиеся слышат про дебоссинг, то в их глазах сразу же возникает картина, что из руководства должен остаться только руководитель компании (а еще лучше, чтобы не было и его).

Однако на практике в ходе внедрения Agile руководители, разумеется, никуда не деваются, и невыполненное «обещание» дебоссинга разочаровывает сотрудников.

Как исправить / не допустить: Во-первых, я советую вообще не использовать термин «дебоссинг» при внедрении Agile. Он действительно имеет под собой семантическую подоплеку «избавления от руководителей», а Agile в реальности не требует такого избавления. Agile говорит о том, что не от руководителей надо избавляться, а наоборот: сотрудники должны подняться ближе к руководителям и взять часть их функций на себя (в первую очередь, функций по оперативному управлению продуктами и принятию решений по развитию продукта), а руководители должны слегка спуститься на уровень сотрудников и развить в себе hard skills. Как к этому прийти? Стандартными способами: через обучение, через боль, через ошибки, при этом приходится без жалости увольнять тех, кто не готов брать на себя дополнительную ответственность, а также уделять особое внимание наличию данных компетенций при найме новых сотрудников. «Просто хорошие» программисты и «просто хорошие» аналитики в Agile не востребованы: нужны хорошие программисты и аналитики с развитыми soft skills, готовые работать над продуктом самостоятельно. Так же, как и просто хорошие руководители, не обладающие предметными знаниями, в Agile тоже не востребованы.

Гибкость

Идея Agile. Идея гибкости отражена на самом верхнем уровне в основополагающем документе Agile – манифесте.

В нем есть следующие пункты:

  • Готовность к изменениям важнее следования первоначальному плану.
  • Работающий продукт важнее исчерпывающей документации.

О чем это говорит? О том, что нужно идти маленькими итерациями развития продукта, идти в первую очередь от потребностей клиентов, выводить MVP (minimum value product – минимально жизнеспособный продукт), постоянно совершенствовать продукт с учетом мнения клиентов и изменяющихся обстоятельств, причем совершенствовать «без оглядки на документацию» и без лишнего формализма.

Отношение сотрудников. «Работающий продукт важнее исчерпывающей документации» – отлично! Нет и не может быть никаких ТЗ! А значит, не может быть никаких обязательств: что успели сделать за спринт / суперспринт, то и показываем, то и выводим в пром.

«Готовность к изменениям важнее следования первоначальному плану» – еще лучше! Берем в работу любой новый чих, старые требования и договоренности отодвигаем (мы же должны продемонстрировать готовность к изменениям) и говорим, что их не выполнили, т. к. вскрылись новые обстоятельства и поступили новые требования!

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

Как исправить / не допустить. К чему приводит такое отношение, вполне понятно:

  • потеря управляемости сотрудниками;
  • вместо итерационного развития продукта получаем итерационное хождение по кругу и нахождение на месте.

Тут важно понимать, что все требования клиентов учесть невозможно (да и не нужно), и поэтому не надо буквально воспринимать посыл «Готовность к изменениям важнее следования первоначальному плану» как руководство к действию при каждой коммуникации с клиентом. Сосредотачиваться надо не на этом, а на том, чтобы регулярно с небольшой периодичностью выпускать новые версии продукта с учтенными критическими (а не всеми!) требованиями.

Хорошим (но сложным) подходом, который может обезопасить команду от неправильного толкования Agile-гибкости, может быть подход, когда оценка и премирование команды напрямую зависит от показателей удовлетворенности клиентов (NPS, CSI или аналогов) и/или от бизнес-показателей, отражающих вклад команды в прибыль компании (прибыль от продукта, доля рынка компании по данному продукту и пр.). В этом случае происходит перелом в мышлении сотрудников, и они начинают отказываться от бездумного подхода по учету всех подряд требований: остаются только требования, влияющие на приписанные к команде показатели.

Работающие вместе команды из бизнеса и ИТ

Идея Agile. Данная идея тоже отражена в манифесте Agile:

  • Люди и взаимодействие важнее процессов и инструментов.
  • Сотрудничество с заказчиком важнее согласования условий контракта.

Отношение сотрудников. Данные пункты манифеста Agile расслабляют многих сотрудников (либо особо ленивые и хитрые сотрудники начинают использовать их в своих целях). Вместо того, чтобы включать голову и думать самим над функционалом продукта и способом его реализации (в т. ч. с учетом всевозможных архитектурных и других ограничений), все активно начинают «взаимодействовать» и «сотрудничать» друг с другом. В условиях open-space это может превратиться в сущий ад: в течение рабочего дня все друг друга дергают, спрашивают, ставят в копии писем и пр. В течение дня через человека может проходить до сотни, а то и больше, электронных писем (т. е. в среднем человек может получать новое письмо каждые 5 минут), человек может чуть ли ни весь день принимать участие в различных (не всегда эффективных) встречах и совещаниях и пр. В результате каждый занят не своей работой, а реагированием на входящие коммуникации. И получается, что самое эффективное для работы время – это нерабочее время, когда коммуникационные страсти утихают и можно сесть и спокойно, сосредоточенно поработать.

Как исправить / не допустить. Я не говорю о том, что коммуникации надо полностью исключить и ни в коем случае никому ни с кем не взаимодействовать. Нет, конечно же, без взаимодействия и общения никакой командной работы не будет. Но эти взаимодействия должны быть осознанными и качественными. Один из способов повышения качества взаимодействий является внедрение инструментов Time-management. И мне представляется, что при переходе на Agile руководство должно особое внимание уделить внедрению и популяризации Time-management. Количество коммуникаций при переходе на Agile возрастает в десятки или даже сотни раз и без соответствующего инструментария Time-management в новых условиях просто не выжить. А учитывая, что во время коммуникаций, встреч и совещаний (количество которых при переходе на Agile тоже увеличивается) время тратится кратно количеству участников (1 час неэффективного совещания 8 человек – это потерянные 8 человеко-часов, или 1 человеко-день), критичность необходимости внимания к данному вопросу просто зашкаливает.

Agile-офис (пуфики, пространства для общения и пр.)

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

Отношение сотрудников. Нельзя сказать что это относится ко всем сотрудникам, но ко многим – наверняка: оказавшись в атмосфере такого нового модного офиса, сотрудники расслабляются, живут в атмосфере вольности, не чувствуют никаких корпоративных рамок, на официальных Agile-церемониях (и даже встречах) просто «разваливаются» в пуфиках, ходят в какой попало одежде (прикрывая это модной шуткой, что «люди в дорогих костюмах и галстуках выглядят успешными, пока не выясняется, что они работают на людей в джинсах и футболках»), думают «как же это круто, что у нас офис как Google / Apple / Yandex / Facebook», а не о том, как выполнять свою работу, и пр.

Ожидания некоторых руководителей. Но не менее страшным и опасным является неправильное отношение руководителей и их завышенные ожидания от новых офисов. Некоторые руководители, также ассоциируя новый офис «с офисом как в Google» / «как в Apple» / «как в Yandex» / «как в Facebook» и пр., начинают считать, что похожий офис – это достаточное условие, чтобы компания стала такой же (ну или почти такой же), как и ведущие ИТ-гиганты. Но офис – это только оболочка. Поэтому не стоит думать, что успех Google, Apple, Yandex, Facebook и пр. компаний кроется только в офисе. Наверняка там есть что-то еще, что позволило им добиться таких высот (например, система управления, выстроенные процессы, корпоративная культура и пр.).

Как исправить / не допустить. Все банально – не надо давать вольности в дресс-коде, в поведении, в корпоративной этике и культуре при переходе на Agile. Не важно, Agile у вас в компании или нет, элементарные правила поведения (в т. ч. и офисные) никто не отменял.

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

Матричная оргструктура: владелец продукта и чаптер-лидер

Идея Agile. Владелец продукта занимается развитием продукта, ведением бэк-лога и постановкой задач команде. Чаптер-лидер – поставщик ресурсов и компетенций в команде: занимается подбором людей и развитием команды.

Отношение чаптер-лидеров. Многие чаптер-лидеры (как правило, это бывшие начальники отделов в ИТ) продолжают «по привычке» ставить задачи «своим» людям, контролируют их, управляют приоритетами, закрытием дефектов разработанного программного кода и пр. А сотрудники, в свою очередь, тоже по привычке идут не к владельцу продукта, а к чаптер-лидеру, чтобы что-то проэскалировать, приоритезировать и пр. В результате получается, что чаптер-лидер не выполняет свои прямые обязанности (или выполняет их по остаточному принципу), вместо этого частично выполняет обязанности владельца продукта и в итоге не понятно кто отвечает за принятые по тем или иным вопросам решения.

Как исправить / не допустить. Необходимо как можно раньше (т. е. с самого начала перехода на Agile) аккуратно расписать, формализовать и привязать KPI и цели к системе стимулирования так, чтобы чаптер-лидеры отвечали только за HR-показатели по своему чаптеру:

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

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

Наполнение и ведение бэк-лога

Идея Agile. В этой части Agile мало чем не отличается от обычного классического подхода – есть стратегия компании (стратегические цели) на несколько лет, они декомпозируются в четкие цели и задачи на год, год распадается на кварталы и т. д. В итоге с помощью декомпозиции необходимо дойти до бэк-лога с конкретными user-stories. Для удобства user stories можно группировать в эпики/фичи, которые должны быть привязаны к квартальным / годовым целям. Вроде бы все просто и понятно.

Реальность. В реальности удобного единого инструмента, показывающего связь стратегических целей и бэк-лога, просто нет (как его часто не и в классическом подходе – есть только кипа документации). Как правило, стратегические и годовые цели ведутся в одном месте, бэк-лог в виде user-stories в другом месте. И самое страшное в этом даже не то, что необходима ручная синхронизация содержаний в различных источниках. Ключевая проблема в том, что, выполняя user-stories в бэк-логе, команда не видит, как это влияет на «длинные» цели. Команда даже может и не подозревать / забывать, что их user-stories влияют на стратегические цели: ведь стратегические цели – это зона ответственности руководства компании. И сотрудник, приходя на работу и делая привычные ему ежедневные действия, и не думает, что он работает на высокоуровневые «длинные» цели, и по большому счету это означает, что он попросту не понимает, зачем он выполняет свою работу.

Как исправить. Частично проблему позволяет решить кастомизация настройки JIRA (или другого инструмента, в котором ведется бэк-лог): можно настроить даш-борды, показывающие прогресс команды не только в рамках спринта или суперспринта, но и в привязке к целям компании. Также полезно на каждой ретроспективе и/или на каждом планировании, чтобы церемония начиналась с того, что команда анализирует свой прогресс не в привязке к своему бэк-логу, а в привязке к целям компании.

Приоритезация бэк-логов, PI-planning

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

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

Как быть? Опять возвращаемся к манифесту Agile, который говорит, что «Люди и взаимодействие важнее процессов и инструментов» и «Сотрудничество с заказчиком важнее согласования условий контракта». Если говорить кратко и прямо – надо договариваться и обсуждать с заказчиком.

Реальность. Бывает, что в реальности происходит следующее: проводится огромная или не очень огромная встреча по вопросам синхронизации (например, Portfolio market place / Project Increment Planning / Product Owner Sync или какая-то еще), на встрече выявляются зависимости, но никаких решений не принимается – все расходятся с «домашним заданием» обсудить друг с другом и с руководством, что и в какие сроки кто кому может сделать. После этой встречи все погружаются в свои текущие дела. От инициаторов встречи начинают приходить напоминания, что «ждем от всех итоги домашнего задания». Под натиском этих напоминаний многие начинают встречаться, но безрезультатно – у всех свои приоритеты и свои задачи. Количество встреч и коммуникаций еще больше зашкаливает, они в итоге ни к чему не приводят и все решается путем обычных эскалаций с привлечением руководства.

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

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

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

В-четвертых, по итогам таких мероприятий должны пересматриваться и верифицироваться стратегические / годовые цели. Очень часто происходит следующее: в ходе синхронизации выявлены зависимости, бэк-логи скорректированы, но цели не пересмотрены. Хотя, когда формулировались цели, о зависимостях еще не было известно, и никаких договоренностей между командами не было. В итоге, когда наступает срок по исполнению целей, становится понятно, что они не будут выполнены (со всеми вытекающими последствиями).

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

Но нет, это лишь обычные рабочие группы из представителей разных подразделений. А Agile – это совсем другое. Agile – это когда происходит максимально быстрый вывод MVP в пром с последующим быстрым итерационным обновлением продукта. Доски, бэк-логи, совместное размещение и прочее – это инструменты Agile, которые можно применять и просто в обычной деятельности. Но если вы их применяете, а Agile-результата нет, то называть это Agile нельзя.

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

Комментарии
Директор по производству, Украина

Кто бы возражал против «гибких технологий»?

К примеру, В.И.Овсий, А.Г.Соловьёв, профессионально занимающиеся созданием компьютерных программ, судя по их комментариям к статьям Agile, не возражают. И я, когда-то прошедший мимо программирования, тоже не возражаю.

Но, и В.И и А.Г возражают против профанации «гибких технологий»; я -- тоже. Поясню, в чем проявляется профанация.

.============================.

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

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

Недавно выяснилось, что основной источник «гибких технологий» – это книга Р.Мартина «Быстрая разработка программ: принципы, примеры, практика». По ней нетрудно убедиться, что торговые агенты впадают в максимализм типа «святее папы римского». К примеру, в книге Р.Мартина соотношение рабочего программного продукта и исчерпывающей документации к нему поясняется текстом на целую страницу (стр.42) и резюмируется так:

  • Не создавайте документацию до тех пор, пока потребность в ней не приобретёт первостепенную важность.

А торговые агенты сие резюме превратили в безусловный самодостаточный лозунг: «Работающая программа важнее документации к ней». И что следует из такого лозунга? – Даёшь программу и начихать на документацию к ней? – Но, это же эпатаж. Ибо, как покупателю программы сопровождать оную при отсутствии документации к ней?

А о «тонкости», подчеркнутой А.Г.Соловьёвым (что результат применения гибких технологий – это не конечный программный продукт, а его первоначальный макет), торговые агенты, похоже, и вовсе не знают. Поэтому, создаётся типовая ситуация: сбыту «передовых практик» препятствует то, что торговые агенты не имеют личного опыта применений этих практик.

Нач. отдела, зам. руководителя, Москва
Владимир Зонзов пишет: ... сбыту «передовых практик» препятствует то, что торговые агенты не имеют личного опыта применений этих практик.

Владимир, сбыту пока не препятствует, даже наоборот. Здесь такая же загадочная история как с реинжиниринг, отсчёт которого можно начинать с публикации книги в 1992 году, и уже в 1994 году появилось огромное число претензий к нему, а в 1995 году он уже умер, хотя фактически не закончился. Но многие компании уже успели переделать свою историю под реинжиниринг.

Сейчас ещё трудно оценивать будущее. Но мне уже стало труднее в логистике объяснять что такое Kanban и Lean. Очень много словесного мусора - Это всё своей бессмысленным желанием заменить содержание "формой" больше похоже, на вирусный маркетинг. И даже уважаемый мной профессор MBA кинулся читать лекции, и как уже цитировал говорит на них то, о чём пишите: "...для Agile финальный продукт важнее детальный документации". Это как в религиозных книгах.

Нач. отдела, зам. руководителя, Москва
Владимир Зонзов пишет: А торговые агенты сие резюме превратили в безусловный самодостаточный лозунг: «Работающая программа важнее документации к ней».

Надо нашим подсказать, что кто-то из западных уже придумал как ускориться. Как пример экспансии Scrum :)

Одна группа разработчиков всё заменила в последней версии уже своего манифеста, и назвала его Agile Манифест 2.1 - им своего Scrum уже точно мало. Назвали бы Scrum 2.1, но хочется получить сразу всю "территорию". Их сайт легко найти по названию.

Вот Цитата из их нового манифеста: "Бизнес-ценность важнее рабочего продукта." -

Фраза довольно задумчивая, но здесь ещё очевиднее, что речи о готовом продукте в Scrum не идёт :) Это и раньше и тайной не было, но просто избегают в своих статьях и выступлениях рассказывать об этом.

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

Указывать на Источник - это было уже давно, когда в Nokia боролись за чистоту Scrum - ни шагу в сторону, и ... адепты предъявляли для подтверждения источник.А сейчас уже называют свой Scrum просто Agile и никто из адептов не протестует - такая экспансия в терминологии, помогает им собирать аудитории слушателей, возможно, и в продажах тоже.

У меня претензий больше к тому, что скрумщики пытаются своей вирусной активностью заменить смысл Agile -> Формой, в т.ч. своими обрядами и церемониями, вытоптать Agile и загадить его своим Новоязом, как у Джорджа Оруэлла в "1984" - Из английского языка путём "сокращения" и "упрощения" словаря и грамматических правил ... И у них это получается.

В этой статье, которую обсуждаем - Цитата: " ... значит, не может быть никаких обязательств: что успели сделать за спринт / суперспринт, то и показываем, то и выводим в пром."

- это вообще нормальная лексика? Что за "пром", для продукта который ещё НЕ ГОТОВ - поди догадайся что с этим "пром" делать ... Применять Новояз желания точно нет :) И я знаю что такое ввод в промышленную эксплуатацию ещё не готовой программы -> Чем это оборачивается для компании и всех кто имел отношение к разработке и тестированию.

1 2 4
Оставлять комментарии могут только зарегистрированные пользователи
Статью прочитали
Обсуждение статей
Все комментарии
Дискуссии
Все дискуссии
Цифры и факты
​Трамп воюет с Китаем

Факт дня: Трамп ввел пошлины в размере 25% на китайские товары.

США: криптовалюта заменит деньги

Факт дня: Глава SEC не считает Bitcoin ценной бумагой.

​Amazon меняет менеджеров на роботы

Тренд дня: Amazon начал ставить роботов на менеджерские позиции.

​Microsoft идет по пути Amazon

Тренд дня: Microsoft работает над технологией автоматизированных магазинов без касс и продавцов.