Добрый день! |
Философия рабочего процесса
4.5. Чем нужно управлять в Scrum
Основная цель использования управленческой методологии Scrum - эффективное управление ресурсами с возможностью сосредоточения всех участников гибкого процесса на конечном результате. В основе Scrum лежат принципы, предписывающие полностью сосредоточиться на продукте, разработка и развитие которого является основным результатом деятельности. Суть принципов Scrum унаследована от принципов, перечисленных в Agile Manifesto (см. "Введение в Agile" ).
Основное внимание сосредоточено на команде как средстве разработки качественного продукта. Реализация продукта осуществляется за счет тесного и постоянного взаимодействия с заинтересованными сторонами в целом и владельцем продукта в частности. В ходе этого взаимодействия команда разработчиков становится более гибкой и готовой к изменениям. Инструменты, документация, условия работы и планы вторичны, но также очень важны. Таким образом, фокус сосредоточен на команде, которая удовлетворяет потребность заказчика.
Команда
Команда - группа людей, взаимодополняющих и взаимозаменяющих друг друга, которые собраны для совместного решения задач создания продукта, посредством которых они поддерживают взаимную ответственность перед владельцем продукта. В идеале специалисты, задействованные в Scrum, должны представлять собой самоуправляемый и самоорганизующийся коллектив, цель которого - реализовать требования к продукту в том объеме и с уровнем качества, удовлетворительным для последующего использования продукта.
Успешность рабочего процесса обеспечивается за счет непрерывного общения друг с другом и со всеми заинтересованными сторонами. На всех этапах работы над продуктом происходит непрерывное взаимодействие, в ходе которого определяется, как можно реализовать конкретную задачу с учетом достоинств и недостатков конкретной реализации. Вся полученная в ходе взаимодействия информация учитывается и используется в дальнейшем. В последующем это помогает оптимизировать процесс разработки наилучшим образом и постепенно совершенствоваться и развиваться. Идеал команды в Scrum - самоуправляемый коллектив профессионалов, объединенных общей целью.
Требования
Для работы над продуктом у сотрудников, объединенных в единую команду, есть все необходимое - Product Owner, бэклог продукта…
Scrum продуктивен из-за своей простоты. Члены команды имеют свободу самим определять, каким образом разрабатывать продукт. И в этом скрыта самая большая сложность Scrum. Одним из основных качеств, которые отделяют начинающего от состоявшегося профессионала, является черта самоанализа, которая заключается в постоянном переосмыслении того, что и как он делает. Цель самоанализа - улучшить работу, над которой идет размышление. Необходимо вырваться из рамок "так положено" и понять, что конкретно нужно сделать для достижения результата наименьшими затратами. Гибким быть непросто. Для того чтобы быть эффективным, нужна соответствующая квалификация. Именно уровень этой квалификации во многом предопределяет качество проработки требований, которые необходимо реализовать. Но при этом необходимо учитывать, что инженерия требований для разработки функционала должна выполняться в необходимом объеме. Требования должны создаваться непрерывно при активном сотрудничестве заинтересованных лиц с командой разработки. Важно помнить, что конечная цель сбора требований в том, чтобы облегчить и разделить общее понимание требований для всех тех, кто вовлечен в процесс разработки. Требования могут различаться по детальности и степени проработки и принимать самые разные формы. Для получения общего представления о требованиях полезно иметь какую-нибудь форму или шаблон документации, определяемой командой для каждой конкретной ситуации.
В Scrum в качестве инструмента используются use case. Более подробно о технике проработки требований мы поговорим в "Атрибуты Scrum" .
Продукт
Основное внимание Scrum-команды сосредоточено на артефакте, разработка которого является их обязанностью, - продукте. Работа над продуктом должна строиться исходя из актуального понимания существующих потребностей в функционале. Можно долго размышлять о возможных путях развития, но эти размышления должны основываться на стойком базисе действительности. Любые прогнозы меняются в зависимости от тактических данных. Тренд необходим, но это не должно быть определяющим фактором в работе. Важно итеративно разрабатывать "нужную" функциональность, постоянно измерять ее эффективность и, отталкиваясь от ключевых актуальных метрик, продумывать дальнейшее направление развития продукта.
Можно выделить еще несколько ключевых факторов, управление которыми будет влиять на создание продукта (риски, технологии, инженерные практики и пр.), но основными являются именно сам продукт и команда, которая участвует в его разработке. Остальные являются либо производными, либо второстепенными, и в соответствии с их значимостью для внедрения и адаптации Scrum будут рассмотрены далее.
4.6. Значимость соблюдения процесса
Во второй лекции были обоснованы важность и необходимость регламентации существующих в компании процессов как средства контроля, мониторинга и поиску возможностей дальнейшего развития деятельности организации. Наличие регламента позволяет гарантировать организационный порядок, но для этого каждая компания, проводя внедрение определенной процессной деятельности, адаптирует эталонные принципы выбранной методологии для реалий своей компании и стремится к наиболее эффективному использованию существующего процесса в рамках имеющихся ресурсов. Условием и гарантом эффективности процесса является регламент, следуя которому можно достичь запланированных результатов в определенные сроки и прогнозировать дальнейшее развитие функционала.
В Scrum-документах зафиксировано, что основной ценностью являются люди, которые за счет оптимального взаимодействия друг с другом должны достичь запланированных результатов. Именно за счет командного взаимодействия должна достигаться рабочая гармония. Значимость "записанного" порядка взаимодействия снижается, во главу угла выходит человеческий фактор. При создании и следовании процессу необходимо держаться принципа золотой середины, то есть нужно руководствоваться основными постулатами методологии, но корректировать тактику в зависимости от конкретных условий окружающей среды и в уме держать необходимость внедрения принципа гибкости. Командный процесс в идеале должен получиться:
- прозрачным;
- инспективным;
- адаптивным.
В этом плане Scrum представляет собой процесс "с человеческим лицом", в котором каждый член команды должен контролировать своего сотоварища, так как за результат деятельности несет ответственность вся команда.
Рабочий процесс должен находиться под контролем владельца продукта. Это позволяет избежать нестабильности и добиться возможности достоверно прогнозировать результаты посредством управленческих инструментов. Для обеспечения его контролируемости в Scrum предусмотрены все необходимые атрибуты (доска задач, бэклог продукта, бэклог спринта), о которых мы поговорим чуть позже.