А какой у вас agile: свежевыжатый или порошковый?

106
Бибичев Андрей 2009 год, сентябрь team.custis.ru А какой у вас Agile: свежевыжатый или порошковый?

Upload: andrey-bibichev

Post on 23-Jan-2015

2.138 views

Category:

Technology


0 download

DESCRIPTION

Презентация, прочитанная на AgileEE'09. Видео "тестового прогона" доклада можно найти по ссылке: http://vimeo.com/6651557

TRANSCRIPT

Page 1: А какой у вас Agile: свежевыжатый или порошковый?

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

2009 год, сентябрь

team.custis.ru

А какой у вас Agile:свежевыжатый или порошковый?

Page 2: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 2 из 106

Background

Два жизнеописания

Характерные черты

Кто виноват

и что делать

Заключение

Ag

en

da

Page 3: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 3 из 106

Background

Два жизнеописания

Характерные черты

Кто виноват

и что делать

Заключение

- Ты кто такой и откуда взялся? О чѐм ты, вообще?!

Page 4: А какой у вас Agile: свежевыжатый или порошковый?

Хронология истоков• Лето 2007:

– решение о переходе на Scrum в компании«Заказные ИнформСистемы» (CustIS)

• Сентябрь – октябрь 2007:– перевод первых команд на Scrum

• Апрель 2008:– доклад «Практика внедрения Scrum» на конференции РИТ-2008

вызвал большой интерес

• После РИТ-а и по сей день:– большой поток вопросов и обсуждений– участие в различных конференциях (SECR, AgileDays, SEF, …)– регулярные встречи сообщества AgileRussia

• C лета 2008 и по сей день:– 90% команд в Компании работает по методологии Scrum– сейчас это 9 команд

– жизнь в них по факту разнится!!!

«А какой у вас Agile?», (с) 2009 4 из 106

Page 5: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 5 из 106

http://www.google.com/profiles/biBIGone

Page 6: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 6 из 106

Page 7: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 7 из 106

Agile Coach Camp3 апреля 2009 года

Москва

Page 8: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 8 из 106

Одно слово, но разные свойства…Пришел к выводу, что есть два мира Agile. Они существуют параллельно и называются одним словом. Но они существенно отличаются!

Page 9: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 9 из 106

Background

Два жизнеописания

Характерные черты

Кто виноват

и что делать

Заключение

Page 10: А какой у вас Agile: свежевыжатый или порошковый?

Одна итерация из жизни

команды «Порошок»

«А какой у вас Agile?», (с) 2009 10 из 106

Я. ЦентраProduct Owner (PO),Scrum Master (SM),Project Manager (PM)

Page 11: А какой у вас Agile: свежевыжатый или порошковый?

Одна итерация из жизни

команды «Порошок»

«А какой у вас Agile?», (с) 2009 11 из 106

Серж ЛетSenior Developer(server-side logic)

М.С. ВордовAnalyst

МанкинTester Базиль И.О.

Senior Developer(GUI)

хоЛJunior Developer

Page 12: А какой у вас Agile: свежевыжатый или порошковый?

Одна итерация из жизни

команды «Порошок»

«А какой у вас Agile?», (с) 2009 12 из 106

АльтерDBA

/* в отпуске */

Page 13: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

1. Начнем планирование!

3. Прежде всего, пользователи

жалуются на долгий поиск накладных по

статусу, но DBA в отпуске, так что

придется отложить…

Центра2. Мы слушаем тебя, Каа…

5. ^&%$%^#!!!Опять много не

успели сделать и пол-итерации

придется доделывать…

4. Как обычно, вначале надо доделать то, что

не успели в предыдущую

итерацию.

Page 14: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 14 из 106

1. Я ловлю непонятный баг в работе библиотеки wakeUp. Плюс мне не нравится в

ней кусок – я думаю написать свою реализацию!

Х-р-р-р-р

4. Сколько буду искать ошибку – не знаю… А перепишу быстро – за пару

дней.

2. Как мне это надоело -

«переписать». Опять всѐ время потратит…

3. Сколько это займет времени?

6. Я исправляю замечания по результатам тестирования. Потом Манкин еще будет

смотреть – не знаю, чего найдет…

5. Ok! Отводим

3 дня

7. И?!Как обычно, пару дней?

9. А я буду всю эту итерацию переписывать наши use-case-ыв соответствии с замечаниями

заказчика по оформлению.

8. Ну, не знаю… Это непредсказуемо….

Page 15: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 15 из 106

1. Так, нам нужно понять,какую задачу дать хоЛ-у

2. У меня есть пара тупых формочек,

которые нужно сделать по аналогии

3. Хорошая идея! Сколько

это может занять?

4. Мне это раз плюнуть – за пол-дня сделаю. Ну,

плюс тестирование

5. Гы! Наверняка я там найду много ошибок и они, как обычно, будут

долго исправляться

6. Мало смыслю в GUI. Но думаю, что по дню

на формочку + день тестировать

7. В среднем мы одну форму оцениваем в

один день

8. Ни разу не делал. Не знаю…

Минимум неделю буду въезжать…

Но, может, и две недели…

9. Поскольку делать хоЛ-у, берем 8 дней

Page 16: А какой у вас Agile: свежевыжатый или порошковый?

Daily Scrum в первые дни

1. Базиль И.О., ты что делал и собираешься делать?

2. Полез исправлять замечания Манкина, наткнулся на код хоЛа,

сейчас его переписываю…

3. А что у тебя, Манкин?

4. Жду, пока Базиль И.О. исправит мои замечания, чтобы снова проверить. А

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

5. Базиль И.О., ты когда исправишь замечания?

6. Ну, не знаю, как пойдет… Еще меньше половины работы хоЛа переделал

7. А я сейчас делаю ту срочную незапланированную задачку, которую ты мне

вчера поручила сделать. Ну, ты в курсе…

8. Пока разбираюсь9. Правлю

доку

Page 17: А какой у вас Agile: свежевыжатый или порошковый?

Я тут посмотрел твой код. Он не соответствует нашей документации по архитектуре серверной части. Почему ты используешь столь необдуманное кеширование?! Ведь всѐ будет работать

в кластере!

Да я как раз сейчас чуть менее чем полностью переписал этот код.

Просто пока не коммитил, так как не

всѐ причесал и еще кое-что хотелось доправить.

По нашим стандартам надо было сразуделать согласно спецификации! Я

обязательно доложу об этом Центре…

Где-то в середине итерации

Page 18: А какой у вас Agile: свежевыжатый или порошковый?

Daily Scrum в последние дни

1. Так, Серж Лет у нас снова заболел… Его задачи

«повисли», блин!

2. Всѐ никак не могу отладить свой код. Какие-то непонятные

ошибки лезут

3. Я свои формы доделал. Дальше двигаться не могу, так как Серж Лет свою часть не сделал. Читаю про

JavaFX

4. $^%$(%^#$А я весь в запаре! Вчера эти балбесы мне не

тот билд дали, в итоге я весь день тестировал неправильную версию. Сейчас все тесты надо

проходить заново! ААА!!! Опять до ночи сидеть!..

5. Ну, я продолжаю править доку

Page 19: А какой у вас Agile: свежевыжатый или порошковый?

Д Е М О Н С Т Р А Ц И ЯХ-р-р-р-р

1. Итак, то-то я уже видела и больше смотреть не будем.

2. А сѐ-то мне не интересно.

3. Давайте посмотрим вот это. Манкин, ты это проверял?

4. Угу. Но только поверхностно. И уже нашел 2

ошибки.

5. Ладно. Давай покажи что есть

Page 20: А какой у вас Agile: свежевыжатый или порошковый?

Р Е Т Р О С П Е К Т И В А

1. Опять много не успели!

2. Ну, это я просто проболел…

3. Кстати, на тебя жалуется наш Inspector!

4. Да он смотрел не тот код! Я его давно переписал!

5. Какие у нас еще проблемы?

6. Мне приходится переписывать почти весь код за хоЛом

8. Ну, он у нас только начинает работать. Пока учится…

7. Сам понаписал путанного кода, в

котором не разобраться, а теперь

наезжает…

Page 21: А какой у вас Agile: свежевыжатый или порошковый?

Р Е Т Р О С П Е К Т И В А

10. На эту тему я уже общалась с начальством. Нам обещали открыть

вакансию Build-инженера

9. Опять мне отдали не тот билд и я тестировал не пойми что! А потом периодически задерживали сборку и я простаивал

11. Да эту сборку можно полностью

автоматизировать за полдня. Интересно, они про Maven хоть

знают?

11. Ну, а что у нас хорошего?

12. Кроме моей новой прически

13. Я сделал красивую документацию! Правда, она

местами уже немного устарела…

Page 22: А какой у вас Agile: свежевыжатый или порошковый?

Одна итерация из жизни

команды «Свежак»

«А какой у вас Agile?», (с) 2009 22 из 106

Page 23: А какой у вас Agile: свежевыжатый или порошковый?

Одна итерация из жизни

команды «Свежак»

«А какой у вас Agile?», (с) 2009 23 из 106

АндрейProduct Owner (PO)

Много трындит на конфах

ВасяScrum Master (SM)Педант, любит

создавать web-GUI

Page 24: А какой у вас Agile: свежевыжатый или порошковый?

Одна итерация из жизни

команды «Свежак»

«А какой у вас Agile?», (с) 2009 24 из 106

ЮляЛюбит обучать и

общаться, но иногда и программирует

ЛёшаСпец по оптимизации

алгоритмов

ГлебФанат Apple, но пишет на C# в M$ VisualStudio…

В команде недавно

Page 25: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

1. Давайте планировать. Расчеты дали ожидаемую скорость 119 ид. часов: 224 рабочих часа минус 24 часа на

подготовку и поездку на SEF-09 Андрея, фокус-фактор – 0,6

2. Ок! Наша цель на данный спринт: переделать проверки прав в Plantime с императивного кода на нашу новую

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

3. А если не получится?

4. Значит будем переделывать систему прав в следующем спринте

Page 26: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

5. Итак, наша цель: Права в Plantime!

6. Но вначале, как водится, важный баг, который надо исправить: долгий поиск документов по статусу.

7. А что там? Мы вроде тестировали и было всѐ нормально

8. За это время, должно быть, объем их базы вырос на порядок, т.к. там явно экспоненциальный

рост объема операций из-за роста бизнеса. Нам даже пришлось срочно делать партиционирование

основных таблиц.

Page 27: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

9. К сожалению, сейчас наш конторский админ, который специализируется на СУБД в отпуске, но всѐ равно надо

разбираться. Проконсультироваться можно еще с Витей и Максом – они тоже круто секут в этой теме

10. Давайте тогда оценивать. Нужно снять профиль, найти тормозящий запрос, посмотреть его план. Может, там

просто индексов не хватает.

11. Я этой функциональности в глаза не видел. Сложно оценить…

Page 28: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

12. Ну, там всѐ просто 13. Ага, как обычно!

14. Да действительно просто! Сейчас я за 3 минуты нарисую…

Основная логика сосредоточена в классе VerySimpleClass

15. Глеб, тебе понятно?16. Ну… не до конца… Но оценить

трудоемкость попробую

17. Если будешь делать ты, дергай меня – я тебе помогу разобраться

в коде и покажу, куда рыть

Page 29: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

1. Я там хорошо ориентируюсь, так что мне это быстро, но если будет делать кто-то еще, то да – может потребоваться

побольше времени.

2. Ну, я подумал, что где-то час на воспроизведение и поиск проблемы, еще пара на поиск решения, часик на его

реализацию, еще часик на тестирование.

3. Воспроизведение уже есть. Я смотрел утром.

4. А проблемное место я тебе покажу за 5 минут – там

больше нечему тормозить!

Page 30: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

5. Ну что, кидаем еще раз? Или уже и так договорились?

6. Давайте лучше кинем.

7. Ок! Итого 3 ид.часа

8. Так, дальше у нас более фундаментальные задачи. Прежде всего,

нужно …

Page 31: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

9. Да, большая задача. Да еще тут надо хорошенько подумать, как это реализовать. Прикинуть распределение

ответственности по классам и их публичный API

10. Тогда надо разбивать на три подзадачи, как обычно в таких случаях: совместная дизайн-сессия, реализация,

проверка. И оценивать каждую по отдельности

11. Если никто не против, то давайте так и сделаем. Мне нравится такой подход и

он нас не подводил.12. Ну что, в дизайн-сессии 2-3 активных достаточно? Или будем обсуждать все

вместе? 13. А в wiki надо будет зафиксировать результат обсуждения или хватит

снимков досок?

Page 32: А какой у вас Agile: свежевыжатый или порошковый?

П Л А Н И Р О В А Н И Е

1. Значения близкие. Возьмем, как в таких случаях водится, большее? Т.е. 8?

. . .

2. Давайте! Даже если здесь всѐ будет по оптимистичному сценарию, мы наверняка

заковыряемся где-то на другом таске

3. Это точно!В особенности там, где я осуществляю проверку и

code-review

Page 33: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 33 из 106

Page 34: А какой у вас Agile: свежевыжатый или порошковый?

1. Я вчера таки разобрался, из-за чего тормозит поиск: там по статусу индекс локальный, а не глобальный. В итоге идет

перебор всех партиций, а их уже много. Вариантов исправления два: сделать индекс глобальным, или в поиске требовать ограничение на дату документа (чтобы попадать в

ограниченное число партиций).

Daily Scrum в первые дни

2. А может, всѐ же проконсультироваться с Витей или Максом?

3. Да я уже! Собственно, они мне и объяснили, что означает такой план запроса.

4. Давайте сразу после Scrum-а обсудим, что с этим можно сделать.

Page 35: А какой у вас Agile: свежевыжатый или порошковый?

5. Да, давайте! Ну а сегодня я исправлю этот поиск по результатам обсуждения, а дальше возьму следующую по приоритетам задачу – например, проверку того, что сделал

Глеб.

Daily Scrum в первые дни

6. Это было бы полезно! Я как раз вчера реализовал фичу «A», но не уверен в паре моментов – хотелось бы обсудить. Сегодня

буду делать фичу «B», ну и исправлять замечания по «A», если будут.

7. Давай перед реализацией фичи «B» с тобой договоримся об API. А то мне придется сшиваться с ним по ходу реализации

«0x»

8. Конечно!

Page 36: А какой у вас Agile: свежевыжатый или порошковый?

9. А я вчера готовился к конференции. Спасибо большое Васе за помощь в переводе абстракта на английский – он это делает значительно лучше GoogleTranslate! Сейчас вам разошлю то,

что получилось – вдруг у вас будут идеи/замечания/предложения. Сегодня уезжаю в Минск…

Daily Scrum в первые дни

10. Я вчера начал делать фичу «0x». Еще помогал Андрюхе с абстрактом и читал с Лѐхой про партиционирование таблиц.

Сегодня продолжу, буду «сшиваться» с кодом Глеба.

11. Я, как договаривались, выясняла у пользователей подробности по их request-ам. Сейчас пишу отчет в wiki.

Потом буду смотреть, что получилось с ускорением поиска. Если всѐ хорошо, пронесу хотфикс на боевой сервер.

Page 37: А какой у вас Agile: свежевыжатый или порошковый?

1. Я вернулся с конфы. Всѐ было очень позитивно! За обедом расскажу подробнее. Сегодня буду писать отчет для

публикации в блоге Компании. Дальше подключусь к вам.

Daily Scrum в середине

2. Я вчера доделал … и начал проверять фичу «C» за Глебом. Мелочи поправил сам (форматирование, опечатки). Но у меня

есть вопросы по коду и я нашел несколько ошибок. Сегодня хотелось бы вместе с Глебом всѐ это обсудить и исправить.

3. Я вчера исправлял замечания Леши по фиче «B». Сегодня буду с Васей выправлять «С». Если получится, возьму

следующий таск.

4. Можешь посмотреть, как я исправила описание функциональности в соответствии с последними правками.

Page 38: А какой у вас Agile: свежевыжатый или порошковый?

5. Блин, я уже почти доделал мега-фичу в нашем провайдере Qlin. Осталось полденька. Дальше что-нибудь возьму по

приоритету.

Daily Scrum в середине

6. Ты опять столь же оптимистичен, как вчера? Даже уже про следующий таск говоришь?

6. ???

7. Ну, вчера ты говорил примерно то же самое: «Осталось немного»

8. Подколол! Сегодня точно дожму!

. . .

Page 39: А какой у вас Agile: свежевыжатый или порошковый?

На следующий день

1. Я вчера сидел допоздна. Но доделал! Все Unit-тесты проходят! Ничего другого не успел. Так что сейчас возьмусь за что-то очередное. Та-а-ак… А, ну вот проверю за Васей фичу …

2. А я вчера полдня исправлял вместе с Глебом ошибки. Потом всѐ оставшееся время разбирался с глюком в

библиотеке MegaXob – для чего скачал полную спецификацию на формат файлов Ёxl. Нашел у них ошибку.

Исправил. Теперь у нас все тесты проходят корректно.

3. Может, послать вендору твой патч, чтобы они в основном стволе исправили?

4. Я как раз этим сейчас и занят!

Page 40: А какой у вас Agile: свежевыжатый или порошковый?

Daily Scrum в последние дни

1. Меня вчера весь день дергали по орг. вопросам. Так что пришлось сегодня прийти пораньше, чтобы доделать то, за что

я взялся. А то как-то совсем выпал из спринта…

2. Сейчас готов подключиться к кому-то из вас и помочь доделать таск.

3. Мне нужна помощь! Я не успеваю дотестировать всю критическую функциональность Plantime после перевода на

новые права

4. Ok! Давай поделим тестовые сценарии между собой!

5. Я тоже через пару часов могу к этому подключиться – я почти исправил все замечания по коду, а больше тасков нет!

6. Ну, а мы с Лехой совместно дожимаем доделки в Qlin

Page 41: А какой у вас Agile: свежевыжатый или порошковый?

На демо каждый показывает то,

что он сделал.

Все пункты Backlog-а так или иначе

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

how-to-demo.

Замечания и предложения тут же

обсуждаются и фиксируются

Page 42: А какой у вас Agile: свежевыжатый или порошковый?

Р Е Т Р О С П Е К Т И В А

1. Основной минус, что я так и не прочитал книжку «Agile Retrospective» Придется проводить ретроспективу «по-

старинке»

2. Тогда у меня предложение: давайте на следующий спринт повесим отдельный персональный таск для Васи:

«прочитать» Ну, и выделим сколько-то рабочего времени

3. Да, а какой у нас фактический фокус фактор получился?4. С учетом

незапланированной работы –0,68

5. Будем поднимать на следующий спринт

(планируемый был 0,6)?

Page 43: А какой у вас Agile: свежевыжатый или порошковый?

Р Е Т Р О С П Е К Т И В А

6. Давайте пока не будем. Это первый спринт, когда так получилось. До этого стабильно немного не успевали.

7. Если все так думают, то оставим 0,6

8. Давайте оставим. А на случай опережения повесим несколько

бонусных тасков!9. Ok. Оставляем. Какие еще

плюсы/минусы/идеи? 10. Давайте посмотрим идеи с предыдущего спринта и

обсудим то, что не удалось сделать.

Page 44: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 44 из 106

Page 45: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 45 из 106

Page 46: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 46 из 106

Background

Два жизнеописания

Характерные черты

Кто виноват

и что делать

Заключение

Нужно что-то вроде «лакмусовой бумажки»

Page 47: А какой у вас Agile: свежевыжатый или порошковый?

1. Кол-во горящих глаз

«А какой у вас Agile?», (с) 2009 47 из 106

команда 2 команда

Кол-во

Tотношения

Равн

одуш

ное

Про

хлад

ное

Рабо

чее

Заж

игаю

тКол-во

Tотношения

Про

хлад

ное

Рабо

чее

Заж

игаю

т

Равн

одуш

ное

Page 48: А какой у вас Agile: свежевыжатый или порошковый?

2. Уровень коммуникаций

«А какой у вас Agile?», (с) 2009 48 из 106

Мало, электронные Много, устные

Уровень

Вид

Эле

ктро

нны

е

Устн

ые

по р

аб.

Нер

абоч

ие

«Рж

ач»

Уровень

Вид

Устн

ые

по р

аб.

Нер

абоч

ие

«Рж

ач»

Эле

ктро

нны

е

Page 49: А какой у вас Agile: свежевыжатый или порошковый?

ФОТО

ПАУЗА

{

«А какой у вас Agile?», (с) 2009 49 из 106

Page 50: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 50 из 106

Page 51: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 51 из 106

Page 52: А какой у вас Agile: свежевыжатый или порошковый?

}

«А какой у вас Agile?», (с) 2009 52 из 106

Page 53: А какой у вас Agile: свежевыжатый или порошковый?

3. Топология взаимодействий

СнежинкаКаждый

с каждым

«А какой у вас Agile?», (с) 2009 53 из 106

Иерархия внутри проектной группы

Page 54: А какой у вас Agile: свежевыжатый или порошковый?

3. Топология взаимодействий

«А какой у вас Agile?», (с) 2009 54 из 106

СнежинкаКаждый

с каждым

С кем взаимодействует

Сотр-к

Я. Ц

ентр

а

Бази

льИ

.О.

М.С

. Вор

дов

хоЛ

С кем взаимодействует

Сотр-к

Вася

Глеб

Леш

а

Анд

рей

Page 55: А какой у вас Agile: свежевыжатый или порошковый?

4. Характер Burndown Chart-ов

«А какой у вас Agile?», (с) 2009 55 из 106

S.P.

День

S.P.

День

S.P.

День

S.P.

День

Чуть-чуть не успевают

Пошли проверки

Приоритетная мелочевкаДожали долги с пред.

Многое недоделано

Незапланированное

Борьба за результат

Page 56: А какой у вас Agile: свежевыжатый или порошковый?

5. Вид Taskboard-а

«А какой у вас Agile?», (с) 2009 56 из 106

WIP команда WIP ½команда

вразнобой по приоритетам

NEW NEWIN WORK IN WORKDONE DONE

Page 57: А какой у вас Agile: свежевыжатый или порошковый?

6. Величина Focus Factor-а

«А какой у вас Agile?», (с) 2009 57 из 106

FF [0; 0,3] FF [0,5; 0,8]

Обсуждаетсяна планировании

Обсуждаетсяна планировании

Скрытая от планирования

часть

Скрытая от планирования

часть

70% 30%

Page 58: А какой у вас Agile: свежевыжатый или порошковый?

ГЕОМЕТРИЧЕСКАЯ

ПАУЗА

{

«А какой у вас Agile?», (с) 2009 58 из 106

Page 59: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 59 из 106

Теоретически, Focus Factorдолжен быть равен примерно

0,64

L

½L

Начальная точка Цель

2/

Кратчайший путь

Умный в гору не пойдет – он еѐ обойдет

Page 60: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 60 из 106

Теоретически, Focus Factorдолжен быть равен примерно

0,642/

Нужно вспахатьВспашка при помощи взрывной волны

a

S = a2S = ½a2

Page 61: А какой у вас Agile: свежевыжатый или порошковый?

}

«А какой у вас Agile?», (с) 2009 61 из 106

Page 62: А какой у вас Agile: свежевыжатый или порошковый?

7. Кросс-функциональность

«А какой у вас Agile?», (с) 2009 62 из 106

Может быть немногогоризонтальнойспециализации

Сильные и вертикальная, и горизонтальная специализация

Компонет X Подсистема Y Примочка Z

Програм-мирование

Бизнес-логика

GUI

Db

АнализСистемный

Бизнес

Тесирование

Page 63: А какой у вас Agile: свежевыжатый или порошковый?

Как проверить кросс-функциональность

Источник: http://blog.crisp.se/henrikkniberg/2009/02/27/1235769840000.html

«А какой у вас Agile?», (с) 2009 63 из 106

Page 64: А какой у вас Agile: свежевыжатый или порошковый?

8. Распределение работы

«А какой у вас Agile?», (с) 2009 64 из 106

PUSH

/* толкающее */PULL

/* тянущее */

Page 65: А какой у вас Agile: свежевыжатый или порошковый?

МУЗЫКАЛЬНАЯ

ПАУЗА

{

«А какой у вас Agile?», (с) 2009 65 из 106

Page 66: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 66 из 106

Наглядная история жизниодного из проектов

Page 67: А какой у вас Agile: свежевыжатый или порошковый?

}

«А какой у вас Agile?», (с) 2009 67 из 106

Page 68: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 68 из 106

Background

Два жизнеописания

Характерные черты

Кто виноват

и что делать

Заключение

Возможен ли фазовый переход?

Page 69: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 69 из 106

ПричиныВнешние

обстоятельства

Наши «дураки и дороги»:

Page 70: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 70 из 106

I. Проектная группа

Команда

Забитое слово, но лучше нет…

Page 71: А какой у вас Agile: свежевыжатый или порошковый?

КИНО-

ПАУЗА

{

«А какой у вас Agile?», (с) 2009 71 из 106

Page 72: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 72 из 106

Сериал «The IT Crowd» (Компьютерщики)

1-ая серия, 15-17 минуты

Page 73: А какой у вас Agile: свежевыжатый или порошковый?

}

«А какой у вас Agile?», (с) 2009 73 из 106

Page 74: А какой у вас Agile: свежевыжатый или порошковый?

«Пять пороков команды»

Патрик Ленсиони

«А какой у вас Agile?», (с) 2009 74 из 106

Page 75: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 75 из 106

Чувство неуязвимостиМнимая

гармония

Неясность / неоднозначностьЗаниженные

стандарты

Статус и эгоизм

Absence of Trust

Fear of Conflict

Lack of Commitment

Avoidance of

Accountability

Inattention

to Results

Page 76: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 76 из 106

Предложения по устранению

этих пороков

/* не из этой книги */

Page 77: А какой у вас Agile: свежевыжатый или порошковый?

1. Отбор и найм

«А какой у вас Agile?», (с) 2009 77 из 106

Page 78: А какой у вас Agile: свежевыжатый или порошковый?

2. Система компенсации

«А какой у вас Agile?», (с) 2009 78 из 106

Page 79: А какой у вас Agile: свежевыжатый или порошковый?

3. Строгое соблюдение

Definition-of-Done (DoD)

+ Peer Code Review

«А какой у вас Agile?», (с) 2009 79 из 106

сборочныйсервер

коллега аналитикили PO

демо

(1) автоматическиесборка + тесты

(2) Code Review(3) Сделано то, что нужно?Оно работает? Это удобно?

Feedback

Feedback

Page 80: А какой у вас Agile: свежевыжатый или порошковый?

4. Устранение демотиваторов

«А какой у вас Agile?», (с) 2009 80 из 106

К сожалению, здесь зачастую без «хирургии»

не обойтись

Page 81: А какой у вас Agile: свежевыжатый или порошковый?

5. Прививание / почкование

«А какой у вас Agile?», (с) 2009 81 из 106

Page 82: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 82 из 106

II. Менеджер/руководитель

Лидер

Признание и авторитетover

лампасы и погоны

Page 83: А какой у вас Agile: свежевыжатый или порошковый?

ФИЛОСОФСКАЯ

ПАУЗА

{

«А какой у вас Agile?», (с) 2009 83 из 106

Page 84: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 84 из 106

Относись к человеку как к цели,а не как к средству

Категорический императив Кантаhttp://ru.wikipedia.org/wiki/Кант,_Иммануил

Page 85: А какой у вас Agile: свежевыжатый или порошковый?

}

«А какой у вас Agile?», (с) 2009 85 из 106

Page 86: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 86 из 106

Old-school => New-school

Page 87: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 87 из 106

Old-school => New-school

Разделяй и властвуй

Объединяй и вдохновляй

Искусственная «мотивация»

Устранение демотиваторов

Персональные отношения,

«любимчики»

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

целое

Page 88: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 88 из 106

Old-school => New-school

Поучения, требования

Личный пример

Ставка на карьеру Ставка на самореализацию

«Спихивание вниз»

ДелегированиеДоверие + помощь

Page 89: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 89 из 106

Old-school => New-school

Микро-менеджментФокус на внешние

обстоятельства

Page 90: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 90 из 106

Old-school => New-school

Фокус на «начальственном»

звене

Те, кто обеспечивает основной вклад,

тоже важны

Page 91: А какой у вас Agile: свежевыжатый или порошковый?

КОМИКС-

ПАУЗА

{

«А какой у вас Agile?», (с) 2009 91 из 106

Page 92: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 92 из 106

By Clark & Vizdos (с) 2006 implementingscrum.org

http://www.implementingscrum.com/2006/09/11/the-classic-story-of-the-pig-and-chicken/

Page 93: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 93 из 106

By Clark & Vizdos (с) 2006 implementingscrum.org

http://www.implementingscrum.com/2006/09/11/the-classic-story-of-the-pig-and-chicken/

Page 94: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 94 из 106

By Clark & Vizdos (с) 2006 implementingscrum.org

http://www.implementingscrum.com/2006/09/11/the-classic-story-of-the-pig-and-chicken/

Page 95: А какой у вас Agile: свежевыжатый или порошковый?

}

«А какой у вас Agile?», (с) 2009 95 из 106

Page 96: А какой у вас Agile: свежевыжатый или порошковый?

Henrik Kniberg, «The Manager’s Role in Scrum»

http://blog.crisp.se/henrikkniberg/2007/11/14/1195064820000.html

«А какой у вас Agile?», (с) 2009 96 из 106

Page 97: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 97 из 106

III. Внешние обстоятельства

Объективные

Надо же было и здесь что-то перечеркнуть

Page 98: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 98 из 106

1. Быстрое масштабирование

бизнеса

2. Поддержкаlegacy-систем

3. Однотипное низко-квалифицированное кодирование (например,

«формочкодельство»)

4. Корпоративная культура,

специализация по отделам и т.д.

Page 99: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 99 из 106

http://www.infoq.com/interviews/poppendieck-lean-2007

http://www.infoq.com/presentations/durnall-parkinson-thoughtworks-lean-it

По философии Leanв таких обстоятельствах:

Совместное планирование – это waste

Daily Scrum Meeting – это waste

Частые ретроспективы – это waste

Потери

, не при

носи

т п

ол

ьзы д

елу

Потери

, не при

носи

т п

ол

ьзы д

елу

Потери

, не при

носи

т п

ол

ьзы д

елу

Page 100: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 100 из 106

При этом важно:

Отслеживать прохождение задачи (workflow)даже при пересечении границ отделов

Lead Time -> min

(минимизировать время полного цикла)

Ограничить количество начатой, но недоделанной работы(WIP – Work In Progress)

Page 101: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 101 из 106

Т.е. в этих случаях

за основу процесса

лучше взять Kanban,

а вовсе не Scrum

Page 102: А какой у вас Agile: свежевыжатый или порошковый?

Henrik Kniberg, «Kanban vs Scrum»

http://blog.crisp.se/henrikkniberg/2009/04/03/1238795520000.html

http://blog.crisp.se/henrikkniberg/2009/05/29/1243594140000.html

«А какой у вас Agile?», (с) 2009 102 из 106

Page 103: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 103 из 106

Background

Два жизнеописания

Характерные черты

Кто виноват

и что делать

Заключение

Page 104: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 104 из 106

Источник: http://www.crisp.se/futureofagile/slides/henrikkniberg

Page 105: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 105 из 106

Кол-во предписанныхпрактик/ролей/артефактов

Кол-во действ-но полезныхпрактик/ролей/артефактов

RUP (120+)

XP (13)

Scrum (9)

Kanban (3)

Code-&-Fix (1)

Do Whatever

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

Vision, UML, …

Unit-тесты, CI,Refactoring, …

Если ничего не менять,

деградирует сюда

Уж лучшеKanban!

Неустойчивое состояние! Устойчивое

состояние!

Release notes, Test cases, …

Page 106: А какой у вас Agile: свежевыжатый или порошковый?

«А какой у вас Agile?», (с) 2009 106 из 106

team.custis.ru

Вопросы? / Возражения?

Спасибо за внимание!

Данную презентацию и много другого интересного можно найти

по этому адресу