Руководство профессионального скрам-мастера: Практические советы по внедрению аджайл-подходов - Вискарди Стейша 2 стр.


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



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

Краткий экскурс в историю

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

Джефф Сазерленд впервые использовал скрам в 1993 г.  сначала в Easel Corporation, а затем, в следующие несколько лет, в VMARK, Individual и IDX Systems. Кен Швабер, который работал с Джеффом в Individual, впервые представил cкрам как задокументированную методику на конференции OOPSLA в 1995 г. На рубеже тысячелетий Джефф с блеском применял скрам в Patient Keeper, а Кен помог масштабировать методику в Primavera Systems. Последний пример стал известным благодаря упоминаниям в книге Кена Швабера «Скрам: Гибкое управление продуктом и бизнесом»[2].

Однако cкрам придумали раньше. В 1986 г. в Harvard Business Review была опубликована статья, которую написали Хиротака Такэути и Икудзиро Нонака. Статья называлась «Новые игры в разработке программного продукта» (The New Product Development Game). Авторы настаивали, что организации, производящие программный продукт, должны любыми средствами увеличить скорость и гибкость его разработки, чтобы победить в условиях конкуренции. Вместо осуществления последовательных операций по принципу передачи эстафетной палочки Такэути и Нонака предлагали «холистический», «регбийный» подход  когда вся команда двигается как единое целое, передавая мяч вперед и назад внутри этого целого: по их мнению, это лучше отвечает сегодняшним потребностям. Эта статья  первое упоминание скрама как новой парадигмы продуктовой разработки, как концептуальной основы для разработки быстрой, гибкой и состязательной. Скрам-мастерам следует помнить, что скрам-процесс  как определенный набор рабочих шагов, достижений и материальных результатов  не имеет смысла, если в его основе не лежат тот образ мыслей и те концепции разработки продуктов, которым Такэути и Нонака впервые дали описание. Это внутренняя подвижность, самоорганизующиеся проектные команды, перекрывающие друг друга фазы разработки, постоянное обучение, тонкие методы контроля и передача опыта.

Концепции, лежащие в основе скрама, своим корнями уходят еще глубже в историю. В 1950-х гг. консультант по менеджменту Уильям Эдвардс Деминг придумал цикл «планируй  пробуй  проверяй  корректируй» (Plan  Do  Check  Act, или PDCA) как модель постоянного улучшения, известную также под названиями «цикл Деминга» или «цикл Шухарта». Эта концепция давно использовалась в так называемом бережливом подходе концерна Toyota к производству. Эти идеи один в один совпадают с концепцией спринта в скраме с его ежедневными скрам-совещаниями (как показано на рисунке ниже и далее в книге). Но Деминг не знал, что он практиковал скрам. Вернее, это современные скрам-команды не всегда осознают, что они применяют цикл Деминга!



Но, строго говоря, основы скрама еще древнее, чем идеи Деминга. Вернемся на 1000 лет назад, когда арабский ученый Ибн аль-Хайсам экспериментировал с рефракцией, линзами и зеркалами: он вывел важнейшие законы оптики, изложенные в его фундаментальном труде «Книга оптики». Ибн аль-Хайсама нередко называют отцом научного метода  когда ученый создает гипотезу или ставит вопрос, проводит эксперименты, получает результаты, анализирует их и, возможно, изменяет концепцию (или продолжает эксперименты). Это эмпирический процесс, построенный на доказательствах: ученый использует знание, полученное в результате одного эксперимента, для того чтобы сделать выводы или спроектировать следующий эксперимент с учетом предыдущего. Так Ибн аль-Хайсам открыл природу человеческого зрения.

Наконец, если мы углубимся еще дальше в историю, вы можете представить, что даже примитивная охота первобытного племени выглядела как спринт в скраме: все собирались вместе, рассуждали о том, где выслеживать добычу, собирали охотничьи приспособления, убивали ужин, а потом обсуждали прошедшую охоту, чтобы в будущем улучшить свой план на нее. Наскальные рисунки по всему миру  следы примитивных ретроспектив. Скрам  это наиболее естественный способ охоты, основанный на тесном сотрудничестве и совместной работе для достижения результата. Так было по крайней мере на протяжении 11 000 лет. В последующих главах мы разберем, почему, несмотря на то что скрам отражает естественный подход к работе, он так не прост в применении.

Базовые концепции скрама

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

Сложные адаптивные системы

Сложные адаптивные системы (САС) состоят из различных взаимозависимых элементов, отношения между которыми меняются в процессе. Сложные системы способны к адаптации: когда меняется одна переменная в системе, это затрагивает и другие. Возьмем простой пример из биологии  бактерии стафилококки. В 1940-х гг. более 99 % стафилококков были чувствительны к пенициллину. Сегодня они к нему устойчивы: в результате постоянного воздействия антибиотиков бактерии эволюционировали, чтобы выжить.

В нашем мире требования к продукту, технологии и люди взаимосвязаны: изменения в одном из этих элементов приводит к изменениям в других. В детстве я любила ходить в кино, а заодно и играть на аркадных автоматах рядом с кинозалом. Мы не могли себе позволить игровую приставку типа Atari (да и аркадные автоматы нравились мне больше домашней приставки). Все поменялось, когда компания Nintendo выпустила свою игровую систему. Соседским ребятам подарили ее на Рождество, и с тех пор мы несколько раз в неделю заявлялись к ним играть в Super Mario Brothers. Потом появились джойстики, Playstation, Sega и другие игровые системы и приставки. А теперь есть и мобильные игры. С появлением 16- и 32-битных консолей значительно улучшилась графика, конкуренция подхлестнула разработку все более и более инновационных продуктов (что серьезно расширило выбор для потребителя), а новые технологии позволили производителям выйти на ранее не охваченные рынки. Технологии, производители, потребности и желания пользователей  в производстве компьютерных игр все это взаимосвязано. Изменения в одном элементе делают необходимыми изменения и в других. Так что в детстве я недооценивала важность Марио и Луиджи для развития технологий  оказалось, они не просто спасали принцессу.

Вот как выглядит эта формула сегодня: у потребителей каждую минуту меняются потребности и желания, разработчики постоянно создают новые технологии и улучшенные версии старых, а потребители и другие стейкхолдеры никогда не упускают возможности высказать свое мнение по поводу свойств существующих продуктов. В процессе реализации проекта происходит эволюция нового знания, потребностей и желаний в отношении требований и технологий, и эта эмерджентность вносит свой вклад в сложность системы: у нее появляются новые свойства, не присущие ее элементам. Сложными проектами невозможно адекватно управлять при традиционных подходах, когда каждая задача ставится заранее и затем передается конкретным работникам. Если неизвестно, к чему нужно прийти в итоге, лучше всего воспользоваться подходами, основанными на эмпирических процессах или процессах с прочной доказательной базой: см. статью Д. Дж. Сноудена и М. Э. Бун «Модель действий лидера при принятии решений» (A Leader's Framework for Decision Making) для журнала Harvard Business Review. Но вопрос не в том, чтобы просто применить к той или иной ситуации правильный инструмент: сложные системы включают в себя и сложные взаимодействия между людьми. Сложному проекту нужен процесс, который учитывал бы эмерджентность. Кроме того, он требует и особого стиля руководства, способствующего развитию нормальных взаимоотношений в коллективе.

На следующем рисунке представлена знаменитая матрица Стейси, созданная Ральфом Стейси, профессором менеджмента из школы бизнеса Хертфордширского университета. Стейси много лет пытался разобраться, как использовать науку о сложных системах для изучения организаций. Вы наверняка столкнетесь с его работами, когда будете проходить курс скрам-мастера. Матрица Стейси рассматривает определенность и согласованность, которые в современном мире связаны с технологиями и требованиями к продукту. Чем дальше та или иная ситуация от определенности и согласованности, тем она сложнее и хаотичнее. В то же время простая ситуация характеризуется согласованностью и пониманием. Вспомните какой-нибудь простой проект  из вашего собственного опыта. Требования к новым характеристикам продукта были простыми и четкими, и вы написали весь необходимый код уже несколько недель назад. Вы с легкостью оценили, сколько времени займет проект: сюрпризы были маловероятны. Но при создании ПО такие «простые ситуации»  редкость. Сложный сценарий предполагает, что код не готов, потребитель постоянно меняет требования, а команда разработчиков то и дело срывает сроки. Тут уже не до планирования, поскольку сюрпризы (в основном неприятные) почти гарантированы.

Обратите внимание: я наложила роли в скраме и контрольные точки на матрицу Стейси. Скрам-мастера знают, что они не контролируют сложные проекты, действуя как специалисты по постановке задач и объясняя каждому работнику, что ему предстоит делать каждый день. Контроль осуществляется скорее за счет того, что каждый член команды имеет право на самоорганизацию в течение ряда спринтов (или тайм-боксов), а владелец продукта внимательно работает с бэклогом. Каждая роль в скраме имеет конкретный набор важных зон ответственности, и каждая из них, как подразумевается, должна контролировать хаос (кстати, первый сайт Кена Швабера так и назывался  controlchaos.com). Меня часто спрашивают, предусматривает ли скрам роль менеджера проекта, и я однозначно отвечаю: «Нет!» Ведь если передать одному человеку функцию контроля  что делать, как делать и почему делать, то все может закончиться хаосом и другими печальными последствиями. Три важные зоны ответственности, поделенные между тремя основными ролями в команде, создают систему сдержек и противовесов в наших сложных проектных системах. Эти три главные роли в скраме в сочетании с простой моделью помогают контролировать хаос. В течение каждого спринта команда, сосредоточенная на небольшом наборе пожеланий по проекту, разрабатывает соответствующие технические решения одно за другим, подводя проект к беспроблемному завершению спринта за спринтом. Если эта система контроля не будет достаточно защищенной, то легко могут возникнуть нежелательные явления. Скрам  концепция довольно простая и вместе с тем очень мощная при правильном применении (что не так-то просто). Вы, мой дорогой скрам-мастер, должны упрощать ход спринтов, исключая лишние вмешательства и помогая владельцу продукта содержать в порядке бэклог.



Даже если матрица профессора Стейси и статья Бун и Сноудена задают удобные рамки для размышлений, как правильно выбрать процесс для той или иной ситуации, не стоит слишком упрощать этот материал! Профессор Стейси перестал публиковать матрицу после второго издания своей книги (на сегодня вышло уже шесть). Что же случилось? Профессор Стейси считает, что аудитория слишком упростила матрицу: люди уверены, будто могут самостоятельно выбирать инструмент в зависимости от характера своего проекта. Все не так просто, согласно Стейси: «Итог  это результат взаимодействия между намерениями и стратегией всех вовлеченных в проект сторон, и ход этого взаимодействия никто предсказать не в силах из-за природной неопределенности и непредсказуемости, присущей нашей с вами жизни». Иначе говоря, проблемы устраняет не скрам, их устраняют люди; скрам только показывает, где искать проблемы. Люди сами должны бороться с этими проблемами и придумывать различные решения для различных сценариев. В этой книге рассказывается, как скрам-мастер может содействовать поиску таких решений  как внутри команды, так и вне ее.

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

Четыре инструмента контроля над эмпирическим процессом

Скрам, как табурет, стоит на четырех «ножках»: приоритезированный бэклог; выделенная кросс-функциональная команда, тайм-боксы и, наконец, инспекция и адаптация. Эти четыре «ножки» и создают структуру, позволяющую нам называть скрам эмпирическим процессом. Когда «табурет» теряет одну из опор, он лишается равновесия (попробуйте-ка усидеть на табурете с тремя ножками). Даже если одна из «ножек» всего лишь короче других, табурет становится неустойчивым и неудобным. То же относится и к скраму: как только какой-то элемент структуры ослабевает, ослабевает и команда, проект идет наперекосяк, эксперимент становится неубедительным, поскольку утрачиваются точки контроля. Скажем, если скрам-мастер по какой-то причине допускает прерывание спринта, команда может и не довести дело до логического завершения. Все вынуждены остановиться и начать все сначала  это мы и называем хаосом. То же самое происходит, если владелец продукта неаккуратно ведет бэклог, где идеи не ранжированы по приоритетности: в этом случае команда может передать потребителю необходимую функциональность, а может и не передать. Даже небольшое нарушение этих основополагающих принципов может вызвать эффект схода лавины. Если же команда твердо придерживается вышеизложенных принципов скрама, то с наибольшей вероятностью достигнет цели.

Назад Дальше