SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Практика внедрения SCRUM:
        трудности
        и пути их преодоления




15.04.2008     Бибичев Андрей
Зачем это рассказывать?
2


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

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

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

   Три кита Scrum
       коммуникации / самоорганизация / жесткий time-boxing
   Среда внедрения
       пара слов про Компанию и проектные команды
   Принятие решения о переходе на Scrum
       выбор методологии / как всех убедить / пропаганда
   Перевод первых команд
       выбор тренера / выбор команды / подбор параметров / внедрение
   Опыт работы по методологии Scrum
       Проблемы с: taskboard / Scrum-митингами / ретроспективами /
        демонстрациями / соблюдением time-boxing-а // Nokia-тест
   Перевод последующих команд, заключение
4   Пара слов про Scrum
    Общая схема
    Терминология
    Три «фишки»
    Литература
О термине
5

       Scrum – термин из Регби
           «схватка», которая назначается для возобновления игры
            (аналог «вбрасывания» в хоккее)
           команды выстраиваются друг напротив друга по три линии,
            а мяч вбрасывается в центр
Как тикает Scrum-механизм
6


                              Daily Scrum Meeting




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


                                         Ретроспектива
    Ведет
Product Owner


           Sprint Planning
          (PO + команда)
Терминология
7



                XP                   Scrum
    User stories          Product backlog,
                          Sprint backlog
    Planning game         Sprint planning,
                          Planning poker
    Iteration             Sprint
    Standup Meeting       Daily Scrum Meeting

    Представитель         Product Owner
    заказчика в команде
Терминология: Scrum-мастер,
8
        Product Owner, Scrum Lord




       Поросята (pigs) – активные участники в решении задач (разработчики,
        бизнес-архитекторы, DBA, тестировщики), образуют команду
             в команде не предполагается специальных ролей за исключением
              вспомогательной: Scrum Master (организация meeting-ов, устранение помех) –
              всегда по совместительству!
       Цыплята (chickens) – те, кто вовлечены в процесс, но не выполняют
        проектных заданий (выносятся за пределы команды):
             Product Owner – замена Project Manager-а, отвечает за продукт, не программист
             Scrum Lord – тот, кто учит команду Scrum-у, следит за соблюдением правил
Терминология:
9
                 taskboard, burndown chart
   остаток        что делаем   что выполнено         график «сгорания» работ
sprint backlog      сегодня       за sprint    (точки ставятся после каждого scrum
                                                            meeting-а)




                                                                        Если всё
                                                                        сделано
                                                                      досрочно, то
                                                                      новые задачи
                                                                     берутся отсюда
Терминология:
10
           Product Backlog
ID Name            Imp Es t How to demo              Notes

1    Депозит       30   5   Залогиниться, открыть    Требуются UML-
                            карточку депозита,       диаграммы
                            положить $10, открыть    последовательности
                            карточку баланса и       проведения операции.
                            проверить, что остаток   Про шифрование пока
                            увеличился на $10        не беспокоиться
2    Просмотр      10   8   Залогиниться, кликнуть   Использовать
     истории                на «Транзакции».         постраничный
     собственных            Выполнить дипозит,       вывод больших
                            вернуться к
     транзакций                                      таблиц. Дизайн – по
                            транзакциям и
                                                     аналогии со
                            проверить, что
                            выполненная операция     справочником
                            показывается             пользователей
Терминология:
11
                   Sprint Planning, Planning Poker
       При оценке трудоемкости
        используется дискретная шкала
        (см. картинку)
       Каждый участник команды
        независимо дает оценку
        трудоемкости задачи
       Разногласия обсуждают,
        процедуру повторяют (пока все
        не сойдутся на приблизительно
        одной цифре)


        «0» – эта «задача» уже решена
        «?» – нет никаких идей (вообще)
        «чашка кофе» – требуется перерыв
Терминология:
12
               Actual Velocity, Focus Factor
    Скорость разработки (Actual Velocity) – количество реализованных Story
     Points за Sprint




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




    Как правило, Focus factor оценивается исходя из опыта предыдущего Sprint-а
Три ключевых фишки Scrum: №1
13


    Эффективные коммуникации
        Устные – самые эффективные
        Достигается за счет общего участия в Daily
         Scrum Meeting-ах, планировании,
         ретроспективе, демонстрации
        Обеспечивает хорошее и качественное
         распространение информации
        Повышает вовлеченность членов команды
Три ключевых фишки Scrum: №2
14


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

    Жесткий time-boxing
        Заключается в следующем:
              дата окончания итерации жестко
               фиксируется и не переносится
                                                                                   t
              объем работ на итерацию тоже          Ограниченный
               фиксируется и должен                   снизу объем
               соблюдаться                               работ
              время daily scrum meeting-ов
               жестко фиксируется в рамках
               итерации
        Отход от этого – это форс-мажор
         (бывает, но не должно быть чаще, чем   Фиксированные начало и окончание
         раз в 4-5 итераций)
        Обеспечивает предсказуемый,
         управляемый и абсолютно
         прозрачный ход проекта
Литература
16

                     Доступна бесплатно в электронном
                      виде:
                         http://www.infoq.com/minibooks/
                          scrum-xp-from-the-trenches
                     Стала для нас своего рода библией
                      Scrum и сильно помогла
17   О среде внедрения
     О компании
     О командах
www.custis.ru
18

        Создание приложений enterprise-уровня на
         заказ
            полный цикл, начиная от предпроектного обследования, заканчивая
             внедрением и спопровождением
            большинство проектов имеют достаточно долгую историю развития
             (самые долгожители: уже почти 10 лет)
        В данный момент:
            90 человек (всего в Компании) / 9 проектных команд
            от 3 до 12 человек каждая / в среднем – 6 человек в команде
        Заказчики:
            ТС «Спортмастер» / Центральный аппарат Банка России /
             ЕРКЦ г. Саратова и др. городов / Собинбанк / Депаратамент
             образования Москвы / …
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   Принятие решения…
     Что выбрать?
     Начальство против!
     А народ?!
Что выбрать
21


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




    Scrum, дополненный практиками из XP
Семейство Agile-методологий
22


     Уровень процессов                                                 Еще есть:
                                                                       • ASD
     Управление
     проектами       SCRUM             Взаимодейств.   FDD             • Crystal Clear
                                          команд,                      • DSDM
                                         Индикация                     • Lean
                                         прогресса
     Управление                                                        • AUP
      проектом     Самоорг. команда,    Требования,
                     Daily Meetings,     Итерации,
                    Дизайн по месту     Unit-тесты

                                         Стандарт
                                        кодирования,
                                         Code review
     Кодирование      XP                                        Жесткость
                                                                процессов
         Анархия                                             Водопад
Как убедить начальство
23



 Больше всего напрягала
   самоорганизация:
  активные vs. пассивные

  индивидуальные планы развития

  орг. структура внутри проекта

  персональная ответственность

  система компенсации




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

24




                                                    о б ерия нер
                                           ит ему ый т н
                                               ел дов ре


                                                             е!
                                                            е


                                                          ьш
                                       зн – к н енн лез


                                                       ол
                                                       о
                                              ла ма п


                                                 ьн
                                                 ш
                                         пр есь
                                             В
                                            иг

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


               Внутренний семинар, разговоры за
                 «рюмкой чая», совместное изучение
                 «Scrum and XP from the trenches»
25   Перевод первых команд
     Выбор тренера
     Кого 1-ого «под нож»?
     Подбор параметров
     Как переходить?!
АГА! Я подсёк
      Выбор тренера                 клиента!

26




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




                                 УРА! Мы нашли
    Считаем, что нам повезло!      тренера!
Выбор пионеров                       Я – Scrum.
27
                                          Я тебя спасу!


      много
      ярких
     лидеров




     «слабые»

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

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


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

 единица оценки трудоемкости – идеальные человеко-

  часы (или человеко-дни для крупных задач)
 способ оценки трудоемкости – Planning Poker

 Focus-factor – 0.5

 Scrum-мастер – самовыдвиженец

 время начала Scrum-митинга – в 12:00 или 15:00




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


    Главное – быстро!
Консультации с лидерами                        Итерация №0                 Итерация №1
и руководством команды                          (2 недели)                  (2 недели)
  (примерно 1 неделя)




     !          !           !       !          !       !             !


                                Планирование                 Демо        Планирование
                                                             Ретро
                Тренинг
     (весь день для всей команды)
                                                           ! – присутствие тренера
30   Опыт использования Scrum
     Сложности с
          Taskboard
          Scrum-митингами
          Ретроспективой
          Демонстрацией
          Time-boxing-ом

     Nokia-тест
Одна команда, несколько
31
         проектов/модулей
Ложные предрассудки:
2. несколько проектов/модулей для одной Scrum-команды –
   это плохо
3. смешивать в одной итерации работы по разным

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

    Всё отлично работает (переключаться даже интересно!)
        главное – чтобы Product Owner был один!
    Но есть проблемы с достижением кросс-
     функциональности в командах, где раньше была
     специализация по проектам/модулям
        попробуйте сделать несколько «моно-продуктовых»
         итераций
Taskboard
32

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

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




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



      20 sp
- На Scrum-митинг
      Scrum-митинги                      становись!
                                     - Что делал вчера?!
33

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

      не используйте штрафы

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

      со временем проходит

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

      песочные часы
Ретроспектива
34


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

3. снятие напряженностей и

   недомолвок

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

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

      раз в пару итераций ездить на

       площадку к заказчику
    Демонстрация затягивается из-за
     тех. проблем
      тупо готовиться 

    Делали-делали, а сделали не то
      писать how-to-demo

      зарисовывать vision
Time-boxing
36

Что делать, если у команды не хватает самомотивации для
  соблюдения жесткого time-boxing-а:
 чем выше активный интерес к проекту «со стороны», тем

  выше (само)мотивация внутри команды:
   на митингах

   на демо

   иногда на Scrum-митингах




    Не штрафовать!
    Полезно немного
     не успевать («прессинг»)
Критерии: Scrum / не-Scrum ?
37

    Процесс достаточно гибкий и    Я – скрипач
     адаптивный                      али нет?

    Адаптация и кастомизация в
     процессе работы по Scrum
     зачастую уводят слишком
     далеко от канонической
     трактовки…
    Каковы критерии, что это всё
     еще 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
    В результате родился
     «тест»
Nokia-тест: итеративность
39

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

    Если все ответы – «ДА», то это итеративный
     процесс в полном смысле этого слова
Nokia-тест: Scrum-ность
40

    У вас есть Product Owner, т.е. есть кто-то, кто представляет
     заказчика и работает с вами?
    Если у вас есть Product Owner, ведет ли он Product Backlog, т.е.
     список «фич», которые нужно запрограммировать?
     Приоритезирован ли он по важности для заказчика? Есть ли
     оценка трудоемкости по каждому пункту?
    Строите ли вы график сгорания работ (burndown chart) во время
     итерации, чтобы видеть, сколько работы осталось, и успеваете
     ли вы к концу итерации?
    Во время итерации команда работает по принципу
     самоорганизации, т.е. менеджеры не вмешиваются в работу
     команды по ходу итерации?

    Если и здесь все «ДА», то это Scrum
41   Заключение
     Перевод последующих команд
     Пробуйте! 
     Контакты
Перевод последующих команд
42


    Помогайте страждущим              Не давите на скептиков
        а то начнут «самопалить»          сами придут
Не бойтесь попробовать!
43

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

    Разгружает
     management
    Обеспечивается
     прозрачность
    Повышает
     вовлеченность и
     интерес к работе

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


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




                                       Бибичев Андрей
                                      andrew@custis.ru
                                          www.custis.ru

Más contenido relacionado

La actualidad más candente

исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпс
Timur AITOV
 
Sef 2009 Itsm
Sef 2009 ItsmSef 2009 Itsm
Sef 2009 Itsm
sef2009
 
Спецпроекты ВКонтакте
Спецпроекты ВКонтактеСпецпроекты ВКонтакте
Спецпроекты ВКонтакте
Petr Malukov
 
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbixElina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Michael Ganschuk
 
Competitions Cloudwatcher_new
Competitions Cloudwatcher_newCompetitions Cloudwatcher_new
Competitions Cloudwatcher_new
guest18d24c
 
кто же расстанется со своим
кто же расстанется со своимкто же расстанется со своим
кто же расстанется со своим
Timur AITOV
 
02 Citrus Systems S Pb
02 Citrus Systems S Pb02 Citrus Systems S Pb
02 Citrus Systems S Pb
Liudmila Li
 
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
wud
 
Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509
Irina Zimitskaya
 

La actualidad más candente (19)

исчезнут ли российские эпс
исчезнут ли российские эпсисчезнут ли российские эпс
исчезнут ли российские эпс
 
7 8-2009a
7 8-2009a7 8-2009a
7 8-2009a
 
Sef 2009 Itsm
Sef 2009 ItsmSef 2009 Itsm
Sef 2009 Itsm
 
Gate 4000
Gate 4000Gate 4000
Gate 4000
 
Спецпроекты ВКонтакте
Спецпроекты ВКонтактеСпецпроекты ВКонтакте
Спецпроекты ВКонтакте
 
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbixElina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
Elina kuzyutkina-hitrosti-i-tryuki-v-ispolzovanii-zabbix
 
Презентация TeamWox GroupWare
Презентация TeamWox GroupWareПрезентация TeamWox GroupWare
Презентация TeamWox GroupWare
 
Competitions Cloudwatcher_new
Competitions Cloudwatcher_newCompetitions Cloudwatcher_new
Competitions Cloudwatcher_new
 
кто же расстанется со своим
кто же расстанется со своимкто же расстанется со своим
кто же расстанется со своим
 
Огляд судової практики Касаційного цивільного суду у складі Верховного Суду
Огляд судової практики Касаційного цивільного суду у складі Верховного СудуОгляд судової практики Касаційного цивільного суду у складі Верховного Суду
Огляд судової практики Касаційного цивільного суду у складі Верховного Суду
 
5
55
5
 
Установки по приготовлению антисептиков и других дезинфекторов
Установки по приготовлению антисептиков и других дезинфекторовУстановки по приготовлению антисептиков и других дезинфекторов
Установки по приготовлению антисептиков и других дезинфекторов
 
02 Citrus Systems S Pb
02 Citrus Systems S Pb02 Citrus Systems S Pb
02 Citrus Systems S Pb
 
4 24 28
4 24 284 24 28
4 24 28
 
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
WUD2008 - Михаил Матвеев, Данила Корнев - Использование контекстной информаци...
 
Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509Prezent Spbnet Dev Acc 0509
Prezent Spbnet Dev Acc 0509
 
Profit Backlog | В погоне за эффективным бэклогом
Profit Backlog | В погоне за эффективным бэклогомProfit Backlog | В погоне за эффективным бэклогом
Profit Backlog | В погоне за эффективным бэклогом
 
Slide analyst
Slide analystSlide analyst
Slide analyst
 
Процессные заболевания и методы их лечения
Процессные заболевания и методы их леченияПроцессные заболевания и методы их лечения
Процессные заболевания и методы их лечения
 

Más de Stas Fomin

average-knapsack.beam.pdf
average-knapsack.beam.pdfaverage-knapsack.beam.pdf
average-knapsack.beam.pdf
Stas Fomin
 
Levenstein distance.beam
Levenstein distance.beamLevenstein distance.beam
Levenstein distance.beam
Stas Fomin
 
testopia-missing-link
testopia-missing-linktestopia-missing-link
testopia-missing-link
Stas Fomin
 
Введение в Subversion
Введение в SubversionВведение в Subversion
Введение в Subversion
Stas Fomin
 
Randomized Complexity
Randomized ComplexityRandomized Complexity
Randomized Complexity
Stas Fomin
 
P Reducibility And Npc
P Reducibility And NpcP Reducibility And Npc
P Reducibility And Npc
Stas Fomin
 
Probabilistically Checkable Proofs
Probabilistically Checkable ProofsProbabilistically Checkable Proofs
Probabilistically Checkable Proofs
Stas Fomin
 
Packing Average
Packing AveragePacking Average
Packing Average
Stas Fomin
 
Obfuscation Curstate Review
Obfuscation Curstate ReviewObfuscation Curstate Review
Obfuscation Curstate Review
Stas Fomin
 
Maximal Independent Set
Maximal Independent SetMaximal Independent Set
Maximal Independent Set
Stas Fomin
 
Max Cut Semidefinite
Max Cut SemidefiniteMax Cut Semidefinite
Max Cut Semidefinite
Stas Fomin
 
Intro And Samples
Intro And SamplesIntro And Samples
Intro And Samples
Stas Fomin
 
Greedy Knapsack
Greedy KnapsackGreedy Knapsack
Greedy Knapsack
Stas Fomin
 

Más de Stas Fomin (20)

average-knapsack.beam.pdf
average-knapsack.beam.pdfaverage-knapsack.beam.pdf
average-knapsack.beam.pdf
 
Levenstein distance.beam
Levenstein distance.beamLevenstein distance.beam
Levenstein distance.beam
 
testopia-missing-link
testopia-missing-linktestopia-missing-link
testopia-missing-link
 
«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...«Собор или базар»: системы контроля версий — централизованные или распределен...
«Собор или базар»: системы контроля версий — централизованные или распределен...
 
Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?Какой у вас Agile: свежевыжатый или порошковый?
Какой у вас Agile: свежевыжатый или порошковый?
 
Mindmaps: история и идеология
Mindmaps: история и идеологияMindmaps: история и идеология
Mindmaps: история и идеология
 
Теория ограничений и Линейное программирование
Теория ограничений и Линейное программированиеТеория ограничений и Линейное программирование
Теория ограничений и Линейное программирование
 
Введение в Subversion
Введение в SubversionВведение в Subversion
Введение в Subversion
 
Fake Flash Drives from TopKeen
Fake Flash Drives from TopKeenFake Flash Drives from TopKeen
Fake Flash Drives from TopKeen
 
Randomized Complexity
Randomized ComplexityRandomized Complexity
Randomized Complexity
 
Ptas Knapsack
Ptas KnapsackPtas Knapsack
Ptas Knapsack
 
P Reducibility And Npc
P Reducibility And NpcP Reducibility And Npc
P Reducibility And Npc
 
Probabilistically Checkable Proofs
Probabilistically Checkable ProofsProbabilistically Checkable Proofs
Probabilistically Checkable Proofs
 
Packing Average
Packing AveragePacking Average
Packing Average
 
Obfuscation Curstate Review
Obfuscation Curstate ReviewObfuscation Curstate Review
Obfuscation Curstate Review
 
Maximal Independent Set
Maximal Independent SetMaximal Independent Set
Maximal Independent Set
 
Max Cut Semidefinite
Max Cut SemidefiniteMax Cut Semidefinite
Max Cut Semidefinite
 
Intro Erevan
Intro ErevanIntro Erevan
Intro Erevan
 
Intro And Samples
Intro And SamplesIntro And Samples
Intro And Samples
 
Greedy Knapsack
Greedy KnapsackGreedy Knapsack
Greedy Knapsack
 

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

  • 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