Добрый день! |
Роли Scrum
5.1. Команда
Команда - это группа профессиональных работников, занимающиеся различной трудовой деятельностью. Смысл командной работы состоит в производстве высоких результатов за счет кооперирования между сотрудниками высокой квалификации и производства совокупного результата, который должен превосходить сумму результатов членов команды.
Безусловно, есть категории асов, предпочитающих работать в одиночку, но в сегодняшнем высокотехнологичном мире одиночная работа стала уделом немногих. Только при наличии команды можно рассчитывать на производство качественного программного продукта в заданные сроки. Именно время - это то превосходство, которое может предоставить командная работа для компании за счет более быстрого вывода информационной системы на рынок. На командной работе базируется методология Scrum.
Топ-менеджмент большинства организаций полагает, что, отдавая предпочтение отдельным специалистам, проще осуществлять контроль и управление коллективом в целом. Когда есть необходимость в хороших исполнителях, руководство нацелено на то, чтобы в фирме собрать самых опытных работников. Вопросы качества и хороших результатов становятся решенными априори после того, как нужный работник найден. Не так все просто.
Ресурс отдельного, хоть и профессионального исполнителя ограничен многими факторами, которые определяют необходимый результат. Но когда мы начинаем говорить о командной работе, то начинают работать совсем другие принципы. Командный ресурс состоит из ресурсов исполнителей, к которому добавляется синергетический эффект, приводящий общий механизм в движение. Эту материю сложно пощупать, но она работает и отделяет успешные команды от сборища заурядных исполнителей.
Характеристиками эффективных команд являются следующие:
- Стремление к совершенству. Лучшие группы объединены единой целью. Для достижения поставленных задач они постоянно используют наиболее эффективные варианты, не пользуясь теми, которые плохо зарекомендовали себя в прошлом, благодаря чему переходят в ранг от посредственных до высоких уровней, получают понятие своих возможностей и имеют повышенные требования к получаемым результатам.
- Независимость. Обладающие этим качеством штаты работников самоорганизованны и самоуправляемы. У них есть возможность принимать решения, переходить к их реализации. Они научены действовать самостоятельно.
- Универсальность. В состав лучших команд включены специалисты профилей (планирования, разработки, продажи и реализации производства), необходимых для самодостаточной работы команды. Главными качествами являются взаимная поддержка, взаимодействие и понимание между членами трудового процесса.
Каким образом удается создать группу людей с целью достижения высоких результатов? Будет ли она самоорганизованной и создавать атмосферу взаимного обучения и информирования? Чтобы найти ответы на эти волнующие вопросы, один из основателей Scrum Д. Сазерленд потратил уйму времени. Как добиться результата, чтобы люди соединились в одно целое, думали о непрерывном усовершенствовании? Точно не методом террора и жесткого контроля, ведь каждый должен прийти к пониманию, что это ему действительно необходимо. Давление даст только отрицательные результаты. Вероятнее всего, есть набор несложных правил, помогающих достичь требуемого результата.
Все зафиксированные правила укладываются в единый лозунг: "Одна команда - от старта до финиша". Главное требование к команде, которая должна создавать необходимый продукт, - многофункциональность. Это выражается в наличии всех специалистов, необходимых знаний и практики для успешного выполнения заданий.
Стандартная организационная структура включает в себя отдельные подразделения управления, анализа, разработки, тестирования, внедрения и т. д. Они укомплектованы сотрудниками данных специализаций. Подобная структура полностью соответствует классическому подходу к разработке программного обеспечения. Но на сегодня необходимы команды, которые будут состоять из всех необходимых сотрудников и, оперативно реагируя на внешние вызовы, отражать их в конечном продукте. Именно по такому принципу и построены Scrum-команды. Все члены подобных команд должны иметь определенные задачи и функции в работе, выполняемые в рабочих интервалах, за которые должен быть сформирован очередной вид рабочего продукта (спринты). Функциональные отделы не выпускают отдельно продукт, а команда, в противовес функциональной организации, все делает сообща. Это во многом дублирует принципы процессного подхода, что еще раз подчеркивает, что Scrum является эффективной процессной методологией.
Но команда - более сложный организационный элемент, нежели отдельный сотрудник. Команда возникает, живет, развивается и заканчивает функционирование по своим принципам, которые необходимо знать. Понимание этих принципов поможет оптимально ею управлять и прогнозировать результаты, которые может предоставлять команда на различных этапах своего жизненного цикла.
5.2. Этапы командообразования
Эксперты, занятые вопросами создания эффективной организационной среды, сходятся во мнении, что методика Scrum помогает компаниям достигнуть желаемых результатов производства программного обеспечения за счет внедрения инкрементного подхода производства. Во главе этого лежит базисный принцип разработки информационной системы или сервиса в виде создания минимально необходимой функциональности для конкретной временной даты и предоставления этой версии в пользование клиенту. После чего выполняется использование созданного артефакта, и команда приступает к следующей итерации работы над продуктом, который развивается на основе полученных результатов. И так далее, итерационно, шаг за шагом продукт приходит к тому виду, применение которого оптимально для заданных рабочих условий компании.
Существует простая методика, которая может позволить проверить "правильность" мышления команды. Нужно в разговоре с любым сотрудником, включенным в Scrum-команду, задать вопрос о состоянии их группы. Оптимальным будет, если член команды ответит о разрабатываемом продукте, а не будет рассуждать об их текущей специализации. В случае, когда сотрудник не связывает себя с общим продуктом, речь идет о недопонимании целей Scrum или же о прочей "проблемной" причине. Если же есть тенденция, что вся команда находится в "кризисном" состоянии, тогда необходимо диагностировать ее состояние и принимать соответствующие меры.
Чтобы группа людей превратилась в сплоченную и эффективную команду, необходимо пройти несколько этапов.
Наиболее распространенной моделью, описывающей стадии командообразования, является модель Такмана ( рис. 5.1).
В своем развитии все команды обязательно проходят несколько этапов.
Формирование
Этот этап во многом является отправной точкой для создания команды и постановки целей на разработку или развитие продукта. Как правило, на этом этапе выполняются создание или обновление состава, постановка целей деятельности всего состава команды в целом и отдельных ее членов, не очень понимающих те задачи, выполнение которых поставлено перед ними для достижения общего результата.
Бурление
На этом этапе все члены команды отчетливо осознают свои и общие цели, задающие вектор движения коллектива. В период бурления часто возможны конфликты и противостояние между отдельными членами команды, формирование мелких группировок, поэтому особенно возрастает роль Scrum-мастера (SM) как модератора (его обязанности мы обсудим чуть позже). Этап бурления - самое время для определения формальных и неформальных лидеров Scrum-команды.
Нормализация
На этапе нормализации происходит "притирание" членов команды друг к другу. Закрепляются лидеры команды, и она начинает демонстрировать стабильные результаты деятельности. Основная задача Scrum-мастера на этом этапе - помощь команде для перехода на следующий этап.
Функционирование
Функционирование - это этап, на котором команда переходит к самоуправляемости. На этом этапе команда способна оптимизировать свою производительность, существующие неформальные связи между членами команды закрепляются окончательно. Этот период наибольшей эффективности и производительности.
Расформирование
Цели, поставленные перед командой, достигнуты, мотивация большинства участников в этот период убывает. Профессиональный Scrum-мастер должен четко отслеживать рубеж между этапом функционирования и расформирования, и предпринимает шаги, которые не позволят команде сильно понизить их производительность. В качестве примера подобных шагов можно привести изменение состава команды, смену целей, предоставление нового продукта, над развитием которого должна трудиться команда, и т. д.
Чтобы работать эффективно, команда должна как можно дольше находиться на этапе функционирования. Соответственно, главной задачей команды (и, в частности, Scrum-мастера) является максимально быстрый переход между этапами, предваряющими стадию функционирования, и замедление этапов, которые идут после. Но надо отдавать себе отчет в том, что команда также подвержена влиянию организации, ее управленческим процессам, которые протекают в компании, и возможны временные и "сезонные" отклонения, определяемые, скажем, аттестациями, выплатами премий и пр.
Команду нужно держать в тонусе, но необходимо тщательно отслеживать состояние наиболее "заслуженных" работников в целях предотвращения возможных выгораний и срывов.
Организация командной работы - это очень важная часть деятельности Scrum-мастера, который своей работой должен обеспечить комфортное рабочее состояние всем ее членам.