Download - Разработка бизнес приложений (3)
![Page 1: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/1.jpg)
Обзор scrum. Product owner
Разработка бизнес приложений Лекция 3
![Page 2: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/2.jpg)
AGILE & SCRUM
![Page 3: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/3.jpg)
Откуда все пошло
• В классическом контракте фиксируется все (пожалуй, кроме качества)
Что делать (SCOPE)
Время Деньги
Качество
![Page 4: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/4.jpg)
Результат
• Разработчик ждет change-request’а как манны небесной
• Итог – все страдают все– 60% - проваленных проектов– >50% превышение бюджета в два раза– Только 16% проектов уложились в бюджет и ср
оки• Было обнаружено – 49% фичей не используется никогда– 19% используются очень редко
![Page 5: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/5.jpg)
Логичный вывод
Что делать (SCOPE)
ВремяДеньгиКачество
![Page 6: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/6.jpg)
В чем сложность
• Сложно сформулировать в юридическом контракте, нужно доверие– Отсюда очень много идеологии, т.к. доверие – это
сложно. Доверие – это ответственность.• Два крайних случая контакта
– Fixed cost (scope) (ответственность на разработчике)– Time & Material (ответственность на заказчике)
• А между ними – масса сложных вариантов– Fixed cost (scrope) -> Fixed budget– MultiStage, TargetCost / Budget– Pay for done
![Page 7: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/7.jpg)
И придумали - Scrum
• Единственный реально описанный и продуманный agile процесс, о котором мы и будем говорить
![Page 8: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/8.jpg)
Общая картина
![Page 9: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/9.jpg)
Почему это работает
• Приветствуются изменения• Частые поставки продукта• Бизнес и разработка работают вместе• Поощряет общение• Ответственность, самоорганизация,
доверие встроены в процесс• Просто* и очень прозрачно• Обратная связь встроена (PDCA)
![Page 10: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/10.jpg)
Еще одна аналогия
$ $ $
Водо
пад
![Page 11: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/11.jpg)
Роли в скраме
• Команда (team)• Скрам мастер (scrum master)• Product owner
![Page 12: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/12.jpg)
Команда
• Кроссфункциональная (Dev*, QA, BA, UI, …)• Самоорганизуемая (ответственная)• 7 +/- 2 человека• Принимает обязательства достичь цель
спринта (итерации)• Отвечает за процесс• Владеет планом итерации• Работает вместе
![Page 13: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/13.jpg)
Ответственная
• Способы ухода от ответственности– Игнорирование– Отрицание– Оправдание– Обвинение– Стыд– Обязательство
• Ответственность – это действие• www.christopheravery.com
![Page 14: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/14.jpg)
Scrummaster (тимлид)
• Член команды (не начальник, не PO):– Защитник– Инициатор изменений (инициативен)– Помогает внедрять scrum– Учитель / Наствник– Модератор– Устраняет помехи– Эскалирует проблемы– Мотиватор
![Page 15: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/15.jpg)
Product owner
• Видение продукта• Бэклог продукта• Приоритеты• Прямой контакт с разработчиками• Единый голос заказчика• Инспекция (иногда приемка) готового• Планирование релизов, ROI и все остальное
![Page 16: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/16.jpg)
Люди севера и югаЗаказчикBusiness Owner
(BO)
ПользователиUsers
Маркетинг
АутсорсFreelance
ПродажиSales
Product OwnerМенеджер продукта
Команда
Люди севера
Люди юга
Переводчик!
![Page 17: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/17.jpg)
АЛЬТЕРНАТИВНЫЙ ВЗГЛЯД
![Page 18: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/18.jpg)
Joel, MS, program manager
• Что делает:– UI– Функциональные спецификации– Координирует команды– Служит адвокатом клиента
• Тоже не начальник программистов• Существенно ближе к традиционному
подходу, проще начать с этого
![Page 19: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/19.jpg)
Функциональная спецификация
• Один владелец (ответственный), дисклеймер
• Что делаем, что не делаем• Общее описание на полстранички• Сценарии (обычно по ролям) + UI + детали• Общие для сценариев вещи• Открытые вопросы• Заметки для разных аудиторий
![Page 20: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/20.jpg)
Joel Test• Используете ли вы сорс контроль?• Можете ли вы сделать билд в один шаг?• Есть ли дневные билды?• Есть ли база данных багов?• Исправляются ли баги до написания нового кода?• Есть ли актуальный график разработки?• Есть ли спецификация?• Программисты работают в тишине?• Используете ли вы лучшие инструменты которые можно купить?• Есть ли у вас тестеры?• Пишут ли код программисты на собеседовании?• Проводите ли вы коридорное тестирование юзабилити?
![Page 21: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/21.jpg)
РАБОТА МЕНЕДЖЕРА ПРОДУКТА (PO)
![Page 22: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/22.jpg)
Лук планированияСтратегия
Портфолио
Продукт
Релиз
Итерация
Ежедневное планирование
![Page 23: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/23.jpg)
Стратегия. Заинтересованные лицаВласть
СтепеньЗаинтересованности
Стараемся удовлетворить
Минимальныеусилия
Регулярно информируем
Ключевыеигноки
![Page 24: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/24.jpg)
Стратегия. Видение продукта
• 1-2 странички:– Цель / проблема (в чем)– Заинтересованные лица (на кого влияет)– Позиционирование продукта (как решает)– Ключевые возможности (с помощью каких
фичей)• Problem statement -> product statement
![Page 25: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/25.jpg)
Одним абзацем
Для (целевой клиент), Который (потребности), Наш продукт (название), Это (категория продукта), Который (ключевая причина купить), В отличии от (альтернатива), Наш продукт (ключевое отличие)
Джеффри Мур
![Page 26: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/26.jpg)
Требования. User Stories
• Как [роль пользователя]• Я хочу [функция]• Что бы [преимущество]
• + приемочные тесты (как проверить)• Книга: Mike Cohn -> User stories applied
![Page 27: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/27.jpg)
Какие должны быть истории
• Specific• Measurable• Attainable• Relevant• Time-bound• И не только истории
![Page 28: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/28.jpg)
Story Mapping.
• Как структурировать требования (истории) с чего начать?
• Выделить роли (из стейкхолдеров)– Выделить персоны
• Для каждой роли выделить крупные эпики (epics), цели
• Делить эпики на активности
![Page 29: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/29.jpg)
Выделим роли (персоны)
• Роль• Описание (соц. дем)• Ценности и
глобальные цели по отношению к проекту
• Напр. преподаватель– хочет оценить мои
знания
![Page 30: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/30.jpg)
Выделим активности
• По возможности, в хронологическом порядке ([персона] может сделать [что-нибудь] с нашей системой)
• Например:– Смотреть на результаты деятельности– Убеждаться что мыслительный процесс
действительно случился
![Page 31: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/31.jpg)
![Page 32: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/32.jpg)
Выделим активности
• А потом [персона] делает [юзер историю]• Например, что бы посмотреть результаты– Смотрит на работающую программу и код– Смотрит на документацию
• Формулируем в самом простом возможном виде
![Page 33: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/33.jpg)
Добавляем детали
• Более продвинутые варианты каждой истории• Например:– Выложить код на github– Сделать доклад / презентацию– Выложить проект в веб
![Page 34: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/34.jpg)
![Page 35: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/35.jpg)
Как делить истории
• Минимальная необходимость что бы продемонстрировать в простейшем виде
• Гибкость, дополнительные возможности• Безопасность, защита от дурака, обработка
ошибок• «Фенечки»: юзабилити,
производительность, внешний вид
![Page 36: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/36.jpg)
Или по другому
• Happy path (успешный вариант)• По качеству (сервиса)• По деталям (усложнение)• По ролям• По поддерживаемым данным• По операциям (CRUD)• По шагам исполнения (самое плохое)
![Page 37: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/37.jpg)
Планируем релиз
• Цель – получить ходячий скелет– Словить все риски сразу– Максимально погрузиться в проект
![Page 38: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/38.jpg)
BacklogДеталиЦенностьПриоритет
100-
150
шту
к
2-3
спри
нта
Мес
яцы
Год(
ы)
![Page 39: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/39.jpg)
Backlog как айсбергРазработка
Итерация
Релиз
Будущее
![Page 40: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/40.jpg)
Приоритезация. Факторы
• Бизнес ценность (новый доход, +доход, экономия, эффективность)
• Цена задержки• Снижение рисков• Стоимость• Приобретение знаний• Зависимости
![Page 41: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/41.jpg)
Планирование
• Встреча планирования спринта– Planning poker– Обсуждение – Несколько минут на дообсуждение истории и
игру в покер• Постоянная детализация• Оптимальный размер задач <1-3 дней.– Слишком маленькие – тоже плохо
![Page 42: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/42.jpg)
А дальше работы команды
• Scrummaster– Оценка– Burndown chart– Daily scrum– DoD– Демо– Ретроспективы
• Об этом много говорить смысла нет, т.к. нужен практический опыт
![Page 43: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/43.jpg)
Читаем
• Джоел Спольски (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)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/44.jpg)
Темы для докладов
• AOP• MSF, Kanban / Lean• SCRUM: Team / ScrumMaster – подробнее
про процесс (DS, Retro, SprintPlan, Demo…)• Portfolio management, BMG (Alex Ostervald),
Scrum of Scrum
![Page 45: Разработка бизнес приложений (3)](https://reader033.vdocuments.mx/reader033/viewer/2022061222/548cfe30b47959624a8b4688/html5/thumbnails/45.jpg)
Лабы
• Открытые данные– 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
• Повышенный балл:– Или наличие БД– Или наличие веб интерфейса– Индивидуальное задание (для тех, у кого уже есть что показать)