45
Обзор scrum. Product owner Разработка бизнес приложений Лекция 3

Разработка бизнес приложений (3)

Embed Size (px)

DESCRIPTION

Курс лекций для СТАНКИН. 2011 год.

Citation preview

Page 1: Разработка бизнес приложений (3)

Обзор scrum. Product owner

Разработка бизнес приложений Лекция 3

Page 2: Разработка бизнес приложений (3)

AGILE & SCRUM

Page 3: Разработка бизнес приложений (3)

Откуда все пошло

• В классическом контракте фиксируется все (пожалуй, кроме качества)

Что делать (SCOPE)

Время Деньги

Качество

Page 4: Разработка бизнес приложений (3)

Результат

• Разработчик ждет change-request’а как манны небесной

• Итог – все страдают все– 60% - проваленных проектов– >50% превышение бюджета в два раза– Только 16% проектов уложились в бюджет и ср

оки• Было обнаружено – 49% фичей не используется никогда– 19% используются очень редко

Page 5: Разработка бизнес приложений (3)

Логичный вывод

Что делать (SCOPE)

ВремяДеньгиКачество

Page 6: Разработка бизнес приложений (3)

В чем сложность

• Сложно сформулировать в юридическом контракте, нужно доверие– Отсюда очень много идеологии, т.к. доверие – это

сложно. Доверие – это ответственность.• Два крайних случая контакта

– Fixed cost (scope) (ответственность на разработчике)– Time & Material (ответственность на заказчике)

• А между ними – масса сложных вариантов– Fixed cost (scrope) -> Fixed budget– MultiStage, TargetCost / Budget– Pay for done

Page 7: Разработка бизнес приложений (3)

И придумали - Scrum

• Единственный реально описанный и продуманный agile процесс, о котором мы и будем говорить

Page 8: Разработка бизнес приложений (3)

Общая картина

Page 9: Разработка бизнес приложений (3)

Почему это работает

• Приветствуются изменения• Частые поставки продукта• Бизнес и разработка работают вместе• Поощряет общение• Ответственность, самоорганизация,

доверие встроены в процесс• Просто* и очень прозрачно• Обратная связь встроена (PDCA)

Page 10: Разработка бизнес приложений (3)

Еще одна аналогия

$ $ $

Водо

пад

Page 11: Разработка бизнес приложений (3)

Роли в скраме

• Команда (team)• Скрам мастер (scrum master)• Product owner

Page 12: Разработка бизнес приложений (3)

Команда

• Кроссфункциональная (Dev*, QA, BA, UI, …)• Самоорганизуемая (ответственная)• 7 +/- 2 человека• Принимает обязательства достичь цель

спринта (итерации)• Отвечает за процесс• Владеет планом итерации• Работает вместе

Page 13: Разработка бизнес приложений (3)

Ответственная

• Способы ухода от ответственности– Игнорирование– Отрицание– Оправдание– Обвинение– Стыд– Обязательство

• Ответственность – это действие• www.christopheravery.com

Page 14: Разработка бизнес приложений (3)

Scrummaster (тимлид)

• Член команды (не начальник, не PO):– Защитник– Инициатор изменений (инициативен)– Помогает внедрять scrum– Учитель / Наствник– Модератор– Устраняет помехи– Эскалирует проблемы– Мотиватор

Page 15: Разработка бизнес приложений (3)

Product owner

• Видение продукта• Бэклог продукта• Приоритеты• Прямой контакт с разработчиками• Единый голос заказчика• Инспекция (иногда приемка) готового• Планирование релизов, ROI и все остальное

Page 16: Разработка бизнес приложений (3)

Люди севера и югаЗаказчикBusiness Owner

(BO)

ПользователиUsers

Маркетинг

АутсорсFreelance

ПродажиSales

Product OwnerМенеджер продукта

Команда

Люди севера

Люди юга

Переводчик!

Page 17: Разработка бизнес приложений (3)

АЛЬТЕРНАТИВНЫЙ ВЗГЛЯД

Page 18: Разработка бизнес приложений (3)

Joel, MS, program manager

• Что делает:– UI– Функциональные спецификации– Координирует команды– Служит адвокатом клиента

• Тоже не начальник программистов• Существенно ближе к традиционному

подходу, проще начать с этого

Page 19: Разработка бизнес приложений (3)

Функциональная спецификация

• Один владелец (ответственный), дисклеймер

• Что делаем, что не делаем• Общее описание на полстранички• Сценарии (обычно по ролям) + UI + детали• Общие для сценариев вещи• Открытые вопросы• Заметки для разных аудиторий

Page 20: Разработка бизнес приложений (3)

Joel Test• Используете ли вы сорс контроль?• Можете ли вы сделать билд в один шаг?• Есть ли дневные билды?• Есть ли база данных багов?• Исправляются ли баги до написания нового кода?• Есть ли актуальный график разработки?• Есть ли спецификация?• Программисты работают в тишине?• Используете ли вы лучшие инструменты которые можно купить?• Есть ли у вас тестеры?• Пишут ли код программисты на собеседовании?• Проводите ли вы коридорное тестирование юзабилити?

Page 21: Разработка бизнес приложений (3)

РАБОТА МЕНЕДЖЕРА ПРОДУКТА (PO)

Page 22: Разработка бизнес приложений (3)

Лук планированияСтратегия

Портфолио

Продукт

Релиз

Итерация

Ежедневное планирование

Page 23: Разработка бизнес приложений (3)

Стратегия. Заинтересованные лицаВласть

СтепеньЗаинтересованности

Стараемся удовлетворить

Минимальныеусилия

Регулярно информируем

Ключевыеигноки

Page 24: Разработка бизнес приложений (3)

Стратегия. Видение продукта

• 1-2 странички:– Цель / проблема (в чем)– Заинтересованные лица (на кого влияет)– Позиционирование продукта (как решает)– Ключевые возможности (с помощью каких

фичей)• Problem statement -> product statement

Page 25: Разработка бизнес приложений (3)

Одним абзацем

Для (целевой клиент), Который (потребности), Наш продукт (название), Это (категория продукта), Который (ключевая причина купить), В отличии от (альтернатива), Наш продукт (ключевое отличие)

Джеффри Мур

Page 26: Разработка бизнес приложений (3)

Требования. User Stories

• Как [роль пользователя]• Я хочу [функция]• Что бы [преимущество]

• + приемочные тесты (как проверить)• Книга: Mike Cohn -> User stories applied

Page 27: Разработка бизнес приложений (3)

Какие должны быть истории

• Specific• Measurable• Attainable• Relevant• Time-bound• И не только истории

Page 28: Разработка бизнес приложений (3)

Story Mapping.

• Как структурировать требования (истории) с чего начать?

• Выделить роли (из стейкхолдеров)– Выделить персоны

• Для каждой роли выделить крупные эпики (epics), цели

• Делить эпики на активности

Page 29: Разработка бизнес приложений (3)

Выделим роли (персоны)

• Роль• Описание (соц. дем)• Ценности и

глобальные цели по отношению к проекту

• Напр. преподаватель– хочет оценить мои

знания

Page 30: Разработка бизнес приложений (3)

Выделим активности

• По возможности, в хронологическом порядке ([персона] может сделать [что-нибудь] с нашей системой)

• Например:– Смотреть на результаты деятельности– Убеждаться что мыслительный процесс

действительно случился

Page 31: Разработка бизнес приложений (3)
Page 32: Разработка бизнес приложений (3)

Выделим активности

• А потом [персона] делает [юзер историю]• Например, что бы посмотреть результаты– Смотрит на работающую программу и код– Смотрит на документацию

• Формулируем в самом простом возможном виде

Page 33: Разработка бизнес приложений (3)

Добавляем детали

• Более продвинутые варианты каждой истории• Например:– Выложить код на github– Сделать доклад / презентацию– Выложить проект в веб

Page 34: Разработка бизнес приложений (3)
Page 35: Разработка бизнес приложений (3)

Как делить истории

• Минимальная необходимость что бы продемонстрировать в простейшем виде

• Гибкость, дополнительные возможности• Безопасность, защита от дурака, обработка

ошибок• «Фенечки»: юзабилити,

производительность, внешний вид

Page 36: Разработка бизнес приложений (3)

Или по другому

• Happy path (успешный вариант)• По качеству (сервиса)• По деталям (усложнение)• По ролям• По поддерживаемым данным• По операциям (CRUD)• По шагам исполнения (самое плохое)

Page 37: Разработка бизнес приложений (3)

Планируем релиз

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

Page 38: Разработка бизнес приложений (3)

BacklogДеталиЦенностьПриоритет

100-

150

шту

к

2-3

спри

нта

Мес

яцы

Год(

ы)

Page 39: Разработка бизнес приложений (3)

Backlog как айсбергРазработка

Итерация

Релиз

Будущее

Page 40: Разработка бизнес приложений (3)

Приоритезация. Факторы

• Бизнес ценность (новый доход, +доход, экономия, эффективность)

• Цена задержки• Снижение рисков• Стоимость• Приобретение знаний• Зависимости

Page 41: Разработка бизнес приложений (3)

Планирование

• Встреча планирования спринта– Planning poker– Обсуждение – Несколько минут на дообсуждение истории и

игру в покер• Постоянная детализация• Оптимальный размер задач <1-3 дней.– Слишком маленькие – тоже плохо

Page 42: Разработка бизнес приложений (3)

А дальше работы команды

• Scrummaster– Оценка– Burndown chart– Daily scrum– DoD– Демо– Ретроспективы

• Об этом много говорить смысла нет, т.к. нужен практический опыт

Page 43: Разработка бизнес приложений (3)

Читаем

• Джоел Спольски (JoelOnSoftware.com)– http://www.joelonsoftware.com/items/2009/03/09.html– http://www.joelonsoftware.com/articles/fog0000000036.html (4 части)– Переводы: http://local.joelonsoftware.com/wiki/Russian

• Making things happen (Искусство управления IT проектами), Скотт Беркун

• Преодоление пропасти. Маркетинг и продажа хайтек-товаров массовому потребителю (Джеффри Мур)

Page 44: Разработка бизнес приложений (3)

Темы для докладов

• AOP• MSF, Kanban / Lean• SCRUM: Team / ScrumMaster – подробнее

про процесс (DS, Retro, SprintPlan, Demo…)• Portfolio management, BMG (Alex Ostervald),

Scrum of Scrum

Page 45: Разработка бизнес приложений (3)

Лабы

• Открытые данные– http://www.apps4russia.ru/– http://apps4russia.reformal.ru/– http://data.worldbank.org/

• Готовое:– http://minenergo.gov.ru/activity/statistic/ – http://www.fms.gov.ru/about/ofstat/– http://www.federalspace.ru/main.php?id=10

• Повышенный балл:– Или наличие БД– Или наличие веб интерфейса– Индивидуальное задание (для тех, у кого уже есть что показать)