Практика внедрения scrum

44
Практика внедрения SCRUM: трудности и пути их преодоления Бибичев Андрей 15.04.2008

Upload: andrey-bibichev

Post on 14-Nov-2014

5.042 views

Category:

Technology


4 download

DESCRIPTION

Презентация Бибичева Андрея об опыте внедрения Scrum в компании CustIS, прочитанная на конференции РИТ-2008. Текст статьи - http://www.slideshare.net/biBIGine/scrum-2029854

TRANSCRIPT

Page 1: Практика внедрения Scrum

Практика внедрения SCRUM: трудностии пути их преодоления

Бибичев Андрей15.04.2008

Page 2: Практика внедрения Scrum

Зачем это рассказывать?

Дифирамбов и восторгов про Scrum ― и так очень много

Критики тоже хватает

А вот описания реального опыта, да еще и «отечественного» ― очень мало

2

Page 3: Практика внедрения Scrum

Примерный план Три кита Scrum

коммуникации / самоорганизация / жесткий time-boxing

Среда внедрения пара слов про Компанию и проектные команды

Принятие решения о переходе на Scrum выбор методологии / как всех убедить / пропаганда

Перевод первых команд выбор тренера / выбор команды / подбор параметров / внедрение

Опыт работы по методологии Scrum Проблемы с: taskboard / Scrum-митингами / ретроспективами /

демонстрациями / соблюдением time-boxing-а // Nokia-тест Перевод последующих команд, заключение

3

Page 4: Практика внедрения Scrum

Общая схемаТерминологияТри «фишки»Литература

Пара слов про Scrum4

Page 5: Практика внедрения Scrum

О термине5

Scrum – термин из Регби «схватка», которая назначается для возобновления игры

(аналог «вбрасывания» в хоккее) команды выстраиваются друг напротив друга по три линии,

а мяч вбрасывается в центр

Page 6: Практика внедрения Scrum

Как тикает Scrum-механизм6

ВедетProduct Owner

Sprint Planning(PO + команда)

Daily Scrum Meeting

Демонстрация

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

Page 7: Практика внедрения Scrum

Терминология7

Daily Scrum MeetingStandup Meeting

Product OwnerПредставитель заказчика в команде

SprintIteration

Sprint planning,Planning poker

Planning game

Product backlog,Sprint backlog

User stories

ScrumXP

Page 8: Практика внедрения Scrum

Терминология: Scrum-мастер, Product Owner, Scrum Lord

8

Поросята (pigs) – активные участники в решении задач (разработчики, бизнес-архитекторы, DBA, тестировщики), образуют команду

в команде не предполагается специальных ролей за исключением вспомогательной: Scrum Master (организация meeting-ов, устранение помех) – всегда по совместительству!

Цыплята (chickens) – те, кто вовлечены в процесс, но не выполняют проектных заданий (выносятся за пределы команды):

Product Owner – замена Project Manager-а, отвечает за продукт, не программист Scrum Lord – тот, кто учит команду Scrum-у, следит за соблюдением правил

Page 9: Практика внедрения Scrum

Терминология:taskboard, burndown chart

9

остатокsprint backlog

что делаем сегодня

что выполненоза sprint

график «сгорания» работ(точки ставятся после каждого scrum

meeting-а)

Если всё сделано

досрочно, то новые задачи

берутся отсюда

Page 10: Практика внедрения Scrum

Терминология:Product Backlog

10

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

Залогиниться, кликнуть на «Транзакции». Выполнить дипозит, вернуться к транзакциям и проверить, что выполненная операция показывается

810Просмотр истории собственных транзакций

2

Требуются UML-диаграммы последовательности проведения операции. Про шифрование пока не беспокоиться

Залогиниться, открыть карточку депозита, положить $10, открыть карточку баланса и проверить, что остаток увеличился на $10

530Депозит1

NotesHow to demoEstImpNameID

Page 11: Практика внедрения Scrum

Терминология:Sprint Planning, Planning Poker

11

При оценке трудоемкости используется дискретная шкала (см. картинку)

Каждый участник команды независимо дает оценку трудоемкости задачи

Разногласия обсуждают, процедуру повторяют (пока все не сойдутся на приблизительно одной цифре)

«0» – эта «задача» уже решена «?» – нет никаких идей (вообще) «чашка кофе» – требуется перерыв

Page 12: Практика внедрения Scrum

Терминология:Actual Velocity, Focus Factor

12

Скорость разработки (Actual Velocity) – количество реализованных Story Points за Sprint

Focus factor – отношение скоростиразработки к потраченным чел.-дням

Как правило, Focus factor оценивается исходя из опыта предыдущего Sprint-а

Page 13: Практика внедрения Scrum

Три ключевых фишки Scrum: №113

Эффективные коммуникации Устные – самые эффективные Достигается за счет общего участия в Daily

Scrum Meeting-ах, планировании, ретроспективе, демонстрации

Обеспечивает хорошее и качественное распространение информации

Повышает вовлеченность членов команды

Page 14: Практика внедрения Scrum

Три ключевых фишки Scrum: №214

Самоорганизующаяся команда Помогает «не убить» самомотивацию Обеспечивает автоматическую подстройку под обстоятельства Подталкивает членов команды к кросс-функциональности Разгружает управляющее звено от принятия лишних решений

Page 15: Практика внедрения Scrum

Три ключевых фишки Scrum: №315

Жесткий time-boxing Заключается в следующем:

дата окончания итерации жестко фиксируется и не переносится

объем работ на итерацию тоже фиксируется и должен соблюдаться

время daily scrum meeting-ов жестко фиксируется в рамках итерации

Отход от этого – это форс-мажор (бывает, но не должно быть чаще, чем раз в 4-5 итераций)

Обеспечивает предсказуемый, управляемый и абсолютно прозрачный ход проекта

Ограниченныйснизу объем

работ

t

Фиксированные начало и окончание

Page 16: Практика внедрения Scrum

Литература16

Доступна бесплатно в электронном виде: http://www.infoq.com/minibooks/

scrum-xp-from-the-trenches Стала для нас своего рода библией

Scrum и сильно помогла

Page 17: Практика внедрения Scrum

О компанииО командах

О среде внедрения17

Page 18: Практика внедрения Scrum

www.custis.ru18

Создание приложений enterprise-уровня на заказ полный цикл, начиная от предпроектного обследования, заканчивая

внедрением и спопровождением большинство проектов имеют достаточно долгую историю развития

(самые долгожители: уже почти 10 лет)

В данный момент: 90 человек (всего в Компании) / 9 проектных команд от 3 до 12 человек каждая / в среднем – 6 человек в команде

Заказчики: ТС «Спортмастер» / Центральный аппарат Банка России /

ЕРКЦ г. Саратова и др. городов / Собинбанк / Депаратамент образования Москвы / …

Page 19: Практика внедрения Scrum

Scrum-команды19

DBMS Oracle, PL/S QL, M4, XML, .Net

5 чел. • 1 аналитик • 1 инженер

началомарта 2008TN-MDM

DBMS Oracle, PL/S QL, M4, XML, .Net

7 чел. • 1 аналитик • 3 инженера

конецоктября 2007TN-S hop

.Net (1.1 – 3.5), AS P.Net, LINQ, DBMS Oracle, MyS QL5 чел.

• все разработчикиконецсентября 2007TechEvol

DBMS Oracle, PL/S QL, M4, .Net, Delphi

6 чел. • 1 аналитик • 1 инженер

конецсентября 2007Radey

DBMS Oracle, Oracle Portal, Java (JSF + Hibernate + Swing + …), C++, …

12 чел. • 2 аналитика • 2 инженера

начало сентября 2007

Fusion-Dokofr

ТехнологииСоставДата переходаКоманда

Page 20: Практика внедрения Scrum

Что выбрать?Начальство против!А народ?!

Принятие решения…20

Page 21: Практика внедрения Scrum

Что выбрать21

eXtreme Programming (XP) Scrum Feature Driven Development (FDD) OpenUP …

Scrum, дополненный практиками из XP

Page 22: Практика внедрения Scrum

Семейство Agile-методологий22

XP

SCRUM FDD

Уровень процессов

Жесткостьпроцессов

Управлениепроектом

Кодирование

Анархия Водопад

Управлениепроектами

Еще есть:• ASD• Crystal Clear• DSDM• Lean• AUP

Требования,Итерации,Unit-тесты

Стандарткодирования,Code review

Самоорг. команда,Daily Meetings,

Дизайн по месту

Взаимодейств.команд,

Индикацияпрогресса

Page 23: Практика внедрения Scrum

Как убедить начальство23

Больше всего напрягала самоорганизация:

активные vs. пассивные индивидуальные планы развития орг. структура внутри проекта персональная ответственность система компенсации

Сильно помогли «Scrum and XP from the trenches» и наличие тренера/консультанта

Page 24: Практика внедрения Scrum

А народ24

Внутренний семинар, разговоры за «рюмкой чая», совместное изучение «Scrum and XP from the trenches»

Весь

ма п

олез

ен

приг

лаш

енны

й т

рене

р

– к н

ему

дове

рия

знач

ител

ьно

боль

ше!

Scrum – это круто!

Вот тока не надо заливать…

Page 25: Практика внедрения Scrum

Выбор тренераКого 1-ого «под нож»?Подбор параметровКак переходить?!

Перевод первых команд25

Page 26: Практика внедрения Scrum

Выбор тренера26

искали 2 месяца выбора почти нет зато то, что есть,

весьма высокого уровня!

Считаем, что нам повезло! УРА! Мы нашли тренера!

АГА! Я подсёк клиента!

Page 27: Практика внедрения Scrum

Выбор пионеров27

Я – Scrum.Я тебя спасу!

За что?!У меня всё было Ок!

«слабые»

многоярких

лидеров

всё гладко много проблем

Page 28: Практика внедрения Scrum

Подбор параметров28

Большинство команд начинали с: длина итерации – две недели (10 раб. дней) единица оценки трудоемкости – идеальные человеко-

часы (или человеко-дни для крупных задач) способ оценки трудоемкости – Planning Poker Focus-factor – 0.5 Scrum-мастер – самовыдвиженец время начала Scrum-митинга – в 12:00 или 15:00

Сейчас все команды используют 2-х недельные итерации, а Focus-factor разниться от 0.4 до 0.65

Page 29: Практика внедрения Scrum

Как внедрять29

Главное – быстро!

Консультации с лидерамии руководством команды

(примерно 1 неделя)

Консультации с лидерамии руководством команды

(примерно 1 неделя)

Итерация №0(2 недели)

Итерация №1(2 недели)

Тренинг(весь день для всей команды)

Планирование ДемоРетро

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

! ! ! ! ! ! !

! – присутствие тренера

Page 30: Практика внедрения Scrum

Сложности сTaskboardScrum-митингамиРетроспективойДемонстрациейTime-boxing-ом

Nokia-тест

Опыт использования Scrum30

Page 31: Практика внедрения Scrum

Одна команда, несколько проектов/модулей

31

Ложные предрассудки:2. несколько проектов/модулей для одной Scrum-команды –

это плохо3. смешивать в одной итерации работы по разным

проектам/модулям – нельзя

Всё отлично работает (переключаться даже интересно!) главное – чтобы Product Owner был один!

Но есть проблемы с достижением кросс-функциональности в командах, где раньше была специализация по проектам/модулям попробуйте сделать несколько «моно-продуктовых»

итераций

Page 32: Практика внедрения Scrum

Taskboard 32

Оценка трудоемкости мешает при выполнении задачи пишите оценку трудоемкости с другой стороны стикера

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

Сделать то-то…

20 sp

Page 33: Практика внедрения Scrum

Scrum-митинги 33

На Scrum-митинге присутствуютне все (опоздания) выбор времени митинга не используйте штрафы

Scrum-митинг превращаетсяв отчет перед Scrum-мастером разъяснительная работа со временем проходит

Scrum-митинг затягивается,переходит в обсуждения «карандашик» песочные часы

- На Scrum-митинг становись!

- Что делал вчера?!

Page 34: Практика внедрения Scrum

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

Важная практика:2. точка подстройки процесса!3. снятие напряженностей и

недомолвок

Либо вообще про неезабывают (по началу) пригласить опытного ведущего

Либо вырождается вформальность (со временем) менять ведущих расширять круг тем читать умные книжки

Page 35: Практика внедрения Scrum

Демонстрация 35

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

площадку к заказчику Демонстрация затягивается из-за

тех. проблем тупо готовиться

Делали-делали, а сделали не то писать how-to-demo зарисовывать vision

Page 36: Практика внедрения Scrum

Time-boxing 36

Что делать, если у команды не хватает самомотивации для соблюдения жесткого time-boxing-а:

чем выше активный интерес к проекту «со стороны», тем выше (само)мотивация внутри команды: на митингах на демо иногда на Scrum-митингах

Не штрафовать! Полезно немного

не успевать («прессинг»)

Page 37: Практика внедрения Scrum

Критерии: Scrum / не-Scrum ?37

Процесс достаточно гибкий и адаптивный

Адаптация и кастомизация в процессе работы по Scrum зачастую уводят слишком далеко от канонической трактовки…

Каковы критерии, что это всё еще Scrum?

Какие принципы являются ключевыми? Т.е. что нельзя нарушать?

Я – скрипач али нет?

Page 38: Практика внедрения Scrum

Nokia-тест 38

QCon London 2006: Jeff Sutherland «Scrum and not-Scrum» http://www.infoq.com/interviews/jeff-sutherland-scrum-rules

Nokia использует Scrum Nokia консультирует Jeff В результате родился

«тест»

Page 39: Практика внедрения Scrum

Nokia-тест: итеративность39

У вас итерации фиксированы, т.е. начинаются в определенное время и заканчиваются в назначенное время?

Длина итерации не превышает 6 недель? В конце итерации вы имеете работающее ПО? Вам не нужна детальная спецификация для того, чтобы

начать итерацию? Важно иметь работающее ПО в конце итерации: вы

проводите тестирование во время процесса разработки?

Если все ответы – «ДА», то это итеративный процесс в полном смысле этого слова

Page 40: Практика внедрения Scrum

Nokia-тест: Scrum-ность40

У вас есть Product Owner, т.е. есть кто-то, кто представляет заказчика и работает с вами?

Если у вас есть Product Owner, ведет ли он Product Backlog, т.е. список «фич», которые нужно запрограммировать? Приоритезирован ли он по важности для заказчика? Есть ли оценка трудоемкости по каждому пункту?

Строите ли вы график сгорания работ (burndown chart) во время итерации, чтобы видеть, сколько работы осталось, и успеваете ли вы к концу итерации?

Во время итерации команда работает по принципу самоорганизации, т.е. менеджеры не вмешиваются в работу команды по ходу итерации?

Если и здесь все «ДА», то это Scrum

Page 41: Практика внедрения Scrum

Перевод последующих командПробуйте! Контакты

Заключение41

Page 42: Практика внедрения Scrum

Перевод последующих команд42

Помогайте страждущим а то начнут «самопалить»

Не давите на скептиков сами придут

Page 43: Практика внедрения Scrum

Не бойтесь попробовать!43

Scrum может быть хорошим дополнением к вашим навыкам, приемам,know-how, практикам

Разгружаетmanagement

Обеспечиваетсяпрозрачность

Повышаетвовлеченность иинтерес к работе

большинству программистов очень нравится!

Page 44: Практика внедрения Scrum

Рады будем пообщаться!44

Приходите в гости! Давайте обмениваться опытом! Сами с интересом бы посмотрели как оно у других

Бибичев Андрей[email protected]

www.custis.ru