lovely scrum
DESCRIPTION
TRANSCRIPT
ScrumScrum! Lovely scrum! Lovely scrum!
Eduard (@index01d) Antsupov, 2012
Команда● Зовут x01d● Появились в августе 2010 г.● 8 человек в штате● 3 ключевых программиста● 3-5 проектов в работе одновременно● Еда обходится в полтора раза дороже аренды офиса!● Друзей много● Но нам мало ● Фриланс (http://lookubra.x01d.com/)● Сбор и анализ данных в сети интернет (мы много
знаем про OAuth-протокол v1-2, DOM, открытые API и методы сбора и анализа данных из социальных сетей, обнаружение групп, деревья решений, фильтрацию документов...)
● Интеграция социальных сетей в сайты и веб-сервисы
Начало. Нет методологии.
Nokia 6120
18 кв. м
Постановка задачи. ТЗ. Водопад.
Постановка задачи. ТЗ. Водопад.
Не успели :(
ПАНИКА и УЖАС!
Потом всё поменялиМожно было не вырабатывать
Делали долго...Получилось не то
Страшно ошибиться
Scrum! - The New Product Development Game
Методология гибкой разработки
Набор инструментов управления разработкой
Фреймворк для разработки сложных продуктов и систем
Роли
● Product Owner● Scrum Master● Scrum Team● ...● Users
Product OwnerВладелец продукта. Представляет
интересы заказчика.
Product OwnerВладелец продукта. Представляет
интересы заказчика.
Product Owner
● Определяет набор функционала ПО● Устанавливает приоритеты● Устанавливает дату релиза ● Даёт обратную связь● Обеспечивает связь заказчиков и
исполнителей● Принимает результат
Команда3-9 человек, самоорганизуется,
кроссфункциональна
Команда3-9 человек, самоорганизуется,
кроссфункциональна
Команда
● Декомпозирует пользовательские истории на задачи
● Оценивает сложность● Разрабатывает продукт● Контролирует качество● Улучшает процесс разработки● Демонстрирует работу Product Owner'у
Scrum MasterЛидер команды. Защитник Scrum.
Защитник команды. Решает проблемы.
Scrum MasterЛидер команды. Защитник Scrum.
Защитник команды. Решает проблемы.
Scrum Master
● Устраняет препятствия● Предотвращает перерывы в разработке● Помогает команде● Следит за процессом
Мы делаем продукт.
Продукт представляет собой список функций,
который называется backlog
Backlog'ом владеет Product Owner
Продукт описывается в терминах
пользовательских историй
Product owner расставляет задачам
приоритеты по степени важности
Команда оценивает сложность задач
Результат: Список оцененных и
отсортированных по важности задач
Спринт
● Обычно короткий (от 2-х до 4-х недель)● Жёстко ограничен по времени● Начинается с планирования (Planning
Meeting)● Заканчивается ретроспективой● Сопровождается ежедневными
совещаниями (daily meeting)
Планирование спринта (Planning meeting)
● Участвуют все● Длится 4-8 часов● Выбираются первые n задач из Backlog'a● Определяется цель спринта● Обсуждаются способы достижения цели● Команда формирует Sprint Backlog● Истории из Backlog'a разбиваются на
подзадачи● Формируется расписание спринта
Sprint Backlog не изменяется в процессе
спринта!
Planning Poker
Доска (task board)
Доска (task board)
Митинг (Daily Scrum)
● Участвует команда● Длится 15-20 минут● Что сделано?● Что мешает продвижению спринта?● Что будет сделано?
Демонстрация
● Участвуют все● Озвучивается цель● Демонстрируется инкремент функционала● Бизнес-ориентация (что сделано, вместо
как сделано!)● Обмен отзывами● Демонстрируйте недемонстрируемое!● How-to-demo
Ретроспектива
● Главное - проводить :)● Длится 1-3 часа● Участвуют все● Неформальная встреча● Каждый высказывается● Никто не перебивает● Что хорошего?● Что можно улучшить?● Анализ производительности● Подведение итогов
Производительность и прогнозирование
● График успеваемости (BurnDown-диаграмма)
● Фокус-фактор
BurnDown-диаграмма (график успеваемости)
Фокус-фактор
Фокус-фактор
3 кита Scrum
● Эффективные коммуникации● Жёсткий TimeBoxing● Самоорганизующаяся команда
Позитив
● Прототип в процессе разработки превращается в продукт
● Оперативная реакция на обратную связь● Предсказуемая производительность● Возможность определить процент
готовности проекта● Простые метрики● => меньше риски● Разгружает менеджмент● Повышает настроение и мотивацию в
команде :)
Проблемы
● Коммуникация удаленных членов команды
● Бизнес-процессы заказчика● Кроссфункциональность и постоянство
состава команды● Небольшие команды● Слабая документированность продукта
Nokia-тест: итеративность
● Итерации фиксированы?● Длина итерации не превышает 6 недель?● В конце итерации вы имеете работающее
ПО?● Вам не нужна детальная спецификация,
чтобы начать итерацию?● Вы проводите тестирование во время
разработки? (важно иметь работающее ПО)
Nokia-тест: Scrum
● У вас есть Product Owner?● Если у вас есть P.O., ведет ли он Backlog
(cписок фич, которые нужно запрограммировать)? Приоритеты? Оценка сложности?
● Строите ли вы burndown-диаграмму?● Команда работает по принципу
самоорганизации?
Must read.
● Wiki читать не нужно.● Там много воды● И мало дела● И бесполезно
Must read.
● Практика внедрения Scrum: трудности и пути их преодоления // Бибичев Андрей, 15 апреля 2008 г.
Must read.
● Scrum и XP: заметки с передовой // Хенрик Книберг, InfoQ
Must read.
● Succeeding with Agile // Addison-Wesley, Mike Cohn, 2010
Здесь должны быть ваши вопросы
Да, это точная информация.
100%
О чём я забыл
● Планирование релиза● Связь с XP и TDD● Масштабирование Scrum● Организация тестирования