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

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

Upload: askhat-urazbaev

Post on 14-Nov-2014

3.752 views

Category:

Technology


1 download

DESCRIPTION

презентация доклада на Expert Labs в Омске 22 октября 2010

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