Your SlideShare is downloading. ×
0
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

2008-04-15-scrum-from-custis-show

777

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
777
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
31
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Практика внедрения SCRUM: трудности и пути их преодоления 15.04.2008 Бибичев Андрей
  • 2. Зачем это рассказывать? 2  Дифирамбов и восторгов про Scrum ― и так очень много  Критики тоже хватает  А вот описания реального опыта, да еще и «отечественного» ― очень мало
  • 3. Примерный план 3  Три кита Scrum  коммуникации / самоорганизация / жесткий time-boxing  Среда внедрения  пара слов про Компанию и проектные команды  Принятие решения о переходе на Scrum  выбор методологии / как всех убедить / пропаганда  Перевод первых команд  выбор тренера / выбор команды / подбор параметров / внедрение  Опыт работы по методологии Scrum  Проблемы с: taskboard / Scrum-митингами / ретроспективами / демонстрациями / соблюдением time-boxing-а // Nokia-тест  Перевод последующих команд, заключение
  • 4. 4 Пара слов про Scrum Общая схема Терминология Три «фишки» Литература
  • 5. О термине 5  Scrum – термин из Регби  «схватка», которая назначается для возобновления игры (аналог «вбрасывания» в хоккее)  команды выстраиваются друг напротив друга по три линии, а мяч вбрасывается в центр
  • 6. Как тикает Scrum-механизм 6 Daily Scrum Meeting Демонстрация Ретроспектива Ведет Product Owner Sprint Planning (PO + команда)
  • 7. Терминология 7 XP Scrum User stories Product backlog, Sprint backlog Planning game Sprint planning, Planning poker Iteration Sprint Standup Meeting Daily Scrum Meeting Представитель Product Owner заказчика в команде
  • 8. Терминология: Scrum-мастер, 8 Product Owner, Scrum Lord  Поросята (pigs) – активные участники в решении задач (разработчики, бизнес-архитекторы, DBA, тестировщики), образуют команду  в команде не предполагается специальных ролей за исключением вспомогательной: Scrum Master (организация meeting-ов, устранение помех) – всегда по совместительству!  Цыплята (chickens) – те, кто вовлечены в процесс, но не выполняют проектных заданий (выносятся за пределы команды):  Product Owner – замена Project Manager-а, отвечает за продукт, не программист  Scrum Lord – тот, кто учит команду Scrum-у, следит за соблюдением правил
  • 9. Терминология: 9 taskboard, burndown chart остаток что делаем что выполнено график «сгорания» работ sprint backlog сегодня за sprint (точки ставятся после каждого scrum meeting-а) Если всё сделано досрочно, то новые задачи берутся отсюда
  • 10. Терминология: 10 Product Backlog ID Name Imp Es t How to demo Notes 1 Депозит 30 5 Залогиниться, открыть Требуются UML- карточку депозита, диаграммы положить $10, открыть последовательности карточку баланса и проведения операции. проверить, что остаток Про шифрование пока увеличился на $10 не беспокоиться 2 Просмотр 10 8 Залогиниться, кликнуть Использовать истории на «Транзакции». постраничный собственных Выполнить дипозит, вывод больших вернуться к транзакций таблиц. Дизайн – по транзакциям и аналогии со проверить, что выполненная операция справочником показывается пользователей
  • 11. Терминология: 11 Sprint Planning, Planning Poker  При оценке трудоемкости используется дискретная шкала (см. картинку)  Каждый участник команды независимо дает оценку трудоемкости задачи  Разногласия обсуждают, процедуру повторяют (пока все не сойдутся на приблизительно одной цифре)  «0» – эта «задача» уже решена  «?» – нет никаких идей (вообще)  «чашка кофе» – требуется перерыв
  • 12. Терминология: 12 Actual Velocity, Focus Factor  Скорость разработки (Actual Velocity) – количество реализованных Story Points за Sprint  Focus factor – отношение скорости разработки к потраченным чел.-дням  Как правило, Focus factor оценивается исходя из опыта предыдущего Sprint-а
  • 13. Три ключевых фишки Scrum: №1 13  Эффективные коммуникации  Устные – самые эффективные  Достигается за счет общего участия в Daily Scrum Meeting-ах, планировании, ретроспективе, демонстрации  Обеспечивает хорошее и качественное распространение информации  Повышает вовлеченность членов команды
  • 14. Три ключевых фишки Scrum: №2 14  Самоорганизующаяся команда  Помогает «не убить» самомотивацию  Обеспечивает автоматическую подстройку под обстоятельства  Подталкивает членов команды к кросс-функциональности  Разгружает управляющее звено от принятия лишних решений
  • 15. Три ключевых фишки Scrum: №3 15  Жесткий time-boxing  Заключается в следующем:  дата окончания итерации жестко фиксируется и не переносится t  объем работ на итерацию тоже Ограниченный фиксируется и должен снизу объем соблюдаться работ  время daily scrum meeting-ов жестко фиксируется в рамках итерации  Отход от этого – это форс-мажор (бывает, но не должно быть чаще, чем Фиксированные начало и окончание раз в 4-5 итераций)  Обеспечивает предсказуемый, управляемый и абсолютно прозрачный ход проекта
  • 16. Литература 16  Доступна бесплатно в электронном виде:  http://www.infoq.com/minibooks/ scrum-xp-from-the-trenches  Стала для нас своего рода библией Scrum и сильно помогла
  • 17. 17 О среде внедрения О компании О командах
  • 18. www.custis.ru 18  Создание приложений enterprise-уровня на заказ  полный цикл, начиная от предпроектного обследования, заканчивая внедрением и спопровождением  большинство проектов имеют достаточно долгую историю развития (самые долгожители: уже почти 10 лет)  В данный момент:  90 человек (всего в Компании) / 9 проектных команд  от 3 до 12 человек каждая / в среднем – 6 человек в команде  Заказчики:  ТС «Спортмастер» / Центральный аппарат Банка России / ЕРКЦ г. Саратова и др. городов / Собинбанк / Депаратамент образования Москвы / …
  • 19. Scrum-команды 19 Дата Команда Состав Технологии перехода 12 чел. DBMS Oracle, Oracle Portal, Fus ion- начало Java (JSF + Hibernate + Swing • 2 аналитика Dokofr сентября 2007 + …), C++, … • 2 инженера 6 чел. D B MS O racle, P L/ Q L, S конец M4, .Net, D elphi R adey • 1 аналитик сентября 2007 • 1 инженер .Net (1.1 – 3.5), AS P .Net, LINQ, конец 5 чел. TechEvol D B MS O racle, MyS QL сентября 2007 • все разработчики 7 чел. D B MS O racle, P L/ Q L, M4, S конец X ML, .Net TN-S hop • 1 аналитик октября 2007 • 3 инженера 5 чел. D B MS O racle, P L/ Q L, M4, S начало X ML, .Net TN-MDM • 1 аналитик марта 2008 • 1 инженер
  • 20. 20 Принятие решения… Что выбрать? Начальство против! А народ?!
  • 21. Что выбрать 21  eXtreme Programming (XP)  Scrum  Feature Driven Development (FDD)  OpenUP  …  Scrum, дополненный практиками из XP
  • 22. Семейство Agile-методологий 22 Уровень процессов Еще есть: • ASD Управление проектами SCRUM Взаимодейств. FDD • Crystal Clear команд, • DSDM Индикация • Lean прогресса Управление • AUP проектом Самоорг. команда, Требования, Daily Meetings, Итерации, Дизайн по месту Unit-тесты Стандарт кодирования, Code review Кодирование XP Жесткость процессов Анархия Водопад
  • 23. Как убедить начальство 23 Больше всего напрягала самоорганизация:  активные vs. пассивные  индивидуальные планы развития  орг. структура внутри проекта  персональная ответственность  система компенсации  Сильно помогли «Scrum and XP from the trenches» и наличие тренера/консультанта
  • 24. А народ Scrum – это круто! 24 о б ерия нер ит ему ый т н ел дов ре е! е ьш зн – к н енн лез ол о ла ма п ьн ш пр есь В иг ач Вот тока не надо заливать… Внутренний семинар, разговоры за «рюмкой чая», совместное изучение «Scrum and XP from the trenches»
  • 25. 25 Перевод первых команд Выбор тренера Кого 1-ого «под нож»? Подбор параметров Как переходить?!
  • 26. АГА! Я подсёк Выбор тренера клиента! 26  искали 2 месяца  выбора почти нет  зато то, что есть, весьма высокого уровня! УРА! Мы нашли  Считаем, что нам повезло! тренера!
  • 27. Выбор пионеров Я – Scrum. 27 Я тебя спасу! много ярких лидеров «слабые» всё гладко много проблем За что?! У меня всё было Ок!
  • 28. Подбор параметров 28 Большинство команд начинали с:  длина итерации – две недели (10 раб. дней)  единица оценки трудоемкости – идеальные человеко- часы (или человеко-дни для крупных задач)  способ оценки трудоемкости – Planning Poker  Focus-factor – 0.5  Scrum-мастер – самовыдвиженец  время начала Scrum-митинга – в 12:00 или 15:00  Сейчас все команды используют 2-х недельные итерации, а Focus-factor разниться от 0.4 до 0.65
  • 29. Как внедрять 29  Главное – быстро! Консультации с лидерами Итерация №0 Итерация №1 и руководством команды (2 недели) (2 недели) (примерно 1 неделя) ! ! ! ! ! ! ! Планирование Демо Планирование Ретро Тренинг (весь день для всей команды) ! – присутствие тренера
  • 30. 30 Опыт использования Scrum Сложности с Taskboard Scrum-митингами Ретроспективой Демонстрацией Time-boxing-ом Nokia-тест
  • 31. Одна команда, несколько 31 проектов/модулей Ложные предрассудки: 2. несколько проектов/модулей для одной Scrum-команды – это плохо 3. смешивать в одной итерации работы по разным проектам/модулям – нельзя  Всё отлично работает (переключаться даже интересно!)  главное – чтобы Product Owner был один!  Но есть проблемы с достижением кросс- функциональности в командах, где раньше была специализация по проектам/модулям  попробуйте сделать несколько «моно-продуктовых» итераций
  • 32. Taskboard 32  Оценка трудоемкости мешает при выполнении задачи  пишите оценку трудоемкости с другой стороны стикера  Стикеры отклеиваются и падают  используйте магниты или пробковые доски Сделать то-то… 20 sp
  • 33. - На Scrum-митинг Scrum-митинги становись! - Что делал вчера?! 33  На Scrum-митинге присутствуют не все (опоздания)  выбор времени митинга  не используйте штрафы  Scrum-митинг превращается в отчет перед Scrum-мастером  разъяснительная работа  со временем проходит  Scrum-митинг затягивается, переходит в обсуждения  «карандашик»  песочные часы
  • 34. Ретроспектива 34 Важная практика: 2. точка подстройки процесса! 3. снятие напряженностей и недомолвок  Либо вообще про нее забывают (по началу)  пригласить опытного ведущего  Либо вырождается в формальность (со временем)  менять ведущих  расширять круг тем  читать умные книжки
  • 35. Демонстрация 35  Тяжело обеспечить присутствие заказчика на демо  проще подстроиться  раз в пару итераций ездить на площадку к заказчику  Демонстрация затягивается из-за тех. проблем  тупо готовиться   Делали-делали, а сделали не то  писать how-to-demo  зарисовывать vision
  • 36. Time-boxing 36 Что делать, если у команды не хватает самомотивации для соблюдения жесткого time-boxing-а:  чем выше активный интерес к проекту «со стороны», тем выше (само)мотивация внутри команды:  на митингах  на демо  иногда на Scrum-митингах  Не штрафовать!  Полезно немного не успевать («прессинг»)
  • 37. Критерии: Scrum / не-Scrum ? 37  Процесс достаточно гибкий и Я – скрипач адаптивный али нет?  Адаптация и кастомизация в процессе работы по Scrum зачастую уводят слишком далеко от канонической трактовки…  Каковы критерии, что это всё еще Scrum?  Какие принципы являются ключевыми? Т.е. что нельзя нарушать?
  • 38. Nokia-тест 38  QCon London 2006: Jeff Sutherland «Scrum and not-Scrum»  http://www.infoq.com/interviews/jeff-sutherland-scrum-rules  Nokia использует Scrum  Nokia консультирует Jeff  В результате родился «тест»
  • 39. Nokia-тест: итеративность 39  У вас итерации фиксированы, т.е. начинаются в определенное время и заканчиваются в назначенное время?  Длина итерации не превышает 6 недель?  В конце итерации вы имеете работающее ПО?  Вам не нужна детальная спецификация для того, чтобы начать итерацию?  Важно иметь работающее ПО в конце итерации: вы проводите тестирование во время процесса разработки?  Если все ответы – «ДА», то это итеративный процесс в полном смысле этого слова
  • 40. Nokia-тест: Scrum-ность 40  У вас есть Product Owner, т.е. есть кто-то, кто представляет заказчика и работает с вами?  Если у вас есть Product Owner, ведет ли он Product Backlog, т.е. список «фич», которые нужно запрограммировать? Приоритезирован ли он по важности для заказчика? Есть ли оценка трудоемкости по каждому пункту?  Строите ли вы график сгорания работ (burndown chart) во время итерации, чтобы видеть, сколько работы осталось, и успеваете ли вы к концу итерации?  Во время итерации команда работает по принципу самоорганизации, т.е. менеджеры не вмешиваются в работу команды по ходу итерации?  Если и здесь все «ДА», то это Scrum
  • 41. 41 Заключение Перевод последующих команд Пробуйте!  Контакты
  • 42. Перевод последующих команд 42  Помогайте страждущим  Не давите на скептиков  а то начнут «самопалить»  сами придут
  • 43. Не бойтесь попробовать! 43  Scrum может быть хорошим дополнением к вашим навыкам, приемам, know-how, практикам  Разгружает management  Обеспечивается прозрачность  Повышает вовлеченность и интерес к работе большинству программистов очень нравится!
  • 44. Рады будем пообщаться! 44  Приходите в гости!  Давайте обмениваться опытом!  Сами с интересом бы посмотрели как оно у других Бибичев Андрей andrew@custis.ru www.custis.ru

×