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

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

Embed Size (px)

DESCRIPTION

Слайды к докладу на конференции «Agile Eastern Europe»

Citation preview

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

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

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: свежевыжатый или порошковый?

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

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

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

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

потребоваться побольше времени.

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

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

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

утром.

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

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

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

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

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

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

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

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

всего, нужно …

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

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

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

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

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

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

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

подход и он нас не подводил.12. Ну что, в дизайн-сессии 2-3

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

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

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

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

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

. . .

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

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

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

и code-review

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

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

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

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

Вариантов исправления два: сделать индекс глобальным, или в поиске требовать ограничение на

дату документа (чтобы попадать в ограниченное число партиций).

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

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

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

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

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

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

сделал Глеб.

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

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

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

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

по ходу реализации «0x»

8. Конечно!

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

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

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

Минск…

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

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

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

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

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

сервер.

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

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

вам.

Daily Scrum в середине

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

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

всё это обсудить и исправить.

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

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

правками.

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

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

нибудь возьму по приоритету.

Daily Scrum в середине

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

6. ???

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

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

. . .

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

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

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

проверю за Васей фичу …2. А я вчера полдня исправлял вместе с Глебом ошибки.

Потом всё оставшееся время разбирался с глюком в библиотеке MegaXob – для чего скачал полную

спецификацию на формат файлов Ёxl. Нашел у них ошибку. Исправил. Теперь у нас все тесты проходят

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

основном стволе исправили?

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

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

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

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

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

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

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

на новые права

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

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

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

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

На демо каждый показывает то, что он сделал.

Все пункты Backlog-а так или иначе демонстрируются в

соответствии с how-to-demo.

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

фиксируются

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

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

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

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

спринт повесим отдельный персональный таск для Васи: «прочитать» Ну, и выделим сколько-то

рабочего времени

3. Да, а какой у нас фактический фокус фактор

получился?4. С учетом незапланированной работы

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

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

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

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

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

успевали.

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

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

бонусных тасков!

9. Ok. Оставляем. Какие еще плюсы/минусы/идеи?

10. Давайте посмотрим идеи с предыдущего

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

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-pi

g-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-pi

g-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-pi

g-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-thought

works-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

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

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

Данную презентацию

и много другого

интересного можно найти

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

Связь с автором:

[email protected]