SCRUM - отличный набор инструментов, который мы можем использовать каждый день, чтобы получить максимум от нашей команды. Узнать его!

Из всех Agile-методологий SCRUM является наиболее распространенным. Уверен, вы уже слышали об этом! Во время моего первого урока алгебры, на первом курсе университета, мой учитель объяснял наборы и сказал: «В тот момент у каждого из вас уже было личное представление о наборах, в большинстве случаев оно правильное, поэтому вы можете его сохранить». Думаю, для схватки то же самое. Мы можем начать подробное объяснение этого, но с более высокой точки зрения это очень просто: SCRUM - это метод, который помогает людям организовать свою работу. В любом случае, если углубиться, мы обнаружим, что большинство людей знают об этом очень поверхностно. Стадо из сериала «Силиконовая долина», наверное, никого не делает мастером SCRUM. Я не хочу подвергать сомнению силу ситкома, но, может быть, лучше прочитать что-нибудь получше, чтобы понять схватку и узнать, что вы можете применить в своей команде.

SCRUM - это структура, а не догма. Он дает вам все необходимое для создания подходящих для вас процедур. Вот почему я выбрал название «Learning from scrum». В этой статье показано, что он предлагает и как выбрать правильные вещи для улучшения рабочей среды.

Готов начать?

Начиная с определения

Что может быть лучше, чем использовать слова Джеффа Сазерленда, одного из основоположников этого метода?

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

Джефф Сазерленд, Scrum Guide ™

Итак, SCRUM - это структура процесса, где слово «процесс» относится к разработке продукта. В противном случае слово «структура» означает, что Scrum предлагает набор инструментов, которые могут улучшить сам процесс.

Термин SCRUM происходит от слова регби, и это четкая метафора команды проекта. Это хороший образ людей, работающих вместе, даже в трудную минуту, но сосредоточенных на одной цели. Корень этого метода восходит к 1986 году, когда, согласно легенде, Hirotaka Takeuchi e Ikujiro Nonaka описали процесс улучшения разработки своей продукции для автомобилей. В следующие годы информационный бум смещает акцент на продуктивности в процесс разработки программного обеспечения. В 1995 году Кен Швабер и Джефф Сазерленд представили подход Scrum на конференции OOPSLA.

Скрам основан на некоторых столпах (прозрачность, проверка, адаптация) и состоит из трех основных компонентов: ролей, артефактов и спринта.

Прежде чем приступить к подробному объяснению, я хочу заверить вас, что этот метод не приведет к бюрократии или каких-либо накладных расходах в ваш процесс.

Столпы SCRUM

Основные принципы SCRUM:

· Прозрачность для беспрепятственного общения

· Проверка, чтобы проверить прогресс

· Адаптация, чтобы следить за изменениями

Прозрачность

Все мы знаем, что хорошее общение лучше плохого. Легкий. Это верно во всех сферах, более того, в бизнес-процессах, важно объяснить, чем команда занимается. Это справедливо на всех уровнях бизнеса и во всех направлениях. Нам нужна связь от команды к менеджеру проекта, от поставщика к заказчику и наоборот.

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

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

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

Разделение проблем заставит всех осознать проблему. Все видят ваши усилия по борьбе с серьезными проблемами, и когда дела пойдут плохо, не будет никаких сюрпризов. Никто тебя не винит. Вы сделали лучшее. Все это видели.

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

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

1. Иметь только один стандарт. Супер-мега-программное обеспечение может помочь, но, если оно вам подходит, подойдет и доска.

2. Используемый вами инструмент не должен влиять на время людей или создавать трение. Все должно быть легким для восприятия и естественным, иначе люди отвергнут его.

Осмотр

О каждом прогрессе нужно делиться со всеми, даже с заказчиком. В любое время. Ты боишься? Почему? Вы предпочитаете хранить секреты? Если вы опаздываете и не делитесь этой информацией с клиентом, возможно, он подумает, что вы вначале пришли вовремя, а в конце вы надеетесь успеть. Конечно, если вам повезет, все будет в порядке, в противном случае клиент обнаружит катастрофу, когда будет слишком поздно договариваться о другой доставке, и вы, вероятно, потеряете клиента.

Вот почему прозрачность важна (опять же)! Но прозрачности недостаточно, если у вас нет показателей прогресса.

Инспекция - это момент, когда вы применяете такие метрики и проверяете, какая работа сделана \ нужна.

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

Адаптация

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

До сих пор ничего нового. Интересная часть адаптации SCRUM заключается в том, что она предлагает, в какой момент провести правильный анализ, чтобы понять подводные камни и предотвратить проблемы.

Основная идея состоит в том, чтобы определить два рабочих цикла: дневной и спринт.

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

На весеннем уровне, чего хочется больше, у нас много возможностей. Во время планирования у нас есть планирование спринта, после спринта - весенний обзор. Я думаю, что имена достаточно объяснительные 😉

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

Как работает Scrum

Мы можем описать, как работает Scrum, начиная с основных компонентов:

  1. Определите долгосрочный рабочий цикл (спринт), который периодически повторяется (обычно одну неделю)
  2. Определите роли людей (кто чем занимается)
  3. Определите, какие результаты ожидаются от каждой группы (Артефакты)
  4. Определите повторяющееся событие, которое выражает жизнь Спринта (События)

Спринт

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

Роли

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

SCRUM определяет следующие роли:

  • Владелец продукта
  • Скрам Мастер
  • Команда разработчиков

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

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

Если Скрам-мастер хорошо играет, команда разработчиков может сосредоточиться только на разработке.

И последнее, но не менее важное: команда разработчиков. Мы работаем небольшими командами от 3 до 5 человек. Как правило, Скрам-мастер является частью команды разработчиков.

SCRUM диктует желание, чтобы команда была замкнутой и автономной. Атрибут «автономный» - это простая часть, потому что при применении метода SCRUM это происходит намеренно. Напротив, «автономных» требований трудно достичь. Дело в том, что для того, чтобы быть самодостаточным, вам нужно также быть кросс-функциональным. Еще много лет назад было легко собрать 3–5 человек, которые вместе знают все технологии для выполнения работы. В настоящее время сложный ИТ-проект требует так много вертикальных навыков, что обычно приходится привлекать большое количество людей, не работающих полный рабочий день (DevOps, системный администратор, архитектор, интерфейс…). Одного разработчика «полного стека» недостаточно. Решение? Вы, вероятно, охватите множество команд, каждая из которых автономна и самодостаточна. В этом сценарии сложная часть состоит в том, как сделать отдельные команды частью всех проектов, к которым они присоединяются. Конечно, для большого проекта нет никаких проблем, потому что вы можете встроить в проект штатные ресурсы.

Артефакты

Команда артефактов в информатике относится к результатам процесса. Например, у нас есть исполняемый файл или библиотека, созданная в процессе сборки. В SCRUM мы используем одни и те же термины для каждого компонента, который управляет разработкой.

Артефакты бывают:

  1. Резерв продукта
  2. Бэклог спринта
  3. Инкремент

Они созданы для обеспечения прозрачности внутри и вне команды. Главная задача - дать всем знать, что происходит и кто что делает.

Журнал отставания по продукту

Бэклог продукта - это список всех функций, которые мы хотим добавить в проект (или в проект, вообще говоря). Каждый элемент списка называется «Элементы невыполненной работы по продукту». Обычно список содержит все функции, запланированные владельцем продукта, и отсортирован по приоритету. Это дает всем понять, что делать до конца проекта и в каком порядке. Бэклог продукта развивается по мере роста проекта. По мере пользовательского тестирования в проект будут добавляться новые элементы. Независимо от того, увеличится ли объем невыполненной работы, выполнение задачи имеет четкий приоритет. Каждый элемент здесь описан на высоком уровне, как если бы это была просто сказка от клиента. В других гибких процессах нечто подобное называется «пользовательской историей». На этом этапе основное внимание уделяется потребностям пользователя без каких-либо технических ограничений. Примером может быть «Я хочу сделать скидку в Черную пятницу». Этот запрос может вызвать множество проблем, от части реализации до части системного администратора, если скидки велики и тысячи пользователей будут перемещаться по электронной коммерции. В любом случае, просто сосредоточьтесь на необходимости на этом этапе, мы разберем пользовательскую историю позже, в весеннем бэклоге.

Бэклог спринта

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

Но что делать, если нагрузка слишком велика? Не волнуйтесь, все, что не было выполнено, перенесем на следующую неделю.

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

Команда, самостоятельно выбирая задачи, завершит всю пользовательскую историю. Поместив все шаги в бэклог, легко понять зависимости и следовать правильному порядку.

Обратите внимание, что о прогрессе очень легко сообщить. Просто посмотрите отставание. Вам не нужно отправлять сообщения по электронной почте, составлять отчеты и т. Д. Просто покажите или поделитесь тем, что у вас есть и чем пользуетесь каждый день.

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

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

Приращение

Приращение - это количество выполненных задач в одном спринте, которое суммируется с другим, еще не завершенным.

События

Определение расписания для каждого важного момента в спринте - это способ сэкономить ваше время и позволить вам спокойно работать. Цель - избежать незапланированных перерывов и вопросов.

Планирование спринта

Весеннее планирование находится в начале каждого спринта. Он состоит из взятия элементов из бэклога продукта и преобразования в элементы в бэклоге спринта. Вся команда участвует в собрании, поэтому всем будет ясно, что делать в течение недели.

Ежедневный скрам

Daily Scrum - это ежедневное мероприятие (еще одно фантастическое определение 😉), когда команда планирует день. О чем поговорить во время этой встречи:

  • что мы сделали накануне
  • что мы собираемся делать сегодня
  • какие проблемы мы обнаружили

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

Что ж, ежедневный скрам не намного больше, но запланирован. Цель состоит в том, чтобы сделать его кратким, чтобы каждый мог сказать, что это часть.

Делать это в начале дня имеет смысл, но в многонациональной среде у вас могут возникнуть проблемы с часовыми поясами. Некоторые команды делают это в комнате, другие встают возле стола. В любом случае, не волнуйтесь, нет строгого правила, как и когда. Не стесняйтесь настраивать этот распорядок так, как предпочитает команда.

Обзор спринта

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

Ретроспектива спринта

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

Советы из моего опыта работы с SCRUM

Сделайте все ответственным

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

Все должны говорить на одном языке.

Условия важны. Подумайте о значении слова «готово». Что это значило для тебя? Для руководителя проекта? Может быть, заказчик думает, что какая-то задача выполнена, когда он использует ее в производстве, но разработчику достаточно отправить несколько непроверенных строк кода в репозиторий. Кто не прав? Зависит от.

Любое определение «готово» приемлемо, если все товарищи по команде знают его значение.

Протоколы нулевых усилий

Другая тема - как мы реализуем такие протоколы. Они должны быть по нулевой стоимости и без трений (нулевая стоимость не означает, что вы получаете их бесплатно ... вы можете заплатить кучу денег, это не главное, но не может быть накладными расходами на ваши процедуры). Теоретически можно было бы каждый день писать отчет и рассылать его каждому члену команды. Это может быть протокол связи, но стоит ли он нулевой? Нет. Для написания отчетов и чтения отчетов требуется много времени.

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

Минобороны: определение "готово"

Что означает «готово»? Я просто говорю, что это слово имеет разное значение для разных людей. Вот почему я настоятельно рекомендую четко определить этот термин в начале проекта. Это позволяет избежать недопонимания и помогает быть прозрачным. Не бойтесь добавить слишком много бюрократии, это позволит избежать недопонимания и проблем.

Что взять домой

Извините, что я так долго пишу в этой статье, но я хотел бы получить полный обзор всего метода Scrum.

Что взять домой? Легко сказать, и я постараюсь быть кратким.

  • Scrum дает нам хороший набор инструментов для улучшения нашей работы, но вы можете настроить его для работы в реальном мире.
  • Вы, вероятно, уже делаете большинство вещей внутри Scrum, но важно изложить правила и роли на бумаге.
  • Создание рутин - основа создания команд-победителей.
  • Не забывайте создавать процессы без трения
  • Прозрачность - важнейший принцип в команде

Эта статья оказалась полезной? Следуйте за мной (Даниэле Фонтани) на Medium и ознакомьтесь с моими самыми популярными статьями ниже! Пожалуйста, поделитесь этой статьей!

Конкретный способ сказать мне спасибо

Если вам понравилась моя статья, вы можете подписаться по этой ссылке, и Medium вернет мне кредит. Это мелочь, которая побудит меня идти вперед. Это работает, даже если вы уже являетесь платным клиентом, поэтому не сомневайтесь, я верну вам много других статей!