Scrum и Agile для чайников

Существует множество различных методологий, с помощью которых можно реализовать принципы и философию Agile. Некоторые из них включают метод канбан, программирование (XP), кристалл и системы (DSDM).

Одна из самых популярных методологий Agile Scrum с простым интерфейсом - интуитивно понятный и интересный способ сосредоточиться на проекте. Хотя управление Agile было создано специально для разработки ПО, любой, кто работает в быстро развивающейся и динамичной среде, может извлечь выгоду из гибкой и итеративной работы.

История возникновения методологии

В 2001 году 17 авторов ПО

В 2001 году 17 ведущих авторов ПО собрались в Snowbird, штат Юта, среди них Джефф Сандерленд, который считается крестным отцом Agile. Джефф и его друзья вместе создали легендарный Manifesto для Agile Software Development, ставя перед собой задачу расстаться с тяжелыми ограничениями традиционной разработки ПО. Хотя название проекта Agile Scrum может казаться пугающим, пользователю не нужно быть разработчиком программного обеспечения, чтобы легко понять принципы его работы и начать самостоятельно его использовать.

Перевод слова agile означает: подвижный, живой, быстрый, верткий, проворный, и программа полностью соответствует этим значениям. Традиционные методологии управления проектами, такие как Waterfall, PMBOK PMI и PRINCE2, являются жесткими и контролируемыми. Они описывают различные этапы планирования проекта от начала до конца и предполагают, что у пользователей заранее имеются все требования и необходимая информация. Agile Scrum отвергает все традиционные методологии управления проектами как громоздкие, ограничительные и неподходящие для новых требований, считая, что бизнес-команды должны быть быстрыми и гибкими.

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

Принципы управления базовой схемы

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

  1. Загрузить и распечатать PDF-версию официального руководства Scrum Guide.
  2. Выделить фразы и роли, которые являются новыми для пользователя, и начать работу над запоминанием того, что каждый из них в Agile Scrum означает.
  3. Выбрать роли.
  4. Выбрать Scrum Master, он поможет команде двигаться по принципам Scrum, который работает на модели «руководитель - подчиненные».
  5. Создать свой продукт Backlog - это то место, где указывается все что требуется проекту, отсортированное по важности.
  6. По мере формирования проекта, при появлении новых потребностей, они добавляются к нему. Владелец продукта несет основную ответственность за это.
  7. Начать планирование, выбрать задачи из отставания, которые будут завершены в первом проекте. Спринт ограничен временем.
  8. Определить продолжительность времени проекта, но не больше одного месяца.
  9. Определить задачи, которые следует включить в Agile Scrum, и кто будет отвечать за них.
  10. Начать спринт. Члены команды работают над своими проектами, и каждый проверяет их прогресс на ежедневном заседании Scrum. Эта встреча длится около 20 минут, на ней команды отвечают на 3 вопроса: что сделано вчера? что будете сделано сегодня? что блокирует работу сегодня и какая нужна помощь?
  11. Выполнить анализ спринта.
  12. Выполнить новое планирование с учетом улучшения своей работы, обеспечив эффективность проекта.
  13. Когда первый Sprint завершен, начинают новый, выделив больше задач из отставания, и повторяют процесс.

Тренер команды

Тренер команды

Scrum - гибкий способ управления проектом - обычно заключается в разработке программного обеспечения. Гибкая разработка программного обеспечения часто воспринимается как методология, но она фактически представляет структуру управления процессом. Agile Scrum:что это? Agile Scrum в рамках гибкого развития команды хорошо демонстрируется на функции ролей. Они поддерживаются двумя конкретными задачами.

Первая роль - Scrum Master, которую можно рассматривать как тренера для команды. Он помогает членам команды использовать процесс выполнения проекта на самом высоком уровне. Владелец продукта (ПО) - это вторая роль, она направляет команду на создание правильного продукта. Модель Scrum предполагает, что проекты продвигаются через серию спринтов. В соответствии с гибкой методологией спринты имеют временные рамки не более месяца, а чаще всего две недели.

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

Процесс Scrum: основные артефакты

Процесс Scrum: основные артефакты

Управление проектами Agile Scrum с использованием гибких подходов предполагает наличие артефактов. Первичным из них в разработке Scrum является сам продукт. Модель ожидает, что команда выведет продукт или систему в потенциально рабочее состояние в конце каждого спринта. Заготовка продукта - еще один артефакт. Это полный список функций, которые предстоит добавить в продукт. Владелец приоритизирует отставание, поэтому команда всегда использует наиболее ценные функции.

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

Спринт-отставание - это список задач, которые команда должна выполнить, чтобы добавить функциональность.

Дополнительные артефакты, являющиеся результатом гибкой методологии Scrum, - это график прохождения спринта и диаграмма выхода. Графики Burndown показывают объект работы, оставшийся либо в спринте, либо в выпуске, и являются эффективным инструментом разработки программного обеспечения, чтобы определить, будет ли проходить новый спринт по расписанию, чтобы все запланированные работы были завершены к требуемой дате.

Командные задачи участников

Командные задачи участников

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

В то время как Scrum Master фокусируется на том, чтобы помочь команде быть лучшей, владелец продукта работает, чтобы направить команду к правильной цели. Владелец делает это, создавая убедительное видение продукта, а затем передавая его команде. Он отвечает за приоритизацию отставания во время разработки Scrum, чтобы убедиться, что он дошел до нуля, поскольку в этом случае больше узнается о строящейся системе, ее пользователях и команде.

Третья и заключительная роль в управлении проектами - это команда Scrum. Хотя люди могут присоединиться к ней с различными названиями должностей, в проекте эти названия незначительны.

Методика утверждает, что каждый человек вносит свой вклад любым способом, чтобы завершить работу каждого спринта. Это не означает, что тестировщик будет перепроектировать систему. Участники будут тратить больше своего времени на работ, в какой бы дисциплине они ни работали до принятия решения гибкой модели. Но с Scrum люди будут работать за пределами своих обязанностей, потому что это будет делаться для блага команды.

Руководитель проекта

Scrum master - это человек, который помогает другим людям понять проект и служит его команде, устраняя препятствия. Он также помогает упростить сложность обучением scrum Agile. Мастер должен убедиться, что команда разработчиков работает на основе базовых значений. Его часто считают тренером команды, который помогает ей делать лучшую работу. Более того, он гарантирует, что внедрение Scrum будет успешным на предприятии. Мастер выступает в качестве центра проекта.

Ему необходимо выполнять такие функции:

  1. Контролировать, что команда отвечает своим бизнес-целям.
  2. Способствовать совместной работе членов команды.
  3. Выполнять планирование, сбор заготовок команды, спринт-демонстрацию, ретроспективу спринта.
  4. Обрабатывать и помогать поддерживать целостность значений проекта.
  5. Содействовать совершенствованию технических практик, таких как TDD, автоматическое тестирование и непрерывная интеграция.
  6. Контроль за присутствием заинтересованных сторон на собрании.
  7. Контроль за распределением риска между командами.
  8. Проведение технико-экономических обоснований, составление и проверка спецификаций.

Канбан против Scrum

Scrum и Kanban - это итеративные рабочие системы, которые полагаются на потоки процессов и направлены на сокращение отходов. Однако есть несколько основных различий между ними.

Канбан - это метод визуального управления, разработанный Хиротакой Такеучи и Икуджиро Нонакой в стратегии развития продукта в 1986 году. Сегодня исследование и эволюция Канбана продолжается и бизнес-команды постоянно находят новые способы использования его в качестве полезного инструмента, включая производительность, эффективность, время цикла и качество. Канбан хорошо работает при использовании Scrum или любого другого Agile-метода.

В принципе, Канбан может применяться для визуализации и улучшения потока работы независимо от методологии, используемой для выполнения работы. Kanban может быть настроен так, чтобы соответствовать процессам и рабочим системам, которые команда или компания уже имеет. После того,как метод работы был принят или разработан на основе принципов Agile, команда может начать использовать Agile-инструменты, такие как платы kanban и инструменты прогнозирования проектов, которые помогут управлять проектами и рабочими процессами.

Таблица сравнений Agile Scrum и kanban.

Таблица сравнений Agile Scrum и kanban

Управление портфелем

Управление портфелем

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

Существует девять важных факторов методологии портфельного управления Agile Scrum:

  1. Потенциальные ценности. Команда управления портфелем будет определять потенциальные новые идеи и продукты для разработки, проверив бизнес-среду, выяснив, что делают конкуренты, путем получения отзывов от существующих клиентов. Это поможет обеспечить их потребности в будущем посредством гибкого моделирования и мозгового штурма.
  2. Потенциальные начинания. Команда управления портфелем будет инвестировать время в понимание потенциальных начинаний. Они могут предпочесть бизнес-кейс для этой цели, создавая предположения высокого уровня о рыночном потенциале или окупаемости инвестиций (ROI). Команда также может рассмотреть альтернативные подходы к этой работе и выбрать фокус-группу или небольшой эксперимент, чтобы лучше использовать Agile Scrum методологию.
  3. Приоритет потенциальных усилий. Поскольку у немногих организаций есть неограниченные бюджеты, чтобы работать по проекту, необходимо определить приоритеты потенциальных начинаний, а затем инвестировать в те области, которые наиболее важны. При определении приоритетов необходимо учитывать несколько факторов, в том числе: ценность бизнеса, бизнес-риск и зависимость.
  4. Управление бюджетом портфеля. Традиционные фирмы ежегодно проходят процесс составления бюджета, который приводит к значительным накладным расходам и риску. Более эффективные стратегии заключаются в том, чтобы отказаться от традиционного финансирования и перейти к планированию бюджета, который развивается по мере того как будут развиваться потребности и средства соответственно.
  5. Инициировать усилия – это Agile Scrum требование. Новые продукты могут разрабатываться либо командой продукта, либо командой проекта. В случае продуктов, которые являются принципиально новыми для организации, можно сначала принять исследовательский минимальный старт-подход, когда сначала проверяется рыночный потенциал продукта с помощью серии обучающих экспериментов.
  6. Финансирование. ИТ-усилия должны финансироваться. Это включает как финансирование новых проектов для первоначальных усилий, так и постоянное финансирование строительства, перехода и работы после их развертывания. Кроме того, после начала финансирования, будет осуществляться регулярный контроль, чтобы обеспечить его разумное расходование.
  7. Планирование ИТ-возможностей. ИТ-отдел должен иметь ресурсы, как с точки зрения финансов, так и людей, для выполнения своих обязанностей. Это должны быть специалисты с правильными навыками, чтобы выполнять работу в координации с участниками проекта.
  8. Управление поставщиками. Важным аспектом управления портфелем, особенно когда речь идет о поставщиках ИТ-услуг, предоставляющих подрядчиков, консультантов или служб развития. Управление поставщиками включает в себя закупку контрактов, определение потенциальных поставщиков, контроль за выполнением контрактов и, в конечном счете, заключение контракта.
  9. Управление портфелем ИТ, включая дальнейшие разработки, а также операционные решения.

Параметры гибкого управления ресурсами

Управление ресурсами может стать положительным подкреплением для гибких подходов при включении следующих параметров:

  1. Частота сотрудничества в качестве критерия принятия решения о составе команды.
  2. Местоположение - сильно взвешенный параметр.
  3. Внедрение личностного фактора самими сотрудниками.
  4. Степень постоянства тем.
  5. Ориентированное на производительность планирование командного уровня.

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

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

Сходство и различия методов

Между методами существует много различий. Главное, чем отличается Agile от Scrum: Agile - это философия, а Scrum - процесс реализации философии. Сходство методов:

  1. Равнозначно связаны с управлением проектами и разработкой программного обеспечения.
  2. Оптимальное использование ресурсов.
  3. Эффективное управлении различными задачами.
  4. Нацелены на то, чтобы максимально использовать бизнес-пользователей.
  5. Обеспечивают доставку продукта или проекта бизнес-пользователям в течение минимально возможного времени.
  6. Подчеркивают постоянное совершенствование, сотрудничество и открытое общение.

Agile и Scrum отличия имеют такие:

  1. Сфера действия.
  2. Планирование. Гибкая методология предполагает регулярное предоставление и обновление программного обеспечения. Под Scrum следующий спринт запланирован после того, как команда завершила текущие спринтерские действия.
  3. Дизайн и исполнение. Agile подчеркивает, что дизайн и исполнение просты. Под Scrum дизайн и исполнение могут быть экспериментальными и инновационными.
  4. Рабочая среда. Гибкая методология очень подходит для стабильной среды, в которой есть небольшая команда экспертов, в то время как Scrum подходит для проектов, где рабочая среда динамична или требование быстро меняется.
  5. Гибкость. Ключевым преимуществом Agile-методологии является гибкость, поскольку она быстро адаптируется к изменениям. Тогда как Scrum имеет несколько жесткий и структурированный подход и стиль.
  6. Сотрудничество. Agile подчеркивает сотрудничество, а также непосредственное взаимодействие или общение между членами команды, в то время как Scrum обеспечивает совместную работу посредством ежедневных встреч с четко определенными ролями для мастера схватки, бизнес-пользователей и различных членов команды.
  7. Связь. Гибкая методология придает приоритет прямой связи и связанным с ней методам для достижения различных целей. Scrum не уделяет слишком большого внимания прямому сообщению.
Agile и Scrum

Теперь пользователю понятно, что Agile Scrum - это необходимые инструменты для управления проектами и разработки программного обеспечения. Они следуют системному подходу, чтобы получить наилучшие результаты. Оба они нацелены на то, чтобы обеспечить максимальную ценность для бизнес-пользователей за счет оптимального использования ресурсов, подчеркивают итеративные процессы, способствуя изменениям, постоянному совершенствованию, сотрудничеству, открытому общению. Они отлично дополняют друг друга во многих отношениях.