Обзор методологии Scrum Auriga Inc. Дмитрий Сидоренко

Содержание

Слайд 2

Содержание

Преимущества
Происхождение
Основы методологии
Роли
Сопутствующие методологии

Содержание Преимущества Происхождение Основы методологии Роли Сопутствующие методологии

Слайд 3

Зачем меняться?

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

Зачем меняться? Существующие методологии плохо приспособлены к изменению требований Необходимо знать все
начале
Длительные циклы разработки — проблемы при сдаче
Требования – абстракция, которая интерпретируется по-разному
Высокая вовлеченность клиента в начале проекта сходит на нет к окончанию работ
Недостаточное тестирование
Проблемы появляются в конце
Прогресс определяется % от задачи

Слайд 4

Преимущества Scrum

Прозрачность для бизнеса
Заказчик может вносить изменения
Проблемы быстро идентифицируются
Разработчики вовлечены в процесс
Результаты

Преимущества Scrum Прозрачность для бизнеса Заказчик может вносить изменения Проблемы быстро идентифицируются
быстро доступны для проверки
Менеджмент видит прогресс
Менеджмент разгружается
Прогресс определяется наличием работающего приложения

Слайд 5

Скрам – не панацея

Проблемы, которые мы решаем, не связаны с процессами, они

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

Слайд 6

Scrum за 2 минуты

Scrum – это гибкая методология, которая фокусируется на business

Scrum за 2 минуты Scrum – это гибкая методология, которая фокусируется на
value
Позволяет быстро и последовательно предоставлять работающие части проекта заказчику
Каждые две недели любой заинтересованный человек может участвовать на показе текущей версии
Заказчик задает приоритеты. Команда самооопределяется, чтобы производить наиболее важную для заказчика функциональность
Scrum задает только общие правила управления проектом

Слайд 7

Agile Manifesto

www.agilemanifesto.org
Люди и общение, а не процессы и инструменты
Работающее приложение, а не

Agile Manifesto www.agilemanifesto.org Люди и общение, а не процессы и инструменты Работающее
сложная документация
Сотрудничество с клиентом, а не составление контрактов
Реакция на изменения, а не следование плану

Слайд 8

Что значит “Гибкая”?

“Гибкость – означает быть открытым относительно того, что ты можешь

Что значит “Гибкая”? “Гибкость – означает быть открытым относительно того, что ты
сделать и делать это” Кент Бек

Слайд 9

Происхождение

Scrum – команда в регби
“The New New Product Development Game”, Harvard Business

Происхождение Scrum – команда в регби “The New New Product Development Game”,
Review, 1986, Takeuchi and Nonaka
Origins of Scrum
http://www.agilealliance.org/system/article/file/786/file.pdf

Слайд 10

Компании

Microsoft
Yahoo
Google
Electronic Arts
High Moon Studios
Lockheed Martin
Philips
Siemens

Nokia
Capital One
BBC
Intuit
Time Warner
Nival
Luxoft

Компании Microsoft Yahoo Google Electronic Arts High Moon Studios Lockheed Martin Philips

Слайд 11

Характеристики

Самоопределяющаяся команда
Продукт разрабатывается в процессе серии итераций (sprints)‏
Требования записываются в “product backlog”
Инженерные

Характеристики Самоопределяющаяся команда Продукт разрабатывается в процессе серии итераций (sprints)‏ Требования записываются
практики не являются частью Scrum
Использует простые правила для создания гибкой среды разработки проектов
Один из “agile” процессов

Слайд 12

Scrum

Потенциально готовый к поставкам продукт

Product backlog

Scrum Потенциально готовый к поставкам продукт Product backlog

Слайд 13

Sprints

Проект разрабатывается в серии спринтов
Типичная продолжительность – от 2-х недель до месяца
Жесткое

Sprints Проект разрабатывается в серии спринтов Типичная продолжительность – от 2-х недель
ограничение по времени
Постоянная продолжительность спринта привносит ритм в разработку
Продукт проектируется, кодируется и тестируется на протяжении одного спринта
В конце спринта – полностью готовая функциональность

Слайд 14

Изменения во время спринта

Планируйте длительность спринта исходя из соображения о том, как

Изменения во время спринта Планируйте длительность спринта исходя из соображения о том,
долго вы можете работать, не внося изменения в план работ

Изменение

Слайд 15

Framework

Framework

Слайд 16

Роли

Нет фиксированных позиций
Все участники кроссфункциональны
Плоская структура
Реальная жизнь вносит коррективы

Роли Нет фиксированных позиций Все участники кроссфункциональны Плоская структура Реальная жизнь вносит коррективы

Слайд 17

Product owner

Один человек
Определяет требования (vision)‏
Определяет дату релиза и наполненность
Ответственен за доходность проекта

Product owner Один человек Определяет требования (vision)‏ Определяет дату релиза и наполненность
(ROI)‏
Приоритизирует требования, исходя из их рыночной ценности
Корректирует приоритеты на каждой итерации, если необходимо
Постоянно общается с всей командой
Принимает работу

Слайд 18

Как найти хорошего PO

Хорошим Product Owner'ом не рождаются
Эксперт в бизнес домене, готовый

Как найти хорошего PO Хорошим Product Owner'ом не рождаются Эксперт в бизнес
потратить 30 минут в день на общение с командой
Product Owner заинтересован в проекте
Высокопоставленный чиновник – редко хороший PO
Вносите практики постепенно

Слайд 19

Занятость PO

Полдня на планировании спринта
15-30 минут в день
2 часа на спринт-ревью
Несколько дней

Занятость PO Полдня на планировании спринта 15-30 минут в день 2 часа
на начальную идентификацию User Stories
Желательна доступность в режиме онлайн
skype, icq, messenger

Слайд 20

ScrumMaster

Ответственен за внедрение практик
Устраняет препятствия
Ответственен за эффективность работы команды
Защищает команду от

ScrumMaster Ответственен за внедрение практик Устраняет препятствия Ответственен за эффективность работы команды
внешних воздействий
Не раздает задания
Обеспечивает видимость и прозрачность

Слайд 21

Кто такой Скрам Мастер - 2

Лидер и помощник
Ответственен за
удаление препятствий
обучение клиента
упрощение жизни

Кто такой Скрам Мастер - 2 Лидер и помощник Ответственен за удаление
команды
улучшение производительности команды
улучшение применяемых инженерных практик

Слайд 22

Памятка Скрам Мастера

Command & control – иллюзия
Магии не существует
Прозрачность процессов

Памятка Скрам Мастера Command & control – иллюзия Магии не существует Прозрачность процессов

Слайд 23

Команда

Обычно 5-9 человек
Кросфункциональные члены команды: программисты, тестеры, дизайнеры...
Полный рабочий день
Самоопределяющаяся
В идеале, нет позиций

Команда Обычно 5-9 человек Кросфункциональные члены команды: программисты, тестеры, дизайнеры... Полный рабочий
(PM, TL, tester)‏
Отвечает за результат перед PO

Слайд 24

Product backlog

Список желательной функциональности
Управляет Product owner
Приоритизируется Product owner
Реприоритизируется в начале спринта
В идеале

Product backlog Список желательной функциональности Управляет Product owner Приоритизируется Product owner Реприоритизируется
написан так, что каждый элемент описывает Use case конечного пользователя

Слайд 25

Пример

Пример

Слайд 26

Что НЕ Скрам?

Противоречие Agile Manifesto
Отсутствие итераций
Отсутствие или игнорирование обратной связи
Отсутствие пула задач

Что НЕ Скрам? Противоречие Agile Manifesto Отсутствие итераций Отсутствие или игнорирование обратной
с заданными приоритетами
Непрозрачность

Слайд 27

Когда Скрам не нужен?

Проекты делаются полностью, вовремя, в полном объеме
Команда собирается только

Когда Скрам не нужен? Проекты делаются полностью, вовремя, в полном объеме Команда
на краткосрочный проект

Слайд 28

Когда Скрам не работает?

Гос. проект
Тонущий проект, который отдали в офшор
Скрам Мастер –

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

Слайд 29

Команда: самоорганизация

Не происходит сама по себе
Требует внешних условий
Команда должна понимать, зачем организовываться
Частые

Команда: самоорганизация Не происходит сама по себе Требует внешних условий Команда должна
и неформальные отзывы о работе очень важны
Требует времени
4 этапа становления команды

Слайд 30

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

Планирование

Клиент

Команда

Product backlog

Технология

Продукт

Планирование Спринта Планирование Клиент Команда Product backlog Технология Продукт

Слайд 31

Цель спринта

Короткое предложение, описывающее, каким должен быть результат спринта

БД

Финансы

Интерфейс

Написать графический интерфейс

Включить поддержку

Цель спринта Короткое предложение, описывающее, каким должен быть результат спринта БД Финансы
загрузки котировок в реальном времени

Запустить приложение на MS SQL

Слайд 32

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

Скорость работы команды задает объем работ на спринт
Суммарный объем задач на

Планирование спринта Скорость работы команды задает объем работ на спринт Суммарный объем
спринте не должен превышать возможности команды
Увеличение объема работ неизбежно приводит к падению качества

Слайд 33

Подробнее про планирование

Команда выбирает, что из product backlog будет реализовано на спринте
Создается

Подробнее про планирование Команда выбирает, что из product backlog будет реализовано на
Sprint backlog
Задачи идентифицируются и оцениваются
Все делается командой, не Scrum master
Учитывается High-level design

Как отдыхающий, я хочу посмотреть на фото отелей

Слайд 34

Управление sprint backlog

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

Управление sprint backlog Работа выбирается самостоятельно, назначений нет Постоянная переоценка сложности задач
имеет доступ к бэклогу спринта
Изменения во время sprint нежелательны
если нужно “очень срочно” - перенести часть задач обратно в product backlog

Слайд 35

Ежедневный Scrum

Характеристики
Ежедневно, в одно время
15 минут
Обмен информацией
Не для решения проблем
Приглашены все
Только участники

Ежедневный Scrum Характеристики Ежедневно, в одно время 15 минут Обмен информацией Не
команды могут говорить (product owner – часть команды)‏
Ведет ScrumMaster

Слайд 36

Три вопроса

Это не статусный отчет СкрамМастеру!

Три вопроса Это не статусный отчет СкрамМастеру!

Слайд 37

Пример: спринт

Пример: спринт

Слайд 38

Спринт ревью

Команда представляет, что было сделано на спринте
Фокус на результат, а не

Спринт ревью Команда представляет, что было сделано на спринте Фокус на результат,
процесс
Обычно принимает форму демонстрации
Неформально
2 часа на подготовку
Без слайдов
Вся команда участвует
Приглашены все

Слайд 39

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

Пересмотр эффективности практик
15-30 минут
После каждого спринта
Вся команда участвует
Возможно, приглашены клиенты

Ретроспектива Пересмотр эффективности практик 15-30 минут После каждого спринта Вся команда участвует Возможно, приглашены клиенты

Слайд 40

Инженерные методологии

Unit testing
Test Driven Development
Continuous integration
Refactoring
Code review

Инженерные методологии Unit testing Test Driven Development Continuous integration Refactoring Code review

Слайд 41

Estimation Practices

User Stories
Estimation Game

Estimation Practices User Stories Estimation Game

Слайд 42

Пример: Product backlog

Пример: Product backlog

Слайд 43

Вариант определения приоритета

Определение важности User Story
Effort – затраты на реализацию
Benefit – преимущество

Вариант определения приоритета Определение важности User Story Effort – затраты на реализацию
от включения
Penalty – урон при отсутствии
Business weight = benefit + penalty
Release business value = BW/SUM(BW)‏
ROI = rBV/Effort %

Слайд 44

User Story

Высокоуровневое описание функциональности с точки зрения конечного пользователя
Помогает разработчикам оценивать проект

User Story Высокоуровневое описание функциональности с точки зрения конечного пользователя Помогает разработчикам
не с технической точки зрения
Помогает избавиться от “как сделано” в пользу “что сделано”
Могут разбиваться на более мелкие в процессе работы

Слайд 45

Good User Story

INVEST
Independent
Negotiable
Valuable
Estimatable
Sized Appropriately
Testable

Good User Story INVEST Independent Negotiable Valuable Estimatable Sized Appropriately Testable

Слайд 46

Где детали?

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

Где детали? Как пользователь, я хочу отменить бронь Полный или частичный возврат
во времени?
Единый для всех пользователей?
Единый для всех отелей?
Следует ли слать подтверждение пользователю?

Слайд 47

Estimation Game

Основана на Expert Estimations
Вся команда принимает участие
Оценки даются независимо, результаты сверяются

Estimation Game Основана на Expert Estimations Вся команда принимает участие Оценки даются
и обсуждаются
Раунды оценок

Слайд 48

Подробнее об оценке

Agile Estimating and Planning, Mike Cohn
User Stories Applied, Mike Cohn

Подробнее об оценке Agile Estimating and Planning, Mike Cohn User Stories Applied, Mike Cohn

Слайд 49

Изменения в Scrum

Принципы Scrum — не безусловные истины
Tailoring допустим и приветствуется
Вносите новшества

Изменения в Scrum Принципы Scrum — не безусловные истины Tailoring допустим и
в команду постепенно

Слайд 50

Возможные проблемы

Большие команды
Scrum of Scrums
Клиент требует следования CMMi
Scrum возможно сертифицировать по CMMi

Возможные проблемы Большие команды Scrum of Scrums Клиент требует следования CMMi Scrum
Level 5
Нет возможности найти на стороне заказчика PO
PO — внутри компании, возможно, не разработчик

Слайд 51

Куда пойти

Каждые две недели – семинары AgileRussia
www.agilerussia.ru
www.mountaingoatsoftware.com/scrum
www.scrumalliance.org
www.controlchaos.com

Куда пойти Каждые две недели – семинары AgileRussia www.agilerussia.ru www.mountaingoatsoftware.com/scrum www.scrumalliance.org www.controlchaos.com

Слайд 52

Что читать

Экстремальное программирование, Кент Бек
Экстремальное программирование: планирование, Кент Бек и Мартин Фаулер
Agile

Что читать Экстремальное программирование, Кент Бек Экстремальное программирование: планирование, Кент Бек и
Estimating and Planning, Mike Cohn
Agile Project Management with Scrum, Ken Schwaber
Agile Retrospectives, Esther Derby and Diana Larsen
Agile Software Development Ecosystems, Jim Highsmith
Agile Software Development with Scrum, Ken Schwaber and Mike Beedle
Scrum and The Enterprise, Ken Schwaber

Слайд 53

Credits

Mountain Goat Software
Mike Cohn
Mike Vizdos

Credits Mountain Goat Software Mike Cohn Mike Vizdos
Имя файла: Обзор-методологии-Scrum-Auriga-Inc.-Дмитрий-Сидоренко.pptx
Количество просмотров: 1199
Количество скачиваний: 2