scrum: introduction

32
Введение в Scrum

Upload: nadja-emelina

Post on 15-Nov-2014

1.751 views

Category:

Documents


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Scrum: Introduction

Введение в Scrum

Page 2: Scrum: Introduction

•Скрам – это один из Agile процессов, который позволяет фокусироваться на поставке наиважнейших, с точки зрения бизнеса, ценностей в наикратчайшие сроки

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

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

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

Скрам в 100 словах

Page 3: Scrum: Introduction

Популярность 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

Page 4: Scrum: Introduction

Применение Scrum• Коммерческое ПО

• Внутренняя разработка

• Разработка на заказ

• Проекты с фиксированной стоимостью

• Финансовые приложения

• ISO 9001-сертифицированные приложения

• Встроенные системы

• 24x7 системы с требованиями 99.999% работоспособности

• Создание «Унифицированного истребителя-бомбардировщика»

• Разработка видеоигр

• Жизненно важные системы, утвержденные Управлением по контролю за продуктами и лекарствами (США)

• ПО контроля за спутниками

• Веб-сайты

• Портативное ПО

• Мобильные телефоны

• Приложения работы сети

• ISV приложения

• Некоторые крупнейшие, широко используемые приложения

Page 5: Scrum: Introduction

Характеристики• Самоорганизующиеся команды

• Продукт разрабатывается серией “спринтов”, каждый не больше месяца

• Все требования записываются в виде единого списка “бэклога продукта”

• Инженерные практики не являются частью Scrum

• Использует простые правила для создания гибкой среды разработки проектов

• Один из Agile процессов

Page 6: Scrum: Introduction

Agile-манифест

процессов и инструментовпроцессов и

инструментовЛюди и

взаимодействиеЛюди и

взаимодействиеважнее

следования первоначальному

плану

следования первоначальному

плану

Готовность к изменениям

Готовность к изменениям

важнее

Источник: www.agilemanifesto.org/iso/ru

исчерпывающей документации

исчерпывающей документации

Работающий продукт

Работающий продукт важнее

согласования условий контракта

согласования условий контракта

Сотрудничество с заказчиком

Сотрудничество с заказчиком

важнее

Page 7: Scrum: Introduction

Product life cycle

Page 8: Scrum: Introduction

Sprints• Scrum проекты развиваются сериями

“спринтов” (итераций)

• Продолжительность: 2-4 недели с жестким ограничением по времени

• Продукт проектируется, разрабатывается и тестируется на протяжении одного спринта

Page 9: Scrum: Introduction

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

... Скрам команды делают понемногу от каждой все время

Требования Дизайн Разработка Тестирование

Разработка: Последовательная против параллельной

Page 10: Scrum: Introduction

Никаких изменений в течение спринта

• Длительность спринта планируется исходя из того, как долго команда может работать, не внося изменения в план работ

Изменение

Page 11: Scrum: Introduction

Scrum framework•Product owner•Scrum Master•Команда

Роли

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ритуалы

•Product Backlog•Sprint Backlog•Burndown charts

Артефакты

Page 12: Scrum: Introduction

Scrum frameworkРоли

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ритуалы

•Product Backlog•Sprint Backlog•Burndown charts

Артефакты

•Product owner•Scrum Master•Команда

Page 13: Scrum: Introduction

Product owner

• Один человек

• Определяет требования к продукту

• Определяет дату релиза и наполненность

• Ответственен за доходность проекта (ROI)

• Приоритезирует требования, исходя из их рыночной ценности

• Корректирует приоритеты на каждой итерации, если необходимо

• Принимает работу

Page 14: Scrum: Introduction

Scrum master• Представляет руководство проекта

• Ответственен за внедрение ценностей и практик Scrum

• Не раздает задания

• Устраняет препятствия

• Ответственен за эффективность работы команды

• Обеспечивает видимость и прозрачность ситуации в команде

• Защищает команду от внешних воздействий

Page 15: Scrum: Introduction

Команда• Обычно 5-9 человек

• Кросс функциональная• программисты, тестировщики, дизайнеры...

• Заняты полный рабочий день

• Команды самоорганизуюются• В идеале, нет специальных ролей

• Состав команды может меняться только между спринтами

Page 16: Scrum: Introduction

КомандаРазработчи

киТестировщи

ки

Анализ ● ●

Разработка ●

Unit tests ●

Build ● ●

Test cases writing ●

Test environment update

Testing ● ●

Page 17: Scrum: Introduction

Scrum frameworkРоли

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ритуалы

•Product Backlog•Sprint Backlog•Burndown charts

Артефакты

•Product owner•Scrum Master•Команда

Page 18: Scrum: Introduction

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

Что делаем

• Анализируем бэклог• Выбираем Цель спринта

Как делаем

• Решаем как достичь Цели спринта

• Создаем Spring Backlog из элементов Бэклога Продукта (user story)

• Оцениваем Sprint Backlog в часах (4-40h): planning poker

Цель спринт

а

Цель спринт

а

Spring BacklogSpring

Backlog

Бизнес среда

Бизнес среда

КомандаКоманда

Product BacklogProduct Backlog

Технология

Технология

ПродуктПродукт

Дата demoДата demo

Page 19: Scrum: Introduction

Sprint backlog example

User story:Реализовать графическое представление конфигурации сети

User story:Реализовать графическое представление конфигурации сети

Sprint backlog:

Кодировать создание конфигурации (40)Обновить GUI (16)Написать тесты (16)Обновить руководство пользователя (4)

•Product backlog и Sprint backlog в Jira•Sprint backlog включает «технические истории»

Page 20: Scrum: Introduction

Daily Scrum meeting

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

• Ежедневно

• 15 минут

• Стоя

• Не для решения проблем

• Scrum Master лишь ведет собрание

• Backlog update

Page 21: Scrum: Introduction

Каждый отвечает на три вопроса

• Это НЕ отчет Scrum-мастеру!

• Это обязательства перед коллегами

Что ты сделал вчера?Что ты сделал вчера?1

Что будешь делать сегодня?Что будешь делать сегодня?

2

Что тебе мешает?Что тебе мешает?3

Page 22: Scrum: Introduction

Sprint Demo meeting• Команда представляет, что было сделано

за спринт

• Фокус на результат, а не процесс и технические детали

• Эффектная демонстрация

• Только на 100% законченные story

• Не говорить о багах

• Максимум 2 часа на подготовку

• Вся команда участвует

• Приглашены все, кому можетбыть интересно

Page 23: Scrum: Introduction

Ретроспектива•После каждого demo до начала

следующего спринта

•Участвует вся команда

•Agenda:

Что было хорошо

Что можно улучшить

Сравнение запланированной и реальной производительности

improvements

Page 24: Scrum: Introduction

Scrum frameworkРоли

•Sprint planning•Sprint review•Sprint retrospective•Daily scrum meeting

Ритуалы

•Product Backlog•Sprint Backlog•Burndown charts

Артефакты

•Product owner•Scrum Master•Команда

Page 25: Scrum: Introduction

Product Backlog• Требования

• Список желательной функциональности

• В идеале написан так, что каждый элемент имеет значение для конечного пользователя

• Приоритеты выставляются Product Owner

• Приоритеты обновляются в начале спринта

Product BacklogProduct Backlog

Page 26: Scrum: Introduction

Управление бэклогом спринта• Члены команды выбирают работу на свой

выбор• Задачи никогда не назначаются принудительно

• Оценка оставшейся работы обновляется ежедневно на daily meeting

• Любой член команды может добавить, удалить или изменить элементы Sprint Backlog

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

• Оценка оставшейся работы обновляется по мере того как узнаем больше о задачах

Page 27: Scrum: Introduction

Пример бэклога спринта

АктивностиАктивностиСделать интерфейс пользователя

Сделать логику

Протестировать логику

Написать руководство пользователяВынести утилиты в общий класс

ПнПн8

16

8

12

8

ВтВт4

12

16

8

СрСр ЧтЧт

4

11

8

4

ПтПт

8

8

Добавить журнал ошибок

8

10

16

8

8

Page 28: Scrum: Introduction

Sprint burndown chartЧ

асы

Page 29: Scrum: Introduction

Особенности

• Распределенная команда

• Удаленный product owner

• Daily scrum -> 2 times a week

• Частичная занятость

• Большой объем тестирования и технических историй»

• Объемная функциональность

• Анализ требований до начала первого спринта

Page 30: Scrum: Introduction

Масштабирование посредством Скрама из Скрамов

Page 31: Scrum: Introduction

Книги по Scrum• Agile and Iterative Development: A Manager’s Guide by

Craig Larman

• Agile Estimating and Planning by Mike Cohn

• Agile Project Management with Scrum by Ken Schwaber

• Agile Retrospectives by Esther Derby and Diana Larsen

• Agile Software Development Ecosystems by Jim Highsmith

• Agile Software Development with Scrum by Ken Schwaber and Mike Beedle

• Scrum and The Enterprise by Ken Schwaber

• Succeeding with Agile by Mike Cohn

• User Stories Applied for Agile Software Development by Mike Cohn

Page 32: Scrum: Introduction

Questions?