2. Scrum кратко
Scrum– это один из Agile процессов, который позволяет фокусироваться
на поставке наиважнейших, с точки зрения бизнеса, ценностей в
наикратчайшие сроки
Он позволяет нам быстро и регулярно осматривать реально
работающее программное обеспечение (от двух недель до месяца
Бизнес расставляет приоритеты. Команды самоорганизовываются и
определяют лучший способ, чтобы выпустить функции с высоким
приоритетом
С регулярностью от двух недель до месяца все могут видеть реально
работающий программный продукт, и решить выпускать его как он есть
либо продолжить улучшение в следующем спринте.
Сам термин обозначает схватку в игре Регби
2
3. Истоки Scrum
• Джеф Сазерленд
– Зарождение Скрам в корпорации Easel в 1993
– IDX и 500+ людей работают по Скрам
• Кен Швабер
– ADM
– Представление Скрам на OOPSLA 95 совместно с
Сазерлендом
– Автор трех книг по Скрам
• Майк Бидл
– Шаблоны Скрам в PLOPD4
• Кен Швабер и Майк Кон
– Создание Скрам-альянса в 2002, изначально в рамках
Agile-альянса
3
4. Популярность Scrum
Microsoft
Yahoo
Google
Electronic Arts
Lockheed Martin
Philips
Siemens
Nokia
IBM
Capital One
BBC
Intuit
Nielsen Media
First American
Real Estate
BMC Software
Ipswitch
John Deere
Lexis Nexis
Sabre
Salesforce.com
Time Warner
Turner
Broadcasting
Oce
4
5. Применение Scrum
Разработка видеоигр
Жизненно важные
системы, утвержденные
Управлением по
контролю за продуктами
и лекарствами (США)
ПО контроля за
спутниками
Веб-сайты
Портативное ПО
Мобильные телефоны
Приложения работы
сети
ISV приложения
Некоторые крупнейшие,
широко используемые
приложения
Коммерческое ПО
Внутренняя разработка
Разработка на заказ
Проекты с
фиксированной
стоимостью
Финансовые
приложения
ISO 9001-
сертифицированные
приложения
Встроенные системы
24x7 системы с
требованиями 99.999%
работоспособности
Создание
«Унифицированного
истребителя-
бомбардировщика»
5
6. Основные характеристики
Самоорганизующиеся команды
Продукт разрабатывается серией “спринтов”,
каждый не больше месяца
Все требования записываются в виде единого
списка “бэклога продукта”
Инженерные практики не являются частью Скрам
Использует простые правила для создания гибкой
среды разработки проектов
Один из “Agile процессов”
6
7. Agile-манифест – декларация
ценностей
процессов и
инструментов
Люди и
взаимодействие
важнее
следования
первоначальному плану
Готовность к
изменениям
важнее
исчерпывающей
документации
Работающий
продукт
важнее
согласования условий
контракта
Сотрудничество с
заказчиком
важнее
Источник:
www.agilemanifesto.org/iso/ru 7
9. Спринты
Скрам проекты развиваются сериями “спринтов”
Это аналогично “итерациям” в Экстремальном
Программировании (XP)
Типичная продолжительность – от 2-х недель до
месяца с жестким ограничением по времени
Постоянная продолжительность спринта привносит
ритм в разработку
Продукт проектируется, разрабатывается и
тестируется на протяжении одного спринта
9
11. Никаких изменений в течение
спринта
Планируйте длительность спринта исходя
из соображения о том, как долго вы можете работать
не внося изменения в план работ
Изменение
11
13. Структура Scrum в деталях
Владелец
продукта
Scrum-мастер
Команда
Роли
Планирование
спринта
Обзор спринта
Спринт
ретроспектива
Ежедневный
Скрам
Ритуалы
Бэклог
продукта
Спринт бэклог
Burndown
charts
Артефакты
13
14. Роль - Product owner
Один человек
Определяет требования к продукту
Определяет дату релиза и наполненность
Ответственен за доходность проекта (ROI)
Приоритезирует требования, исходя
из их рыночной ценности
Корректирует приоритеты на каждой итерации, если
необходимо
Принимает работу
14
15. Роль – Scrum master
Представляет руководство проекта
Ответственен за внедрение ценностей и практик Scrum
Не раздает задания
Устраняет препятствия
Ответственен за эффективность работы команды
Обеспечивает видимость и прозрачность ситуации в
команде
Защищает команду от внешних воздействия
15
16. Команда
Обычно 3-9 человек
Кросс функциональная (программисты, тестировщики,
дизайнеры)
Заняты полный рабочий день
Могут быть исключения (например, администратор базы
данных)
Команды самоорганизуюются
В идеале, нет специальных ролей
Состав команды может меняться только между спринтами
16
17. Структура Scrum в деталях
Владелец
продукта
Scrum-мастер
Команда
Роли
Планирование
спринта
Обзор спринта
Спринт
ретроспектива
Ежедневный
Скрам
Ритуалы
Бэклог
продукта
Спринт бэклог
Burndown
charts
Артефакты
17
19. Подробнее про планирование
Команда выбирает из Бэклога Продукта требования,
которые они могут реализовать за спринт
Создается Бэклог Спринта
Задачи идентифицируются и оцениваются (1-16 часов)
Все делается командой, а не Скрам-мастером
Учитывается высокоуровневая архитектура приложения
Как отдыхающий, я
хочу посмотреть
на фото отелей
Кодировать серверную часть (8)
Написать GUI (4)
Написать тесты (4)
Обновить руководство пользователя
(4)
19
20. Ежедневный Scrum Meeting
Ежедневно
Стоя
15 минут
Не для решения проблем
Scrum Master лишь ведет собрание
Backlog update
Приглашены все желающие
Только участники команды могут говорить (владелец
продукта - тоже часть команды)
20
21. Каждый отвечает на три вопроса
Что ты сделал вчера?
Что будешь делать сегодня?
Что тебе мешает?
Это НЕ статусный отчет Scrum-мастеру!
Это обязательства перед коллегами
21
22. Обзор спринта
Команда представляет, что было сделано
за спринт
Фокус на результат, а не процесс
Обычно принимает форму демонстрации
Неформально
Максимум 2 часа на подготовку
Без слайдов
Вся команда участвует
Приглашены все, кому может быть интересно
22
23. Ретроспектива
Периодический пересмотр того, что работает, а что нет
Обычно 15-30 минут
После каждого спринта
Вся команда участвует
Возможно, приглашен Владелец продукта, заказчики или кто-то
из менеджмента компании
23
24. Структура Scrum в деталях
Владелец
продукта
Scrum-мастер
Команда
Роли
Планирование
спринта
Обзор спринта
Спринт
ретроспектива
Ежедневный
Скрам
Ритуалы
Бэклог
продукта
Спринт бэклог
Burndown
charts
Артефакты
24
25. Бэклог продукта
Приоритезированный
список требований
Список желательной
функциональности
В идеале написан так,
что каждый элемент
имеет значение для
конечного пользователя
Приоритеты
выставляются
Владельцем продукта
Приоритеты
обновляются в начале
спринта
Бэклог продукта
25
26. Пример бэклога продукта
Бэклог Оценка
Как гость, я хочу зарезервировать номер 3
Как гость, я хочу отменить резервацию 5
Как гость, я хочу изменить дату резервации 3
Как работник гостиницы, я хочу просматривать
отчеты
8
Улучшить обработку исключений 8
… 30
... 50
26
27. Цель спринта
Короткое предложение, описывающее, на чем будет сфокусирована
работа во время спринта
Сделать в
приложении
поддержку MSSQL
в дополнение к
Oracle
БД
Добавить
поддержку
котировок в
реальном времени
Финансы
Поддержка
функциональности
необходимой для
изучения генетики
Наука
27
28. Управление бэклогом спринта
Члены команды выбирают работу на свой выбор
Задачи никогда не назначаются принудительно
Оценка оставшейся работы ежедневно обновляется
Любой член команды может добавить, удалить или изменить
элементы Бэклога Спринта
Задачи на спринт могут появляться в ходе работы
Если задача не понятна, то этому элементу бэклога
резервируется больше времени и он разбивается на составные
части позже
Оценка оставшейся работы обновляется, по мере того как
узнаем больше о задачах
28
29. Управление бэклогом спринта
Члены команды выбирают работу на свой
выбор
Задачи никогда не назначаются
принудительно
Оценка оставшейся работы ежедневно
обновляется
Любой член команды может добавить,
удалить или изменить элементы Бэклога
Спринта
Задачи на спринт могут появляться в ходе
работы
Если задача не понятна, то этому элементу
бэклога резервируется больше времени и
он разбивается на составные части позже
Оценка оставшейся работы обновляется,
по мере того как узнаем больше о задачах
29
30. Пример бэклога спринта
Активности
Сделать интерфейс пользователя
Сделать логику
Протестировать логику
Написать руководство пользователя
Вынести утилиты в общий класс
Пн
8
16
8
12
8
Вт
4
12
16
8
Ср Чт
4
11
8
4
Пт
8
8
Добавить журнал ошибок
8
10
16
8
8
30
32. Масштабируемость
Обычно команда состоит из 3 - 9 человек
Масштабируемость за счет групп команд
Факторы расширения
Тип приложения
Размер команды
Рассредоточенность команды
Продолжительность проекта
Scrum использовался в проектах со сложной структурой, где
работало более 500 человек
32
34. Доска задач
Физическая доска разбитая на три вертикальные полосы – To Do,
In Progress и Done
Стикеры расположены по приоритетам, снизу вверх
Используйте https://trello.com/ или http://realtimeboard.com/
34
35. Planning poker
Ведущий, не участвующий в обсуждении, ведёт собрание.
Менеджер представляет краткие обзоры каждого из пунктов. Команда может
задавать вопросы и вести обсуждение предложений и рисков. Итог обсуждения
записывается менеджером проекта.
Участники выбирают по одной карте и кладут их рубашкой вверх, показывая
таким образом, что выбор сделан. Числовые достоинства карт могут
использоваться по-разному: они могут означать количество дней, наиболее
подходящие дни или относительные единицы сложности.
Каждый участник называет свою карту и переворачивает её.
Участникам с высокими и низкими оценками даётся возможность высказаться и
обосновать свою оценку.
Процесс обсуждения продолжается до тех пор, пока не будет достигнут
консенсус.
0 означает, что, по мнению участника, проблема уже решена либо займет пару
минут
Coffee означает участник утомился и не против устроить перерыв
35
37. Журнал совершенствования
(пример)
Расширить применение автоматизированных тестов
Внедрить инспекцию кода
Добиться непрерывной интеграции
Измерить последствия внедерния Scrum
Подумать над применения Scrum в других процессах
работы департамента
37
39. Нужен ли вам Scrum?
Плюсы:
Просто внедрить
Разработчикам обычно нравится
Прозрачность проекта
Ориентация на результат
Минусы:
Не все люди сработаются
Издержки на «болтовню» 10-30%
39
40. Что дальше?
Изучить гайд по скраму (http://scrumguides.org/)
Пройти пробный тест Scrum Open (https://www.scrum.org/Assessments/Open-
Assessments)
Иметь четкое представление о Scrum либо работать с Scrum Team
Прочитать одну из книг по Scrum (https://www.scrum.org/Courses/Professional-
Scrum-Master/PSM-Subject-Areas)
https://www.scrum.org/Resources/lapg-301/4 - интересные статьи
https://www.scrum.org/Assessments/Professional-Scrum-Master-Assessments/PSM-
I-Assessment - сертификация уровень 1
https://www.scrum.org/Assessments/Professional-Scrum-Master-Assessments/PSM-
II-Assessment - сертификация уровень 2
Книга Руководство по Скраму Кен Швабер и Джефф Сазерленд
Книга Scrum и XP: заметки с передовой – Как мы делаем Scrum Хенрик Книберг
Книга Scrum. Гибкая разработка ПО Майк Кон
40