scrum в Заказной разработке

56
PM Labs Омск, 22/10/2010 Scrum в заказной разработке Асхат Уразбаев Тренер и консультант по гибким методологиям

Upload: nikita-filippov

Post on 18-Nov-2014

1.089 views

Category:

Documents


3 download

DESCRIPTION

Почему Srum выгоден в аутсорсе, как продать заказчику идею, на чем фокусироваться при работе с заказчиком?

TRANSCRIPT

Page 1: Scrum в Заказной разработке

PM Labs Омск, 22/10/2010

Scrum в заказной разработке

Асхат Уразбаев Тренер и консультант по гибким методологиям

Page 2: Scrum в Заказной разработке

Асхат Уразбаев

•  ScrumTrek •  Agile Coach •  Управляющий партнер

•  В прошлом •  Программист, менеджер

проектов, методолог

Page 3: Scrum в Заказной разработке

h"p://scrumtrek.ru/company/clients/  

Page 4: Scrum в Заказной разработке

Проблемы в разработке ПО

Page 5: Scrum в Заказной разработке

Требования меняются

―  Согласование такого контракта обычно занимает у нас около четырех месяцев. За это время со 100% вероятностью мы передумаем или вы прекратите использовать продукт. Может быть мы сэкономим время, объявим о провале и начнем обвинять друг друга?

―  Я сдался еще до того, как отдал вам контракт

Page 6: Scrum в Заказной разработке

Почему требования меняются?

Page 7: Scrum в Заказной разработке

Недостаток информации

Page 8: Scrum в Заказной разработке

Недостаток фантазии

Page 9: Scrum в Заказной разработке

Избыток фантазии

Page 10: Scrum в Заказной разработке

Заказчик меняет требования

•  Логичный вывод – требования зафиксировать

Page 11: Scrum в Заказной разработке

Каскадная модель (Waterfall)

Page 12: Scrum в Заказной разработке

Контрактные обязательства фиксируют…

•  Объем работ •  Сумму контракта •  Дату поставки

Page 13: Scrum в Заказной разработке

Проблема точки невозврата

•  Заказчик боится принимать окончательное решение (подписывать требования)

Page 14: Scrum в Заказной разработке

Заказчик

•  Заказчик – наемный менеджер •  Если что – он тоже виноват

Согласования, утверждения, совещания, рабочие группы и другие методы избегания ответственности

Page 15: Scrum в Заказной разработке

Сбор  требований   Разработка     Тестирование     Приемка  у  

заказчика  

ПОЛЕЗНОЕ ВРЕМЯ

Сроки реализации растут

Page 16: Scrum в Заказной разработке

Итеративная разработка

Page 17: Scrum в Заказной разработке

Полезное время итеративной разработки

ПОЛЕЗНОЕ ВРЕМЯ

Разработка требований

Кодирование и тестирование

Приемка

Page 18: Scrum в Заказной разработке

Оценка в Agile

•  Команда оценивает каждую фичу – Например, в условных единицах (story

points) •  Известна эмпирическая усредненная

скорость команды (сумма условных единиц в итерацию)

Page 19: Scrum в Заказной разработке

Баклог – инструмент управления требованиями Функциональность   Оценка  

Page 20: Scrum в Заказной разработке

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

несделанную фичу на эквивалентную по размерам

•  Фичи оценивает вендор •  Заказчик может добавить или

удалить фичу. •  Заказчик может поменять порядок

несделанных фич •  В любой момент заказчик может

принять решение остановить разработку

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

Page 21: Scrum в Заказной разработке

Фиксированный  объем  работ  

Фиксированный  бюджет  

Page 22: Scrum в Заказной разработке

Почему итеративная разработка дешевле?

Page 23: Scrum в Заказной разработке

Отмененная функциональность

Новая функциональность

Первоначальная и разработанная функциональность

Не делаем лишних фич

Page 24: Scrum в Заказной разработке

Экономим трудозатраты

Без  автотестов   С  автотестами  

Поддержка  (баги)  

Автотесты  

Функциональность  

Page 25: Scrum в Заказной разработке

Descoping

Page 26: Scrum в Заказной разработке
Page 27: Scrum в Заказной разработке

Как вы делаете предварительную оценку?

Page 28: Scrum в Заказной разработке

Старинные методы оценки

Page 29: Scrum в Заказной разработке

Учет рисков

•  Традиционный подход: накинем на оценку сверху: – Изменения требований – Проблемы при сдаче – Труднореализуемые Мегафичи

•  Scrum – Оценка более адвекватна (при условии

согласовании с заказчиком правил Scrum)

Page 30: Scrum в Заказной разработке

Проблема приемки

•  Что если заказчик будет менять фичи по ходу итерации или не принимать в конце итерации?

Page 31: Scrum в Заказной разработке

Приемочные тесты

•  Создавать приемочные тесты •  Приемочные тесты согласовывать с

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

Page 32: Scrum в Заказной разработке

Создание  требований  

Демонстрация  Приемка  

Ретроспектива  

Декомпозиция  Оценка  

Таймбоксинг  

Фичи  

Фичи  +  приемочные  

тесты  

Фичи  +  задачи  с  оценкой  

Команда  

Команда  

Product  Owner  

Команда  

Page 33: Scrum в Заказной разработке

В сухом остатке

•  Работаем короткими итерациями •  Сдаем заказчику результаты в конце

каждой итерации •  Требования фиксируются на следующую

итерацию (например, в виде приемочных тестов)

•  Используем баклог для управления изменениями

Page 34: Scrum в Заказной разработке

Роли в Scrum: ScrumMaster Поддерживает «здоровье» команды, помогает команде стать самоорганизующейся Ответственность: •  Фасилитирует (модерирует) митинги •  Поддерживает прозрачность, доверие и

взаимную ответственность •  Устраняет внешние препятсвия

•  Отвечает за процесс

Page 35: Scrum в Заказной разработке

Роли в Scrum: TEAM •  Самоорганизованная / самоуправляемая

-  Колективно принимают решения -  Сами координируют и организуют свою

работу •  Кроссфункциональная

Page 36: Scrum в Заказной разработке

Роли в Scrum: Product Owner •  Задача: Добиться целей проекта •  Ответственность: •  Представляет интересы заказчика и

заинтересованных лиц •  Формирует и координирует Баклог •  Отвечает за Концепцию •  Управляет датой релиза и его

содержанием

Page 37: Scrum в Заказной разработке

Цель проекта?

Page 38: Scrum в Заказной разработке

Цель– максимизировать свою прибыль?

•  Даже если результат не нужен заказчику

Page 39: Scrum в Заказной разработке

Цель – максимальная удовлетворенность заказчика?

Page 40: Scrum в Заказной разработке

Сервис,  который  хочет  заказчик  

Сервис,  который  нужен  заказчику  

Page 41: Scrum в Заказной разработке

Цель – максимальная ценность бизнесу заказчика

Page 42: Scrum в Заказной разработке

Партнерство

•  Общие цели •  Взаимная поддержка

Page 43: Scrum в Заказной разработке

Стратегия Win/Win

•  Прекраснодушие или разумная бизнес стратегия?

Page 44: Scrum в Заказной разработке

Заказчики

•  Карьеристы •  Жучилы •  Пофигисты •  Занятые

Page 45: Scrum в Заказной разработке

Воркшоп или как собрать требования за 5 дней

Page 46: Scrum в Заказной разработке

Воркшоп

•  Длительное (от нескольких часов до нескольких дней) мероприятие

•  С заказчиком, заинтересованными лицами, конечными пользователями

•  Альтернатива долгим письменным согласованиям

Page 47: Scrum в Заказной разработке

Концепция проекта

Page 48: Scrum в Заказной разработке

Концепция проекта aka Project Charter, паспорт проекта, план управления проектом и т.д.

(короткий документ) •  Бизнес-цели •  Позиционирование •  Критерии успеха •  Правила взаимодействия •  Заинтересованные лица и участники

Page 49: Scrum в Заказной разработке

Персоны

Page 50: Scrum в Заказной разработке

Федя Финдиректор

Проблемы •  Как снизить процент услуг,

оказываемых «налево»? •  Как обеспечить быстрый

доступ руководства к данным по продажам?

•  Как получить консолидированные отчеты прямо в Cognos?

Ценности •  Минимальные затраты $

на внедрение •  Отсутствие необходимости

проводить тренинг, чтобы не останавливать работу

Тип:  Заказчик  

  CFO    Возраст:  30  лет    Использует:  офисные  приложения,  Cognos    Пользователь  Win7  на  корпоративном  ноутбуке  

Page 51: Scrum в Заказной разработке

Story Mapping

Page 52: Scrum в Заказной разработке

Воркшоп по созданию баклога

Активность  

Действие  

Дополнения  

Page 53: Scrum в Заказной разработке

Innovation Games

Page 54: Scrum в Заказной разработке

Менеджер проекта в

Scrum

•  Учитель, а не менеджер •  Исповедует философию

компании •  Ориентирован на

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

команды •  Умеет организовать работу

заказчика •  Разбирается в процессе

Page 55: Scrum в Заказной разработке

Вопросы ?

Page 56: Scrum в Заказной разработке

Асхат Уразбаев

•  [email protected] •  Twitter: zibsun •  Skype: askhatu •  ЖЖ: zibsun.livejournal.com