Sef09 Analyst In Agile

81
О ЧЁМ И ЗАЧЕМ Три вопроса Схема презентации «Аналитик в Agile» 1 из 80

description

 

Transcript of Sef09 Analyst In Agile

Page 1: Sef09 Analyst In Agile

О ЧЁМ И ЗАЧЕМ

Три вопроса Схема презентации

«Аналитик в Agile» 1 из 80

Page 2: Sef09 Analyst In Agile

Три распространенных1. Как быть с fix-price

контрактами в Agile?

2. Какова роль менеджера в Agile и как эта роль соотносится с понятием «Product Owner»?

3. Нужны ли аналитики в Agile, и если да, как должно быть организовано взаимодействие с ними?

«Аналитик в Agile» 2 из 80

Page 3: Sef09 Analyst In Agile

Fix-price контракты в Agile http://jeffsutherland.com/scrum/2008/08/agile-2008-money-for-nothing.html

«Аналитик в Agile» 3 из 80

Jeff Sutherland

Page 4: Sef09 Analyst In Agile

Fix-price контракты в Agile (2) http://www.infoq.com/presentations/Introduction-Agile-Stacia-Broderick

«Аналитик в Agile» 4 из 80

Stacia Broderick

Page 5: Sef09 Analyst In Agile

Менеджер в Agile http://blog.crisp.se/henrikkniberg/2007/11/14/1195064820000.html

«Аналитик в Agile» 5 из 80

Henrik Kniberg

Page 6: Sef09 Analyst In Agile

Аналитик в Agile… Упс!

«Аналитик в Agile» 6 из 80

Page 7: Sef09 Analyst In Agile

Позже на InfoQ появилась статья:http://www.infoq.com/articles/agile-business-analyst-role

«Аналитик в Agile» 7 из 80

Page 8: Sef09 Analyst In Agile

Схема презентации

«Аналитик в Agile» 8 из 80

В Agile аналитик не

нужен?

А чем его занять?

И как встроить в процесс?

Так есть разница: Agile и НЕ-Agile?

Но есть еще много вопросов

и нюансов!

Мифы Agile Функции аналитикаСхемы взаимодействия

аналитик-команда

Еще раз про особенности аналитика в Agile

Кратко про ряд смежных вопросов

Page 9: Sef09 Analyst In Agile

НО ПРЕЖДЕ – ПАРА ОГОВОРОК!

Бизнес-аналитик vs.системный аналитик

Scrum, Scrum, Scrum

«Аналитик в Agile» 9 из 80

Page 10: Sef09 Analyst In Agile

Бизнес-аналитик vs. системный аналитик

«Аналитик в Agile» 10 из 80

• Экспертиза в предметной области• Глубокое знание бизнес-

процессов• Умения внятно излагать и

верифицировать

• Систематизация знаний• Построение

информационных моделей• Умение «спрямлять углы»• Участие в дизайне системы

Page 11: Sef09 Analyst In Agile

Scrum, Scrum, Scrum

«Аналитик в Agile» 11 из 80

Scrum49%

Scrum & XP22%

XP8%

Other21%

Источник:3rd Annual ”State of Agile Development” Survey June-July 2008• 3061 respondents• 80 countries

Page 12: Sef09 Analyst In Agile

Из презентации Jeff-а Sutherland-аhttp://jeffsutherland.com/scrum/Agile2008MoneyforNothing.pdf

«Аналитик в Agile», (с) 2008 12 из 80

Google, Yahoo, Microsoft, IBM, Oracle, MySpace, Adobe, GE, Siemens, Sony/Ericson, …

Page 13: Sef09 Analyst In Agile

Scrum: общая схема (итерация == спринт)

Источник: http://www.crisp.se/henrik.kniberg/presentations/JAOO-2007-Henrik-Kniberg.pdf

«Аналитик в Agile» 13 из 80

Page 14: Sef09 Analyst In Agile

Nokia-тест: часть 1 У вас итерации фиксированы, т.е. начинаются в

определенное время и заканчиваются в назначенное время?

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

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

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

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

«Аналитик в Agile» 14 из 80

Источник: http://www.infoq.com/interviews/jeff-sutherland-scrum-rules

Page 15: Sef09 Analyst In Agile

Nokia-тест: часть 2 У вас есть Product Owner, т.е. есть кто-то, кто

представляет заказчика и работает с вами? Если у вас есть Product Owner, ведет ли он Product

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

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

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

Если и здесь все «ДА», то это Scrum«Аналитик в Agile» 15 из 80

Page 16: Sef09 Analyst In Agile

Must Read!http://www.infoq.com/minibooks/scrum-xp-from-the-trenches http://scrum.org.ua/wp-content/uploads/2008/12/scrum_xp-from-the-trenches-rus-final.pdf

«Аналитик в Agile» 16 из 80

Page 17: Sef09 Analyst In Agile

МИФЫ AGILE

Кроссфункциональность Нет подробным спецификациям Минимум документации Прямое общение разработчиков с пользователями

«Аналитик в Agile» 17 из 80

Page 18: Sef09 Analyst In Agile

«Слоганы»из Agile-пропаганды

1. Наиболее эффективныекоманды – это кросс-функциональные команды

2. В начале итерации командене должно требоваться наличие подробных спецификаций

3. Не следует создавать лишние артефакты, в частности, write-only документацию

4. У разработчиков должна быть возможность общаться с пользователями и представителями бизнеса напрямую

«Аналитик в Agile» 18 из 80

Page 19: Sef09 Analyst In Agile

• И что, при переходе наScrum нам нужно учитьаналитиков программировать?!

• Product Owner — эторуководитель проекта,выполняющий еще и функции аналитика?!

• Теперь вообще не следует предварительно прорабатывать задачу или требование перед постановкой их реализации в итерацию?!

Распространенные ошибочные выводы из них

«Аналитик в Agile» 19 из 80

?

Page 20: Sef09 Analyst In Agile

Даже Скотт Адамс (Scott Adams) по этому прошелся…Источник: http://dilbertru.blogspot.com/2007/11/20071126.html

«Аналитик в Agile» 20 из 80

Мы собираемся попробовать кое-что

под названием «Agile

программирование».

Это значит, больше никакого

планирования, никакой

документации. Просто начинайте

писать код и жаловаться.

Так вот как это

называется.

Твоя школа.

Page 21: Sef09 Analyst In Agile

Про слоган №1: Кроссфункциональность

- это «путь к горизонту»- стремиться к ней полезно,

НО в рамках разумного

«Аналитик в Agile» 21 из 80

Page 22: Sef09 Analyst In Agile

«Аналитик в Agile» 22 из 80

Вот чему противопоставляется

Page 23: Sef09 Analyst In Agile

Кроссфункциональность:избегайте искусственных ограничений

«Аналитик в Agile» 23 из 80

область навыков

уровеньнавыков

Профиль навыков сотрудника

Page 24: Sef09 Analyst In Agile

Кроссфункциональность:избегайте искусственных ограничений

«Аналитик в Agile» 24 из 80

область навыков

уровеньнавыков

Границы должностных обязанностей

Профиль навыков сотрудника

Page 25: Sef09 Analyst In Agile

Кроссфункциональность:избегайте искусственных ограничений

«Аналитик в Agile» 25 из 80

область навыков

уровеньнавыков

Границы должностных обязанностей

ОБЫДНО!Пропадает!

!!КПД < 30%

Профиль навыков сотрудника

Page 26: Sef09 Analyst In Agile

Про слоган №2:Нет подробным спецификациям

- это в пику Heavy Weight:

«Аналитик в Agile» 26 из 80

Вера в магию и ум аналитиков и архитекторов

А дальше дело за малым – за кодерами

Page 27: Sef09 Analyst In Agile

Еще баян про дерево и качелиИзвините! Не удержался…

«Аналитик в Agile» 27 из 80

1

2

3

4

5А было нужно:

1 – так объяснил заказчик

2 – так спроектировали

3 – так реализовали

4 – после тестирования

5 – так внедрили

Page 28: Sef09 Analyst In Agile

Agile-спецификации – что рулит:• User story (Пользовательские истории)

• Use cases (Сценарии использования)

• Domain Models(Модели предметной области)

• Data Flow Diagrams (Потоки данных)

• Vision (Концепции)• …

Подробнее про Agile-спецификации:http://agileconsortium.blogspot.com/2008/04/nokia-test-agile-specifications-3.html

«Аналитик в Agile» 28 из 80

Page 29: Sef09 Analyst In Agile

Про слоган №3:Минимум документации

Чем подробнее и больше документация,

тем быстрее она «протухает»:

«Аналитик в Agile» 29 из 80

через год

Изначально красивая и

качественная документация

Она же через год

Page 30: Sef09 Analyst In Agile

Минимум, но не ноль!Без документации могут быть проблемы:

Тяжело вводить новых людей в проект;

Велика вероятность потери общих концепций и видения проекта;

Сложно осуществлять контроль качества;

Некомфортно сопровождать и развивать старую функциональность;

«Аналитик в Agile» 30 из 80

Page 31: Sef09 Analyst In Agile

Про слоган №4: Прямое общение разработчиков с

пользователями/бизнесами

«Аналитик в Agile» 31 из 80

Кто из них кто – решайте сами…

Page 32: Sef09 Analyst In Agile

Весьма полезно! Повышает вовлеченность и

мотивацию Повышает качество Выше вероятность сделать то, что

нужно, а не просто «что просили, то и кушайте»

Ускоряет процесс

Однако никто не запрещает иметь катализатор (читай – Аналитика)!

«Аналитик в Agile» 32 из 80

Page 33: Sef09 Analyst In Agile

ВОЗМОЖНЫЕФУНКЦИИ АНАЛИТИКА

Связующее звено между разработчиками и заказчиками Экспертиза в предметной области Систематизация и построение моделей Контроль качества Участие в пилотных внедрения VIP-сопровождение

«Аналитик в Agile» 33 из 80

Или 6 способов

занять скучающего

аналитика в Agile

Page 34: Sef09 Analyst In Agile

Функция 1: Связующее звено между разработчиками и заказчиками

«Аналитик в Agile» 34 из 80

Углубление в

бизнес-шелуху

Углубление в

техническую шелуху

Профили сотрудников

заказчика

Граница заказчик-исполнитель

Например, помощник бухгалтера

Например, DBA

Профили разработчиков

Page 35: Sef09 Analyst In Agile

Даже в такой ситуациианалитик – хорошее усиление связи

«Аналитик в Agile» 35 из 80

Углубление в

бизнес-шелуху

Углубление в

техническую шелуху

Профили сотрудников

заказчика

Профили разработчиков

Граница заказчик-исполнитель

Например, помощник бухгалтера

Например, DBA

Page 36: Sef09 Analyst In Agile

А весьма распространены

и такие ситуации:

«Аналитик в Agile» 36 из 80

Page 37: Sef09 Analyst In Agile

В них роль аналитика становится

экстремально важной

«Аналитик в Agile» 37 из 80

Page 38: Sef09 Analyst In Agile

Кроме того, не следует забывать

о рисках:

«Аналитик в Agile» 38 из 80

Занятость ключевого персонала у заказчика

Уход лидера проекта

Page 39: Sef09 Analyst In Agile

Аналитик может(и должен)вас спасти!

«Аналитик в Agile» 39 из 80

Уход лидера проекта

Занятость ключевого персонала у заказчика

Page 40: Sef09 Analyst In Agile

Функция 2: Экспертиза в предметной области

«Аналитик в Agile» 40 из 80

«Разжеванная»информация

Эксперты в предметной области и представители заказчика, пользователи

Информация

Команда разработчиков

Аналитик здесь похож на RSS-агрегатор + портал (единая точка доступа)

Page 41: Sef09 Analyst In Agile

Функция 3: Систематизация ипостроение моделей

• В Agile в сессиях моделирования (построения моделей) обычно принимает участие большая часть команды

• Но удобно иметь начальное приближение!

• Если аналитик способен его «сгенерировать», то это отлично, ну а если нет, то не фатально – команда спасёт (подогретые коммуникации рулят)!

«Аналитик в Agile» 41 из 80

Page 42: Sef09 Analyst In Agile

Про сессии моделированияСлайд из презентации для РИТ-2008 («Практика внедрения Scrum»)

«Аналитик в Agile» 42 из 80

Page 43: Sef09 Analyst In Agile

Функция 4:Контроль качества

• Как?!Аналитик превращается в тестера?!

• И да, и нет. Более подходящая параллель – «лётчик-испытатель» (первым опробует свежую функциональность)

«Аналитик в Agile» 43 из 80

Page 44: Sef09 Analyst In Agile

Definition of Done (aka «DoD»)(критерий «Сделано»)

«Аналитик в Agile» 44 из 80

Подробнее см. например:http://chrissterling.gettingagile.com/2007/10/05/building-a-definition-of-done/

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

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

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

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

Feedback

Feedback

Page 45: Sef09 Analyst In Agile

Функция 5:Участие в пилотных внедрениях

Аналитик может сильно помочь:• обучение пользователей (документации не

хватает, процесс не отлажен)

• «живая справка» (аналитик должен знать систему, как свои пять пальцев)

• исправление последствий некорректных действий пользователей (требует специальных прав и навыков)

• фиксация всех недочетов и пожеланий («взять на карандаш»)

• перегрузка и выверка данных• начальная настройка системы

«Аналитик в Agile» 45 из 80

Page 46: Sef09 Analyst In Agile

Функция 6: VIP-сопровождение

VIP:• крупные заказчики• первые клиенты

Особенности:• проблемы нестандартные• пожелания сложные• bug-report-ы зачастую выливаются в

большие доработки«Аналитик в Agile» 46 из 80

Аналитик хорошо знает и систему, и предметную

область. Кроме того, он умеет понимать пользователей и объяснять разработчикам

Page 47: Sef09 Analyst In Agile

СХЕМЫ ВЗАИМОДЕЙСТВИЯАНАЛИТИК-КОМАНДА

Product Owner – аналитик Аналитик – помощник Product Owner-а Аналитик внутри команды Внешний отдел аналитиков

«Аналитик в Agile» 47 из 80

Page 48: Sef09 Analyst In Agile

Схема 1: Product Owner – аналитикСамая простая и очевидная

«Аналитик в Agile» 48 из 80

Источник:http://www.crisp.se/henrik.kniberg/presentations/JAOO-2007-Henrik-Kniberg.pdf

Page 49: Sef09 Analyst In Agile

Однако естьвысокие риски:

бутылочное горлышко экстремальная незаменимость:

а если в отпуске, а если заболел (дай Бог ему здоровья)

трудно найти на рынке труда вряд ли удастся полноценно вовлечь в активное участие во внедрениях и тестировании есть вероятность приоритизации работ, исходя из готовности постановки, а не business value и трудоемкости

«Аналитик в Agile» 49 из 80

Page 50: Sef09 Analyst In Agile

Схема 2: Аналитик – помощник Product Owner-а

«Аналитик в Agile» 50 из 80

Источник: «Agile MASHUPS» Rachel Davies, QCon London 2008

http://www.slideshare.net/deimos/rachel-davies-agile-mashups

Исходя из недостатков предыдущей,напрашивается следующая:

Page 51: Sef09 Analyst In Agile

Недостатки• риск недостаточной

прозрачности деятельности аналитика для команды

• вероятность восприятия аналитика как руководителя

«Аналитик в Agile» 51 из 80

Page 52: Sef09 Analyst In Agile

Недостатки (продолжение)

«Аналитик в Agile» 52 из 80

Кто в доме хозяин?Один не заметен на

фоне другого

Page 53: Sef09 Analyst In Agile

Схема 3: Аналитик внутри команды«Все, кто могут быть погружены внутрь команды,

должны быть в команде.»

Аналитик сидит вместе со всеми Аналитик участвует в Scrum-митингах наравне

со всеми Работа аналитика учитывается при

планировании Аналитик может «делиться» своей работой с

другими (по общему согласию) И наоборот: аналитик может привлекаться к

другим работам (например, подготовить тестовые данные, рассказать про проект новому сотруднику и т.п.)

«Аналитик в Agile» 53 из 80

The

BEST!

Page 54: Sef09 Analyst In Agile

Неэффективно, если:• Одной предметной областью

занимается несколько команд;

• В частности, Scrum-of-Scrum;

• Проект, где технические трудности и особенности превалируют над проблемами предметной области (например, a la Web 2.0);

• Нехватка квалифицированных аналитиков

«Аналитик в Agile» 54 из 80

Page 55: Sef09 Analyst In Agile

Схема 4:Отдельный отдел аналитиков

• Экстремально высокая отдаленность от разработчиков

• Высока вероятность отката к прежним практикам и прежним проблемам

«Аналитик в Agile» 55 из 80

Опасная схема!

Page 56: Sef09 Analyst In Agile

Итого:

«Аналитик в Agile» 56 из 80

POPO

PO

PO

PO

PO’1 2

3 4

Page 57: Sef09 Analyst In Agile

ЕЩЕ РАЗ ПРО ОСОБЕННОСТИ АНАЛИТИКА В AGILE

Ключевой момент Лекарство от страха Типовые ошибки-дуализмы

«Аналитик в Agile» 57 из 80

Page 58: Sef09 Analyst In Agile

Ключевой моментНЕ Agile

«Аналитик в Agile» 58 из 80

Page 59: Sef09 Analyst In Agile

Ключевой моментAgile

«Аналитик в Agile» 59 из 80

Page 60: Sef09 Analyst In Agile

У аналитика в Agileесть «лекарство от страха»

«Аналитик в Agile» 60 из 80

помощь команды быстрая обратная связь от заказчика

небольшое количество вспомогательных артефактов активные устные коммуникации

Ошибки аналитика не столь дороги

Page 61: Sef09 Analyst In Agile

Качели №1

«Аналитик в Agile» 61 из 80

Команду не допускают к

аналитической работе

Разработчикам самим приходится

полностью прояснять, что же

нужно

Page 62: Sef09 Analyst In Agile

Качели №2

«Аналитик в Agile» 62 из 80

Аналитик мало общается с заказчиком

Аналитиквсё время проводит у заказчика

Page 63: Sef09 Analyst In Agile

Качели №3

«Аналитик в Agile» 63 из 80

Подробные спецификации перед началом

итерации

Отсутствие какой-либо проработки

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

итерацию

Page 64: Sef09 Analyst In Agile

Качели №4

«Аналитик в Agile» 64 из 80

Аналитик не рисует никаких диаграмм и схем

Аналитик не пишет текст – исключительно

рисует диаграммы и

схемы

Page 65: Sef09 Analyst In Agile

Качели №5

«Аналитик в Agile» 65 из 80

Команда с «придыханием»

относится к постановкам аналитика

Командане доверяет результатам

работы аналитика (не использует их)

Page 66: Sef09 Analyst In Agile

Качели №6

«Аналитик в Agile» 66 из 80

Аналитик не участвует в

тестировании (QA)

Аналитик вынужден постоянно

«протыкивать» много старых интерфейсов

Page 67: Sef09 Analyst In Agile

Качели №7

«Аналитик в Agile» 67 из 80

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

Аналитик для команды –

мальчик/девочка «на

побегушках»

Page 68: Sef09 Analyst In Agile

Качели №8

«Аналитик в Agile» 68 из 80

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

командой исключительно при

помощи документациии Bug-трекера

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

командой исключительно

посредством устных коммуникаций

Page 69: Sef09 Analyst In Agile

Качели №9

«Аналитик в Agile» 69 из 80

С заказчиком и пользователями

общается только

аналитик

Все члены команды без исключения

вынуждены плотно общаться с

заказчиками и пользователями

Page 70: Sef09 Analyst In Agile

Можно продолжать, но я остановлюсь.Найдите свой идеальный баланс!

«Аналитик в Agile» 70 из 80

Page 71: Sef09 Analyst In Agile

КРАТКО ПРОРЯД СМЕЖНЫХ ВОПРОСОВ

Как «выращивать» аналитиков Инструменты для ведения документации по проекту Почему модели предметной области снова в моде

«Аналитик в Agile» 71 из 80

Page 72: Sef09 Analyst In Agile

«Выращивание»аналитиков

• Сейчас готовые аналитикина рынке труда стоятнеоправданно дорого

• Может, кризис это исправит?

• Да и уровень их навыковв большинстве случаевоставляет желать лучшего…

• Нужно уметь выращивать внутри Компании(таких, какие вам нужны):– способный инженер-тестировщик => будущий

аналитик– способный инженер службы сопровождения =>

аналогично«Аналитик в Agile» 72 из 80

Page 73: Sef09 Analyst In Agile

Средства документирования

«Аналитик в Agile» 73 из 80

• Multimedia:– фотографии с досок– сканы листков– видео (с обсуждений, семинаров и т.п.)

• Презентации – плюс векторная графика (Visio/SVG)

• Wiki– обязательно ПЛЮС текстовые нотации для

графических диаграмм

РУЛИТ!Но нельзя редактировать

Доклад Стаса Фомина

про MediaWiki !!!

Page 74: Sef09 Analyst In Agile

«Аналитик в Agile» 74 из 80

Page 75: Sef09 Analyst In Agile

Почему модели предметной области снова в моде

«Аналитик в Agile» 75 из 80

ПО без «чего-то»основополагающег

о инаправляющего

рискуетпревратиться в

кучусараев-пристроек

безкакой-либо

концептуальнойцелостности

!!!Чем ПО больше и сложнее или чем оно дольше живет и

развивается, тем выше становится этот риск

Page 76: Sef09 Analyst In Agile

Почему модели предметной области снова в моде

«Аналитик в Agile» 76 из 80

Нужен своего рода «концептуальный план»- это и есть модель предметной области

Page 77: Sef09 Analyst In Agile

Domain Driven Design (aka DDD)

«Аналитик в Agile» 77 из 80

Проектирование и дизайн системы должны вращаться вокруг одного Солнца и это

Солнце – модель предметной области

http://www.infoq.com/minibooks/domain-driven-design-quickly

Eric Evans

Page 78: Sef09 Analyst In Agile

В DDD ничего принципиально нового нет

«Аналитик в Agile» 78 из 80

Всё это похоже на:• Объектно-ориентированное моделирование• Model Driven Architecture (MDA)

Только смещены акценты

Page 79: Sef09 Analyst In Agile

Тренинг по созданию моделей предметной области (Domain Modeling)

«Аналитик в Agile» 79 из 80

Page 80: Sef09 Analyst In Agile

Тренинг по созданию моделей предметной области (Domain Modeling)

«Аналитик в Agile» 80 из 80

Page 81: Sef09 Analyst In Agile

Это всё!Вопросы?

«Аналитик в Agile»

НЕ Agile Agile