Страница 6 из 16
В ранние годы гибкой разработки ПО лидеры сообщества нередко не понимали, почему их методы работали. Мы говорили об «экосистемах»{10} и советовали новичкам внедрять все практики – иначе решение не сработает. Некоторые компании опубликовали модели agile-зрелости, где делались попытки оценки усвоения практик. В Scrum-сообществе существует опробованный на практике тест, который часто называют «тестом Nokia»{11}.
Эти основанные на практике оценки направлены на унификацию и отрицают необходимость в адаптации в соответствии с контекстом. Канбан дает рынку разрешение игнорировать эти практические схемы. Он активно поощряет разнообразие.
В 2007 году несколько человек побывали в моем офисе в Corbis, чтобы посмотреть на Канбан в действии. Обычно все посетители, связанные с agile-сообществом разработки ПО, спрашивали об одном и том же: «Дэвид, мы увидели в офисе семь канбан-досок. Они все разные! Каждая команда работает по своему процессу! Как можно справиться с таким разнообразием?» На этот вопрос я обычно отвечал так: «Конечно! Все ситуации разные. Они развивают свой процесс в соответствии с контекстом». Но я знал, что все процессы ведут начало от одних и тех же принципов и что члены команд, осознавая эти базовые принципы, могут адаптировать их под собственные нужды.
Когда с Канбаном познакомилось больше людей, они поняли, что эта система помогает решать проблемы управления изменениями, с которыми они столкнулись в своих организациях. Канбан придает гибкости команде, проекту или компании. Мы пришли к выводу, что Канбан разрешает создать на рынке собственный процесс, оптимизированный для конкретного контекста. Канбан дает разрешение людям думать самостоятельно. Он позволяет быть разными: отличаться от команды, расположившейся в соседнем кабинете, на другом этаже, в другом здании или в конкурирующей фирме. Он дает разрешение отклониться от учебника. Более того, Канбан дает инструменты, которые позволяют объяснить (и оправдать), почему разнообразие – это хорошо и выбрать его – значит поступить правильно.
Чтобы подчеркнуть этот выбор, я разработал дизайн футболки для Общества ограничения незавершенных задач. Я вдохновился постером Шепарда Фэйри для предвыборной кампании Обамы, на который поместил портрет Тайити Оно, создателя канбан-системы в Toyota. Слоган «Да, мы за канбан» призван подчеркнуть, что у вас есть возможность. Вам разрешается попробовать Канбан, модифицировать свои процессы, быть другими. Ваша ситуация уникальна, и вы можете разработать собственное решение для своего процесса, оптимизированное для вашей сферы деятельности и потока создания ценности, рисков, с которыми вы сталкиваетесь, навыков вашей команды и требований ваших клиентов.
Выводы
• Канбан-системы могут быть использованы в любой ситуации через ограничение наличия элементов работы внутри системы.
• Сады Императорского дворца в Токио используют канбан-систему, чтобы контролировать число посетителей в парке.
• Количество сигнальных карточек «канбан», находящихся в обращении, ограничивает объем незавершенных задач.
• Новая работа втягивается в процесс после возвращения в оборот сигнальной карточки, когда предыдущее задание выполнено.
• В IT-сфере мы, как правило, используем виртуальную канбан-систему, поскольку для ограничения количества незавершенных задач не передаются какие-либо физически существующие карточки.
• Доски со стикерами, часто встречающиеся в гибкой разработке ПО, не являются канбан-системами.
• Канбан-системы создают на рабочем месте положительную напряженность, которая вызывает обсуждение проблем.
• Канбан-метод (или Канбан с большой буквы) использует канбан-систему как катализатор изменений.
• Канбан требует формальных политик процессов.
• Канбан использует инструменты разных областей знаний для анализа проблем и поиска решений.
• Канбан предполагает пошаговое улучшение процессов благодаря постоянному выявлению проблем, влияющих на производительность.
• Современное определение Канбан-метода можно найти в сети на сайте Общества ограничения незавершенных задач (Limited WIP Society, http://limitedwipsociety.ning.com/).
• Канбан дает разрешение на отклонения в разработке ПО, поощряет поиск специфических решений в зависимости от контекста вместо догматического следования определению процесса жизненного цикла разработки ПО или шаблону.
Часть II
Преимущества канбана
Глава 3
Рецепт успеха
Последние десять лет я пытался ответить на вопрос, какие действия вам как менеджеру следует предпринять, если вы унаследовали команду, особенно работающую не в соответствии с agile-практиками, которая обладает широким набором способностей и, возможно, совершенно неэффективна. Обычно меня делали агентом организационных изменений. Таким образом, я должен был обеспечить переход к позитивным изменениям и быстрый прогресс, желательно в течение двух-трех месяцев.
Как у менеджера у меня никогда не было возможности в крупных организациях нанять собственную команду. Меня просили приспособить существующий коллектив, причем с минимальными кадровыми изменениями, для проведения революции в производительности организации. Я думаю, что такая ситуация встречается гораздо чаще, чем возможность набрать новую команду.
Постепенно я выработал подход к управлению такими изменениями. Он основан на опыте, в котором учтены все прошлые ошибки. Они связаны, как правило, с попытками использовать административный ресурс для навязывания рабочих процессов. Приказы руководства обычно не приводят ни к чему хорошему. Когда я просил команды изменить свое поведение и перейти на какой-нибудь agile-метод, например Feature Driven Development, я встречал сопротивление. Мои возражения, что бояться нечего, я проведу необходимое обучение и выступлю в роли наставника, почти не давали результата. В лучшем случае люди соглашались с большой неохотой – об истинной и глубокой институциализации перемен не могло быть и речи. Когда вы просите людей измениться, это порождает страх и снижает их самооценку, поскольку тем самым вы даете понять, что их навыки более не нужны.
Для борьбы с подобными проблемами я разработал так называемый рецепт успеха. Он содержит руководство для нового менеджера, адаптирующего существующую команду к новым реалиям. Действуя согласно этому рецепту, можно добиться быстрого улучшения и почти не вызвать сопротивления команды. Здесь я хотел бы упомянуть о влиянии Дональда Рейнертсена, благодаря которому я освоил два первых и последний, шестой, этап этого рецепта. Работы Элияху Голдратта по теории ограничений и его пять направляющих шагов также оказали серьезное воздействие на четвертый и пятый этапы.
Вот эти этапы:
• концентрация на качестве;
• снижение количества незавершенных задач;
• частые релизы;
• баланс требований и пропускной способности;
• приоритизация;
• борьба с источниками вариативности для улучшения предсказуемости.
Внедрение рецепта
Этот рецепт применяется в форме его выполнения техническим или функциональным менеджером. На первом месте – концентрация на качестве, и она находится под контролем менеджера по разработке или тестированию либо его непосредственного руководителя – например, технического директора. Двигаясь вниз по списку, мы видим, что постепенно требования контроля ослабевают и начинают уступать место сотрудничеству с сопредельными группами – вплоть до этапа «приоритизация». Приоритизация – это работа бизнес-отдела, а не технологической организации, поэтому менеджер технического отдела не должен этим заниматься. К сожалению, руководители бизнес-подразделений нередко уклоняются от ответственности и поручают провести расстановку приоритетов именно техническому менеджеру. А затем распекают его за неправильный выбор. Борьба с источниками вариативности для улучшения предсказуемости идет в списке последней, потому что для искоренения некоторых типов вариативности требуются изменения в поведении. А просить людей об этом – сложная задача! Поэтому борьбу с вариативностью лучше отложить до того момента, когда благодаря успехам, достигнутым на более ранних стадиях, в организации произойдет смена климата. Как мы увидим в главе 4, иногда важно бороться с источниками вариативности на ранних стадиях, чтобы стала возможной реализация первых этапов. Здесь главное – выбирать такие источники вариативности, которые не требуют серьезных изменений в поведении, чтобы сотрудники с готовностью приняли ваши предложения.
10
Highsmith, Jim. Agile Software Development Ecosystems. Boston: Addison Wesley, 2002.
11
Тест Nokia Test приписывается Басу Водде, а здесь описан вариант Джеффа Сазерленда, который принял его на вооружение и внес существенные изменения: http://jeffsutherland.com/scrum/2008/08/nokia-test-where-did-it-come-from.html.