2. Три вопроса
Схема презентации
О ЧЁМ И ЗАЧЕМ
«Аналитик в Agile» 2 из 82
3. Три распространенных
1. Как быть с fix-price
контрактами в Agile?
2. Какова роль менеджера в
Agile и как эта роль соотносится с
понятием «Product Owner»?
3. Нужны ли аналитики в Agile,
и если да, как должно быть
организовано взаимодействие с
ними?
«Аналитик в Agile» 3 из 82
4. Jeff Sutherland
Fix-price контракты в Agile
http://jeffsutherland.com/scrum/2008/08/agile-2008-money-for-nothing.html
«Аналитик в Agile» 4 из 82
5. Stacia Broderick
Fix-price контракты в Agile (2)
http://www.infoq.com/presentations/Introduction-Agile-Stacia-Broderick
«Аналитик в Agile» 5 из 82
6. Henrik Kniberg
Менеджер в Agile
http://blog.crisp.se/henrikkniberg/2007/11/14/1195064820000.html
«Аналитик в Agile» 6 из 82
8. Позже на InfoQ появилась статья:
http://www.infoq.com/articles/agile-business-analyst-role
«Аналитик в Agile» 7 из 82
9. Схема презентации
В Agile И как
А чем его встроить в
аналитик не
занять? процесс?
нужен?
Схемы взаимодействия
Мифы Agile Функции аналитика
аналитик-команда
Но есть еще
Так есть разница: много вопросов
Agile и НЕ-Agile? и нюансов!
Еще раз про особенности Кратко про ряд смежных
аналитика в Agile вопросов
«Аналитик в Agile» 9 из 82
10. Бизнес-аналитик vs.
системный аналитик
Scrum, Scrum, Scrum
НО ПРЕЖДЕ – ПАРА ОГОВОРОК!
«Аналитик в Agile» 10 из 82
11. Бизнес-аналитик vs. системный аналитик
• Экспертиза в предметной • Систематизация знаний
области • Построение информационных
• Глубокое знание бизнес- моделей
процессов
• Умения внятно излагать и
• Умение «спрямлять углы»
верифицировать • Участие в дизайне системы
«Аналитик в Agile» 11 из 82
12. Scrum, Scrum, Scrum
Источник:
3rd Annual ”State of Agile Development” Survey June-July 2008
•3061 respondents
•80 countries
«Аналитик в Agile» 12 из 82
13. Google, Yahoo, Microsoft, IBM, Oracle,
MySpace, Adobe, GE, Siemens, Sony/Ericson,
…
Из презентации Jeff-а Sutherland-а
http://jeffsutherland.com/scrum/Agile2008MoneyforNothing.pdf
«Аналитик в Agile», (с) 2008 13 из 82
14. Scrum: общая схема (итерация == спринт)
Источник:
http://www.crisp.se/henrik.kniberg/presentations/JAOO-2007-Henrik-Kniberg.pdf
«Аналитик в Agile» 14 из 82
15. Nokia-тест: часть 1
У вас итерации фиксированы, т.е. начинаются в
определенное время и заканчиваются в
назначенное время?
Длина итерации не превышает 6 недель?
В конце итерации вы имеете работающее ПО?
Вам не нужна детальная спецификация для того,
чтобы начать итерацию?
Важно иметь работающее ПО в конце итерации:
вы проводите тестирование во время процесса
разработки?
Если все ответы – «ДА», то это итеративный
процесс в полном смысле этого слова
Источник: http://www.infoq.com/interviews/jeff-sutherland-scrum-rules
«Аналитик в Agile» 15 из 82
16. Nokia-тест: часть 2
У вас есть Product Owner, т.е. есть кто-то, кто
представляет заказчика и работает с вами?
Если у вас есть Product Owner, ведет ли он Product
Backlog, т.е. список «фич», которые нужно
запрограммировать? Приоритизирован ли он по
важности для заказчика? Есть ли оценка
трудоемкости по каждому пункту?
Строите ли вы график сгорания работ (burndown
chart) во время итерации, чтобы видеть, сколько
работы осталось, и успеваете ли вы к концу
итерации?
Во время итерации команда работает по принципу
самоорганизации, т.е. менеджеры не вмешиваются в
работу команды по ходу итерации?
Если и здесь все «ДА», то это Scrum
«Аналитик в Agile» 16 из 82
18. Кроссфункциональность
Нет подробным спецификациям
Минимум документации
Прямое общение разработчиков с пользователями
МИФЫ AGILE
«Аналитик в Agile» 18 из 82
19. «Слоганы»
из Agile-пропаганды
1) Наиболее эффективные
команды – это кросс-
функциональные команды
2) В начале итерации команде
не должно требоваться наличие подробных
спецификаций
3) Не следует создавать лишние артефакты,
в частности, write-only документацию
4) У разработчиков должна быть
возможность общаться с пользователями и
представителями бизнеса напрямую
«Аналитик в Agile» 19 из 82
20. Распространенные ошибочные
выводы из них ?
• И что, при переходе на
Scrum нам нужно учить
аналитиков программировать?!
• Product Owner — это
руководитель проекта,
выполняющий еще и функции аналитика?!
• Теперь вообще не следует предварительно
прорабатывать задачу или требование перед
постановкой их реализации в итерацию?!
«Аналитик в Agile» 20 из 82
21. Это значит, больше
Мы собираемся никакого планирования,
попробовать кое-что никакой документации. Так вот как
Просто начинайте Твоя
под названием «Agile это
писать код и школа.
программирование». называется.
жаловаться.
Даже Скотт Адамс (Scott Adams) по этому прошелся…
Источник: http://dilbertru.blogspot.com/2007/11/20071126.html
«Аналитик в Agile» 21 из 82
26. Кроссфункциональность:
избегайте искусственных ограничений
уровень Границы
навыков должностных
обязанностей
ОБЫДНО!
Пропадает!!!
КПД < 30%
Профиль навыков
сотрудника
область навыков
«Аналитик в Agile» 26 из 82
27. Про слоган №2:
Нет подробным спецификациям
- это в пику Heavy Weight:
Вера в магию и ум
А дальше дело за
аналитиков и
малым – за кодерами
архитекторов
«Аналитик в Agile» 27 из 82
28. 1 1 – так объяснил заказчик
2 2 – так спроектировали
3 3 – так реализовали
4
А было нужно:
5
4 – после тестирования
5 – так внедрили
Еще баян про дерево и качели
Извините! Не удержался…
«Аналитик в Agile» 28 из 82
29. 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» 29 из 82
30. Про слоган №3:
Минимум документации
Чем подробнее и больше документация,
тем быстрее она «протухает»:
через год
Изначально красивая
и качественная
документация
Она же через год
«Аналитик в Agile» 30 из 82
31. Минимум, но не ноль!
Без документации могут быть проблемы:
Тяжело вводить новых людей в проект;
Велика вероятность потери общих
концепций и видения проекта;
Сложно осуществлять контроль качества;
Некомфортно сопровождать и развивать
старую функциональность;
…
«Аналитик в Agile» 31 из 82
32. Про слоган №4:
Прямое общение разработчиков с
пользователями/бизнесами
Кто из них кто – решайте сами…
«Аналитик в Agile» 32 из 82
33. Весьма полезно!
Повышает вовлеченность и
мотивацию
Повышает качество
Выше вероятность сделать то, что
нужно, а не просто «что просили, то и
кушайте»
Ускоряет процесс
Однако никто не запрещает иметь
катализатор (читай – Аналитика)!
«Аналитик в Agile» 33 из 82
34. И
зан ли 6
ан ять спо
ал
ит скуч собо
ик а
а в юще в
Ag г
ile о
Связующее звено между
разработчиками и заказчиками
Экспертиза в предметной области
Систематизация и построение моделей
Контроль качества
Участие в пилотных внедрения
VIP-сопровождение
ВОЗМОЖНЫЕ
ФУНКЦИИ АНАЛИТИКА
«Аналитик в Agile» 34 из 82
35. Функция 1: Связующее звено между
разработчиками и заказчиками
Профили
сотрудников Граница заказчик-исполнитель
заказчика
Например,
помощник Профили
бухгалтера разработчиков
Уг
би лубл
зн
ес- ение
ше
лу в
ху
Например,
тех Угл DBA
ни убл
че
ску ение
ю
ше в
лу
«Аналитик в Agile» ху 35 из 82
36. Даже в такой ситуации
аналитик – хорошее усиление связи
Профили
сотрудников Граница заказчик-исполнитель
заказчика
Например,
помощник Профили
бухгалтера разработчиков
Уг
би лубл
зн
ес- ение
ше
лу в
ху
Например,
тех Угл DBA
ни убл
че
ску ение
ю
ше в
лу
«Аналитик в Agile» ху 36 из 82
38. В них роль аналитика
становится
экстремально важной
«Аналитик в Agile» 38 из 82
39. Кроме того, не Занятость ключевого
персонала у заказчика
следует забывать
о рисках:
Уход лидера
проекта
«Аналитик в Agile» 39 из 82
40. Аналитик может Занятость ключевого
персонала у заказчика
(и должен)
вас спасти!
Уход лидера
проекта
«Аналитик в Agile» 40 из 82
41. Функция 2: Экспертиза в
предметной области
Эксперты в предметной
области и представители
заказчика, пользователи
Команда
разработчиков
Информация
«Разжеванная»
информация
Аналитик здесь похож
на RSS-агрегатор +
портал (единая точка
доступа)
«Аналитик в Agile» 41 из 82
42. Функция 3: Систематизация и
построение моделей
• В Agile в сессиях моделирования
(построения моделей) обычно
принимает участие большая часть
команды
• Но удобно иметь начальное
приближение!
• Если аналитик способен его
«сгенерировать», то это отлично, ну а
если нет, то не фатально – команда
спасёт (подогретые коммуникации
рулят)!
«Аналитик в Agile» 42 из 82
44. Функция 4:
Контроль качества
• Как?!
Аналитик превращается в тестера?!
• И да, и нет. Более подходящая
параллель – «лётчик-испытатель»
(первым опробует свежую
функциональность)
«Аналитик в Agile» 44 из 82
45. Definition of Done (aka «DoD»)
(критерий «Сделано»)
коллега аналитик
(2) Code Review
сборочный (3) Сделано то, что нужно? Feedback
сервер (1) автоматические
Оно работает? Это удобно?
сборка + тесты
Демо
Feedback
Подробнее см. например:
http://chrissterling.gettingagile.com/2007/10/05/building-a-definition-of-done/
«Аналитик в Agile» 45 из 82
46. Функция 5:
Участие в пилотных внедрениях
Аналитик может сильно помочь:
• обучение пользователей (документации не
хватает, процесс не отлажен)
• «живая справка» (аналитик должен знать
систему, как свои пять пальцев)
• исправление последствий некорректных
действий пользователей (требует
специальных прав и навыков)
• фиксация всех недочетов и пожеланий
(«взять на карандаш»)
• перегрузка и выверка данных
• начальная настройка системы
«Аналитик в Agile» 46 из 82
47. Функция 6: VIP-сопровождение
Аналитик хорошо знает и
VIP: систему, и предметную
область. Кроме того, он умеет
• крупные заказчики понимать пользователей и
• первые клиенты объяснять разработчикам
Особенности:
• проблемы нестандартные
• пожелания сложные
• bug-report-ы зачастую выливаются в
большие доработки
«Аналитик в Agile» 47 из 82
48. Product Owner – аналитик
Аналитик – помощник Product Owner-а
Аналитик внутри команды
Внешний отдел аналитиков
СХЕМЫ ВЗАИМОДЕЙСТВИЯ
АНАЛИТИК-КОМАНДА
«Аналитик в Agile» 48 из 82
49. Схема 1: Product Owner – аналитик
Самая простая и очевидная
Источник:
http://www.crisp.se/henrik.kniberg/presentations/JAOO-2007-Henrik-Kniberg.pdf
«Аналитик в Agile» 49 из 82
50. Однако есть
высокие риски:
бутылочное горлышко
экстремальная незаменимость:
а если в отпуске,
а если заболел (дай Бог ему здоровья)
трудно найти на рынке труда
вряд ли удастся полноценно вовлечь в
активное участие во внедрениях и
тестировании
есть вероятность приоритизации
работ, исходя из готовности
постановки, а не business value и
трудоемкости
«Аналитик в Agile» 50 из 82
51. Схема 2: Аналитик – помощник
Product Owner-а
Исходя из недостатков предыдущей,
напрашивается следующая:
Источник: «Agile MASHUPS» Rachel Davies, QCon London 2008
http://www.slideshare.net/deimos/rachel-davies-agile-mashups
«Аналитик в Agile» 51 из 82
52. Недостатки
• риск недостаточной
прозрачности
деятельности
аналитика для
команды
• вероятность
восприятия аналитика
как руководителя
«Аналитик в Agile» 52 из 82
53. Недостатки (продолжение)
Один не заметен на
Кто в доме хозяин? фоне другого
«Аналитик в Agile» 53 из 82
54. Схема 3: Аналитик внутри команды
«Все, кто могут быть погружены внутрь команды,
должны быть в команде.»
The
Аналитик сидит вместе со всеми BES T
!
Аналитик участвует в Scrum-митингах
наравне со всеми
Работа аналитика учитывается при
планировании
Аналитик может «делиться» своей работой с
другими (по общему согласию)
И наоборот: аналитик может привлекаться к
другим работам (например, подготовить
тестовые данные, рассказать про проект
новому сотруднику и т.п.)
«Аналитик в Agile» 54 из 82
55. Неэффективно, если:
• Одной предметной областью занимается
несколько команд;
• В частности, Scrum-of-Scrum;
• Проект, где технические трудности и
особенности превалируют над
проблемами предметной области
(например, a la Web 2.0);
• Нехватка квалифицированных
аналитиков
«Аналитик в Agile» 55 из 82
56. Схема 4:
Отдельный отдел аналитиков
!
ма
схе
ас ная
Оп
• Экстремально высокая отдаленность
от разработчиков
• Высока вероятность отката к прежним
практикам и прежним проблемам
«Аналитик в Agile» 56 из 82
57. Итого:
PO
PO
PO’
1 2
PO
PO
3 4 PO
«Аналитик в Agile» 57 из 82
58. Ключевой момент
Лекарство от страха
Типовые ошибки-дуализмы
ЕЩЕ РАЗ ПРО ОСОБЕННОСТИ
АНАЛИТИКА В AGILE
«Аналитик в Agile» 58 из 82
61. У аналитика в Agile
есть «лекарство от страха»
помощь команды
быстрая обратная
связь от заказчика
небольшое количество
вспомогательных
артефактов
активные устные
коммуникации
Ошибки аналитика не столь дороги
«Аналитик в Agile» 61 из 82
62. Качели №1
Команду не
допускают к
аналитической
работе
Разработчикам
самим приходится
полностью
прояснять, что же
нужно
«Аналитик в Agile» 62 из 82
63. Качели №2
Аналитик мало
общается с
заказчиком
Аналитик
всё время
проводит у
заказчика
«Аналитик в Agile» 63 из 82
64. Качели №3
Подробные
спецификации
перед началом
итерации
Отсутствие какой-
либо проработки
требований до
постановки их в
итерацию
«Аналитик в Agile» 64 из 82
65. Качели №4
Аналитик не
рисует никаких
диаграмм и схем
Аналитик не
пишет текст –
исключительно
рисует диаграммы
и схемы
«Аналитик в Agile» 65 из 82
66. Качели №5
Команда с
«придыханием»
относится к
постановкам
аналитика
Команда
не доверяет
результатам
работы аналитика
(не использует их)
«Аналитик в Agile» 66 из 82
67. Качели №6
Аналитик не
участвует в
тестировании (QA)
Аналитик вынужден
постоянно
«протыкивать»
много старых
интерфейсов
«Аналитик в Agile» 67 из 82
68. Качели №7
Команда
воспринимает
аналитика как
руководителя
Аналитик для
команды – мальчик/
девочка «на
побегушках»
«Аналитик в Agile» 68 из 82
69. Качели №8
Аналитик
взаимодействует с
командой исключительно
при помощи
документации
и Bug-трекера
Аналитик
взаимодействует с
командой
исключительно
посредством устных
коммуникаций
«Аналитик в Agile» 69 из 82
70. Качели №9
С заказчиком и
пользователями
общается только
аналитик
Все члены команды без
исключения
вынуждены плотно
общаться с заказчиками
и пользователями
«Аналитик в Agile» 70 из 82
71. Можно продолжать, но я остановлюсь.
Найдите свой идеальный баланс!
«Аналитик в Agile» 71 из 82
72. Как «выращивать» аналитиков
Инструменты для ведения документации по проекту
Почему модели предметной области снова в моде
КРАТКО ПРО
РЯД СМЕЖНЫХ ВОПРОСОВ
«Аналитик в Agile» 72 из 82
73. «Выращивание»
аналитиков
• Сейчас готовые аналитики
на рынке труда стоят
неоправданно дорого
• Может, кризис это исправит?
• Да и уровень их навыков
в большинстве случаев
оставляет желать лучшего…
• Нужно уметь выращивать внутри Компании
(таких, какие вам нужны):
– способный инженер-тестировщик => будущий аналитик
– способный инженер службы сопровождения => аналогично
«Аналитик в Agile» 73 из 82
74. Средства документирования
• Multimedia: Но
РУЛ
ИТ!
– фотографии с досок ред нельз
акти я
ров
– сканы листков ать
– видео (с обсуждений, семинаров и т.п.)
• Презентации
– плюс векторная графика (Visio/SVG)
• Wiki
– обязательно ПЛЮС текстовые нотации для а
графических диаграмм о мин
аса Ф !!!
Ст iki
ад iaW
окл Med
Д ро
п
«Аналитик в Agile» 74 из 82
76. Почему модели предметной области
снова в моде
ПО без «чего-то»
основополагающего
и
направляющего
рискует
превратиться в кучу
сараев-пристроек без
какой-либо
концептуальной
целостности
!!!
Чем ПО больше и сложнее или чем оно дольше живет и
развивается, тем выше становится этот риск
«Аналитик в Agile» 76 из 82
77. Почему модели предметной области
снова в моде
Нужен своего рода «концептуальный план»
- это и есть модель предметной области
«Аналитик в Agile» 77 из 82
78. Domain Driven Design (aka DDD)
Проектирование и дизайн системы должны
вращаться вокруг одного Солнца и это Солнце –
модель предметной области
Eric Evans
http://www.infoq.com/minibooks/domain-driven-design-quickly
«Аналитик в Agile» 78 из 82
79. В DDD ничего принципиально
нового нет
Всё это похоже на:
• Объектно-ориентированное моделирование
• Model Driven Architecture (MDA)
Только смещены акценты
«Аналитик в Agile» 79 из 82
80. Тренинг по созданию моделей
предметной области (Domain Modeling)
«Аналитик в Agile» 80 из 82
81. Тренинг по созданию моделей
предметной области (Domain Modeling)
«Аналитик в Agile» 81 из 82
82. НЕ Agile Agile
Это всё!
Вопросы?
«Аналитик в Agile»