SlideShare a Scribd company logo
Теория и практика методологии
      разработки Scrum

    Владислав Богатырёв
Разработка продукта это не только код

ТЗ на функционал и информационная архитектура
что сделать

Экранные формы
как выглядит
                                      Начало
Информационная структура
                                      проекта
как организовано внутри

Поверхностное проектирование

Ньюансы
аудитория, бизнес-процессы, наследование старых
технологий/контента, etc

Стоимость и сроки
Разработка продукта это не только код

  Проектирование
  Собственно, разработка
  Документация
  Дизайн
                                      Середина
  Верстка
  Тестирование
                                      проекта
  Промежуточный контроль результата
Разработка продукта это не только код.

  Приемка и доводка
  Внедрение              Конец
  Инструкции
  Поддержка              проекта
Этапы разработки
Большие и средние проекты это вам не
малые
Малые                                         Средние и большие
                                                 Заказчик это организация. Решения принимает
  Заказчик это человек
                                                 комитет (долго и мучительно) или вечно занятый биг
  Над проектом работает обычно 1-2
                                                 босс.
  программиста, одинаковое понимание
                                                 Могут возникать проблемы с тем, что контактное лицо не
  системы достигается легко, устно.
                                                 имеет полномочий или не хочет брать ответсвенность, а
  Техзадание делается быстро
                                                 биг босс недоступен.
  Многие стадии пропускаются или не
                                                 Большой объем предварительной работы по описанию
  осознаются
                                                 системы, много коммуникации с заказчиком. Создание
  Стадии легкие и быстрые,
                                                 ТЗ может тянуться месяцами.
  последовательность не критична
                                                 Неправильная последовательность стадий или
  Если что то забыли, можно быстро сделать
                                                 пропущенные/забытые стадии блокируют другие на
  Изменения в ТЗ и переделки дешевы
                                                 недели и месяцы, затягивается весь проект
  Ошибки архитектуры незаметны или
                                                 Изменения в ТЗ дороги, поиск компромисса тяжелый
  дешевы
                                                 Архитектурные ошибки могут быть фатальны
  Обычно затягивание сроков не так критично
                                                 Затягивание сроков чревато потерями прибыли для
  для заказчика и разработчика
                                                 заказчика/гневом начальства, а для разработчика
  Внедрение простое, часто делается
                                                 голодной смертью
  заказчиком.
                                                 Над проектом работает команда, которой нужно единое
  Приемка делается быстро
                                                 понимание системы
  Практически любые проблемы могут быть
                                                 Сверхурочная работа не помогает
  компенсированы сверхурочной работой.
                                                 Риск для вашей репутации и кошелька, ценность
  Не получилось, ну и ладно.
                                                 заказчика.
  От 1й встречи до оплаты недели/пара
                                                 От 1й встречи до оплаты месяцы
  месяцев
Homo Заказчикус

 Не знает точно чего хочет и как оно должно выглядеть
 У него нет времени описывать будущую систему
 Постоянно меняет требования
 Обычно половину требований держит в тайне, чтобы потом
 предъявить их на этапе сдачи
 Хочет заранее знать сколько это стоит и сколько займет
 времени
 Хочет платить за готовый результат
Методология разработки "Водопад"


В классическом водопаде, следующие фазы идут примерно в таком
порядке:
 1.   Определение требований
 2.   Проектирование
 3.   Реализация
 4.   Интеграция
 5.   Тестирование и отладка (также «верификация»)
 6.   Инсталляция
 7.   Поддержка
Методология разработки "Водопад": есть
недостатки
  Долго - пока не сформулированы все требования, а система
  не спроектирована, работа не ведется.
  Нельзя менять требования. (заказчик их все равно вынужден
  менять и меняет, вероятность чего прямопропорциональна
  длительности проекта)
  Длительный и бюрократизированный подготовительный этап
  (отдельно его заказчик не хочет оплачивать, не всегда проект
  начинается, по крайней мере, с вами)
  И заказчик, и разработчик заложники собственных планов.
  Менять планы трудоемко.
  ...

Не решает проблем больших и средних проектов
Методология разработки "Scrum"
Итеративная и гибкая(agile) методология разработки.

Scrum — это набор принципов, на которых строится процесс
разработки, позволяющий в жёстко фиксированные небольшие
промежутки времени (спринты от 2 до 4 недель) предоставлять
конечному пользователю работающее ПО с новыми возможностями,
для которых определён наибольший приоритет.
Методология разработки "Scrum"
Использует артефакты:
Pruduct Backlog - содержит функциональные блоки(истории) для
реализации в проекте с приоритетами. Формируется всеми
участниками процесса. Приоритеты ставит заказчик.

Sprint Backlog - содержит уточненные задачи к реализации в
итерации (спринте), определяются заказчиком и командой.

Burndown Chart - индикатор прогресса, вместо диаграмм Ганнта
Методология разработки "Scrum"
История - задача на создание функционально завершенного, несущего пользу,
компонета системы или фичи. Содержит минимально необходимые для успешной
сдачи описание и "how to demo", и приблизительную оценку трудоемкости.

Приоритет историй определяет заказчик, принимая во внимание приблизительную
оценку команды трудоемкости

Спринт - итеративный, фиксированный период работы команды (2 - 4 недели) по
реализации взятых в работу историй. В период спринта, ТЗ на взятые в работу
истории замораживается. Спринт завершается внедрением реализованной истории в
текущую сборку системы.

Команда сама определяет, когда готова к следующему спринту

Команда сама определяет истории, которые готова взять в работу, руководствуясь
приоритетом.

Заказчик уточняет желаемый результат по заявленным к реализации историям,
формируя sprint backlog

Вместо PM Scrum-мастер. Следит за соблюдением методологии, но не управляет
вручную командой. Команда управляет собой сама
Методология разработки "Scrum": Решает
проблемы больших и средних проектов
  Быстрый старт.
  Поскольку разработка итеративна, перед каждой итерацией создается только
  необходимый набор документации.
  Поскольку разработка итеративна, а итерации коротки, заказчик может менять
  функциональные требования к еще не реализованным историям.
  Поскольку Product Backlog формируется динамически, заказчик может
  добавлять истории по изменению реализованного функционала.
  Поставка готового продукта происходит часто, что быстро выявляет проблемы
  и минимизирует риски.
  Частые итерации позволяют отказаться от ресурсоемких и сковывающих
  календарных планов
  Коммуникация с заказчиком более частая, более короткая, более
  продуктивная. Всегда обсуждается то, что существенно в данный момент.
  Любые ошибки и срывы сроков локальны и поэтому обходятся на порядок
  дешевле и менее критичны. Могут быть исправлены сверхурочной работой.
  Частые поставки снижают риск срыва проекта на порядок.
  Заказчик совершает оплаты часто
О чем молчит "Scrum"

  Как получить Product Backlog с историями, которые пойдут в
  работу
  Когда проектировать
  Не говорит о обеспечении разработчиков всем необходимым
  для спринта: достаточно точным ТЗ и дизайном
  Когда делать приблизительные оценки историй
  Что делать с ошибками
  А как же поддержка внедренного функционала
О чем молчит "Scrum": нулевая
итерация и трек проектирования
О чем молчит "Scrum": нулевая итерация

Проектировщикам
   Необходима для создания
   приблизительной, высокоуровневой картины будущей
   системы с точки зрения пользователя
   Необходимо определить последовательность реализации
   историй на несколько историй вперед.

Разработчикам
   Необходима для минимально достаточного проектирования,
   нужного для определения и оценки историй.
   Прежде чем взять в работу 1ю историю, необходымы знания о
   "стыковке" историй между собой
О чем молчит "Scrum": параллельный трек
проектирования
Идет впереди трека разработки хотя бы на одну итерацию

Высокая нагрузка на команду проектировщиков:
   много взаимодействия с заказчиком,
   консультации разработчиков по их текущей итерации
   тестирование результата разработчиков по прошлой итерации
   и его сдача заказчику
   создание ТЗ, use case, прототипов и дизайна, etc для
   следующей итерации разработчиков

Высокая нагрузка определяет необходимости:
   делегирования проектирования реализации разработчикам.
   быстрого прототипирования
Scrum good practicies

Проектировщикам:

Детализируйте прототипы итеративно, по мере назревающей
необходимости и доступных ресурсов. Если времени нет/мало,
лучше вначале решать задачи, блокирующие разработку.

Когда нет времени, прототипируйте на бумаге. Делайте быстрее и
проще, все что можете, без излишней детализации.

Используйте прототипы в качестве ТЗ, всегда, когда это
возможно.
Scrum good practicies

Разработчикам:
Управляйте конфигурацией и качеством поставок в угоду срокам.
Лучше не сделать фичи или сделать наполовину, или по
простому, чем сорвать дату поставки.
Неэффективный/некрасивый код/архитектуру можно рефакторить
в следующей итерации, если это оправдано.

Используйте магию проектирования гибких систем, дабы их
развитие не определялось их архитектурой. Откладывайте
реализацию определяющих архитектурное развитие компонент,
на сколько возможно. Уделяйте максимум внимания при
разработке фундаментальных компонент, которые не
поддадутся изменениям в будущем.
Резюме

Большие и средние проекты это вам не маленькие

Осознанно и правильно выбранная методология разработки это
необходимое условие успеха проекта

Scrum это гибкость и скорость

В эффективном Scrum, параллельно разработке существует трек
проектировщиков, идущий на опережение разработчиков на
несколько итераций.

В Scrum и разработчикам, и проектировщикам, и заказчику нужна
нулевая итерация.

Практикуйте хорошую практику: правильные шаги в правильной
последовательностью с правильной детализацией.
Теория и практика методологии
      разработки Scrum

    Владислав Богатырёв

More Related Content

What's hot

Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовrit2010
 
Пара слов о рисках
Пара слов о рискахПара слов о рисках
Пара слов о рисках
Mikhail Payson
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольным
Vladimir Zavertaylov
 
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileКонстантин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
ScrumTrek
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
CUSTIS
 
Дмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкойДмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкой
ScrumTrek
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
CUSTIS
 
Agile testing
Agile testingAgile testing
Agile testing
SPB SQA Group
 
Собираем кубик Рубика
Собираем кубик РубикаСобираем кубик Рубика
Собираем кубик Рубика
CEE-SEC(R)
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
Pavel Veinik
 
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-showStas Fomin
 
User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...
User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...
User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...
Yury Vetrov
 
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
ScrumTrek
 
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
SQALab
 
Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1
Dima Dzuba
 
Александр Андронов, Engineering Assessment
Александр Андронов, Engineering AssessmentАлександр Андронов, Engineering Assessment
Александр Андронов, Engineering Assessment
ScrumTrek
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01
Dima Dzuba
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Alexander Gornik
 
Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellence
Pavel Veinik
 

What's hot (20)

Andrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсовAndrey Petrov методология P D P, часть 1, цели вместо кейсов
Andrey Petrov методология P D P, часть 1, цели вместо кейсов
 
Пара слов о рисках
Пара слов о рискахПара слов о рисках
Пара слов о рисках
 
Киев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольнымКиев. Как внедрить SCRUM без трупов и остаться довольным
Киев. Как внедрить SCRUM без трупов и остаться довольным
 
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по AgileКонстантин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
Константин Бажин, ТОП 10 не могу или что нужно сделать, чтобы жить по Agile
 
Agile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектахAgile и управление знаниями в ИТ-проектах
Agile и управление знаниями в ИТ-проектах
 
Дмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкойДмитрий Грибов, Трава и грибы как средства управления разработкой
Дмитрий Грибов, Трава и грибы как средства управления разработкой
 
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделятьОтветственность за качество в разных ИТ-проектах: в чем она и как ее разделять
Ответственность за качество в разных ИТ-проектах: в чем она и как ее разделять
 
Agile testing
Agile testingAgile testing
Agile testing
 
Собираем кубик Рубика
Собираем кубик РубикаСобираем кубик Рубика
Собираем кубик Рубика
 
Software craftsmanship 8
Software craftsmanship 8Software craftsmanship 8
Software craftsmanship 8
 
2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show2008-04-15-scrum-from-custis-show
2008-04-15-scrum-from-custis-show
 
User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...
User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...
User Experience / UPA Europe 2009: Когда проектирование заказывать не нужно. ...
 
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
Максим Цепков, Agile - то что на самом деле нужно гос.заказчикам!
 
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
Управление проектами по разработке в стиле Agile или Waterfall, чья доска круче?
 
Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1Проектирование программных систем. Занятие 1
Проектирование программных систем. Занятие 1
 
Александр Андронов, Engineering Assessment
Александр Андронов, Engineering AssessmentАлександр Андронов, Engineering Assessment
Александр Андронов, Engineering Assessment
 
Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01Проектирование Программных Систем. Лекция 01
Проектирование Программных Систем. Лекция 01
 
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
Когда проектов больше чем людей - процесс разработки в маленькой, но амбициоз...
 
Software craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellenceSoftware craftsmanship meetup 22. engineering excellence
Software craftsmanship meetup 22. engineering excellence
 
2013 — nsk. тос
2013 — nsk. тос2013 — nsk. тос
2013 — nsk. тос
 

Similar to Scrum practic

Особенности параллельного тестирования нескольких проектов
Особенности параллельного тестирования нескольких проектов Особенности параллельного тестирования нескольких проектов
Особенности параллельного тестирования нескольких проектов
QA Dnepropetrovsk Community (Ukraine)
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
Alexey Krivitsky
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. Управляй
Max Babich
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Badoo Development
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Danil Dintsis, Ph. D., PgMP
 
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять AgileПример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять AgileAlexey Krivitsky
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Denis Petelin
 
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Maxim Tsepkov
 
Ad 2009 - agile в кризис
Ad 2009 - agile в кризисAd 2009 - agile в кризис
Ad 2009 - agile в кризис
Alexey Korsun
 
Agile на Смертельном Марше
Agile на Смертельном МаршеAgile на Смертельном Марше
Agile на Смертельном МаршеNikita Filippov
 
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN Digital Studio
 
Опыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиОпыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурами
ПрофсоUX
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
CUSTIS
 
Practice of enterprice development ProfsoUX-2017
Practice of enterprice development  ProfsoUX-2017Practice of enterprice development  ProfsoUX-2017
Practice of enterprice development ProfsoUX-2017
Maxim Tsepkov
 
Course User interface — Lesson 11
Course User interface — Lesson 11Course User interface — Lesson 11
Course User interface — Lesson 11
Oleksandr Lisovskyi
 
Завершение проектов
Завершение проектовЗавершение проектов
Завершение проектов
Timofei Tatarinov
 
О разработке сайтов в целом
О разработке сайтов в целомО разработке сайтов в целом
О разработке сайтов в целомUplab_University
 

Similar to Scrum practic (20)

CCPM DBR Vebinar 28 01 2010
CCPM DBR Vebinar 28 01 2010CCPM DBR Vebinar 28 01 2010
CCPM DBR Vebinar 28 01 2010
 
Особенности параллельного тестирования нескольких проектов
Особенности параллельного тестирования нескольких проектов Особенности параллельного тестирования нескольких проектов
Особенности параллельного тестирования нескольких проектов
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Наблюдай. Анализируй. Управляй
Наблюдай. Анализируй. УправляйНаблюдай. Анализируй. Управляй
Наблюдай. Анализируй. Управляй
 
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ruTechLeads meetup: Андрей Шелёхин, Tinkoff.ru
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
 
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектахКак совместить лучшее из водопадных и аджайл подходов в ИТ проектах
Как совместить лучшее из водопадных и аджайл подходов в ИТ проектах
 
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять AgileПример внедрения Agile в крупном проекте. Как не следует внедрять Agile
Пример внедрения Agile в крупном проекте. Как не следует внедрять Agile
 
Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008Slid 3.0 Scrum для практиков на Vsts2008
Slid 3.0 Scrum для практиков на Vsts2008
 
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
Agile то что на самом деле нужно госзаказчикам - Максим Цепков на AgileDays-2016
 
Ad 2009 - agile в кризис
Ad 2009 - agile в кризисAd 2009 - agile в кризис
Ad 2009 - agile в кризис
 
Agile на Смертельном Марше
Agile на Смертельном МаршеAgile на Смертельном Марше
Agile на Смертельном Марше
 
Scrum framework
Scrum frameworkScrum framework
Scrum framework
 
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
Автоматизация бизнес-процессов, электронного документооборота и архивного хра...
 
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
ADN @ UI/UX Design Meetup Barnaul - «Эволюция процессов проектирования в веб-...
 
Опыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурамиОпыт госпроектов и взаимодействия с корпоративными структурами
Опыт госпроектов и взаимодействия с корпоративными структурами
 
Сотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практикиСотрудничество с корпорациями: рецепты из практики
Сотрудничество с корпорациями: рецепты из практики
 
Practice of enterprice development ProfsoUX-2017
Practice of enterprice development  ProfsoUX-2017Practice of enterprice development  ProfsoUX-2017
Practice of enterprice development ProfsoUX-2017
 
Course User interface — Lesson 11
Course User interface — Lesson 11Course User interface — Lesson 11
Course User interface — Lesson 11
 
Завершение проектов
Завершение проектовЗавершение проектов
Завершение проектов
 
О разработке сайтов в целом
О разработке сайтов в целомО разработке сайтов в целом
О разработке сайтов в целом
 

Scrum practic

  • 1. Теория и практика методологии разработки Scrum Владислав Богатырёв
  • 2. Разработка продукта это не только код ТЗ на функционал и информационная архитектура что сделать Экранные формы как выглядит Начало Информационная структура проекта как организовано внутри Поверхностное проектирование Ньюансы аудитория, бизнес-процессы, наследование старых технологий/контента, etc Стоимость и сроки
  • 3. Разработка продукта это не только код Проектирование Собственно, разработка Документация Дизайн Середина Верстка Тестирование проекта Промежуточный контроль результата
  • 4. Разработка продукта это не только код. Приемка и доводка Внедрение Конец Инструкции Поддержка проекта
  • 6. Большие и средние проекты это вам не малые Малые Средние и большие Заказчик это организация. Решения принимает Заказчик это человек комитет (долго и мучительно) или вечно занятый биг Над проектом работает обычно 1-2 босс. программиста, одинаковое понимание Могут возникать проблемы с тем, что контактное лицо не системы достигается легко, устно. имеет полномочий или не хочет брать ответсвенность, а Техзадание делается быстро биг босс недоступен. Многие стадии пропускаются или не Большой объем предварительной работы по описанию осознаются системы, много коммуникации с заказчиком. Создание Стадии легкие и быстрые, ТЗ может тянуться месяцами. последовательность не критична Неправильная последовательность стадий или Если что то забыли, можно быстро сделать пропущенные/забытые стадии блокируют другие на Изменения в ТЗ и переделки дешевы недели и месяцы, затягивается весь проект Ошибки архитектуры незаметны или Изменения в ТЗ дороги, поиск компромисса тяжелый дешевы Архитектурные ошибки могут быть фатальны Обычно затягивание сроков не так критично Затягивание сроков чревато потерями прибыли для для заказчика и разработчика заказчика/гневом начальства, а для разработчика Внедрение простое, часто делается голодной смертью заказчиком. Над проектом работает команда, которой нужно единое Приемка делается быстро понимание системы Практически любые проблемы могут быть Сверхурочная работа не помогает компенсированы сверхурочной работой. Риск для вашей репутации и кошелька, ценность Не получилось, ну и ладно. заказчика. От 1й встречи до оплаты недели/пара От 1й встречи до оплаты месяцы месяцев
  • 7. Homo Заказчикус Не знает точно чего хочет и как оно должно выглядеть У него нет времени описывать будущую систему Постоянно меняет требования Обычно половину требований держит в тайне, чтобы потом предъявить их на этапе сдачи Хочет заранее знать сколько это стоит и сколько займет времени Хочет платить за готовый результат
  • 8. Методология разработки "Водопад" В классическом водопаде, следующие фазы идут примерно в таком порядке: 1. Определение требований 2. Проектирование 3. Реализация 4. Интеграция 5. Тестирование и отладка (также «верификация») 6. Инсталляция 7. Поддержка
  • 9. Методология разработки "Водопад": есть недостатки Долго - пока не сформулированы все требования, а система не спроектирована, работа не ведется. Нельзя менять требования. (заказчик их все равно вынужден менять и меняет, вероятность чего прямопропорциональна длительности проекта) Длительный и бюрократизированный подготовительный этап (отдельно его заказчик не хочет оплачивать, не всегда проект начинается, по крайней мере, с вами) И заказчик, и разработчик заложники собственных планов. Менять планы трудоемко. ... Не решает проблем больших и средних проектов
  • 10. Методология разработки "Scrum" Итеративная и гибкая(agile) методология разработки. Scrum — это набор принципов, на которых строится процесс разработки, позволяющий в жёстко фиксированные небольшие промежутки времени (спринты от 2 до 4 недель) предоставлять конечному пользователю работающее ПО с новыми возможностями, для которых определён наибольший приоритет.
  • 11. Методология разработки "Scrum" Использует артефакты: Pruduct Backlog - содержит функциональные блоки(истории) для реализации в проекте с приоритетами. Формируется всеми участниками процесса. Приоритеты ставит заказчик. Sprint Backlog - содержит уточненные задачи к реализации в итерации (спринте), определяются заказчиком и командой. Burndown Chart - индикатор прогресса, вместо диаграмм Ганнта
  • 12. Методология разработки "Scrum" История - задача на создание функционально завершенного, несущего пользу, компонета системы или фичи. Содержит минимально необходимые для успешной сдачи описание и "how to demo", и приблизительную оценку трудоемкости. Приоритет историй определяет заказчик, принимая во внимание приблизительную оценку команды трудоемкости Спринт - итеративный, фиксированный период работы команды (2 - 4 недели) по реализации взятых в работу историй. В период спринта, ТЗ на взятые в работу истории замораживается. Спринт завершается внедрением реализованной истории в текущую сборку системы. Команда сама определяет, когда готова к следующему спринту Команда сама определяет истории, которые готова взять в работу, руководствуясь приоритетом. Заказчик уточняет желаемый результат по заявленным к реализации историям, формируя sprint backlog Вместо PM Scrum-мастер. Следит за соблюдением методологии, но не управляет вручную командой. Команда управляет собой сама
  • 13. Методология разработки "Scrum": Решает проблемы больших и средних проектов Быстрый старт. Поскольку разработка итеративна, перед каждой итерацией создается только необходимый набор документации. Поскольку разработка итеративна, а итерации коротки, заказчик может менять функциональные требования к еще не реализованным историям. Поскольку Product Backlog формируется динамически, заказчик может добавлять истории по изменению реализованного функционала. Поставка готового продукта происходит часто, что быстро выявляет проблемы и минимизирует риски. Частые итерации позволяют отказаться от ресурсоемких и сковывающих календарных планов Коммуникация с заказчиком более частая, более короткая, более продуктивная. Всегда обсуждается то, что существенно в данный момент. Любые ошибки и срывы сроков локальны и поэтому обходятся на порядок дешевле и менее критичны. Могут быть исправлены сверхурочной работой. Частые поставки снижают риск срыва проекта на порядок. Заказчик совершает оплаты часто
  • 14. О чем молчит "Scrum" Как получить Product Backlog с историями, которые пойдут в работу Когда проектировать Не говорит о обеспечении разработчиков всем необходимым для спринта: достаточно точным ТЗ и дизайном Когда делать приблизительные оценки историй Что делать с ошибками А как же поддержка внедренного функционала
  • 15. О чем молчит "Scrum": нулевая итерация и трек проектирования
  • 16. О чем молчит "Scrum": нулевая итерация Проектировщикам Необходима для создания приблизительной, высокоуровневой картины будущей системы с точки зрения пользователя Необходимо определить последовательность реализации историй на несколько историй вперед. Разработчикам Необходима для минимально достаточного проектирования, нужного для определения и оценки историй. Прежде чем взять в работу 1ю историю, необходымы знания о "стыковке" историй между собой
  • 17. О чем молчит "Scrum": параллельный трек проектирования Идет впереди трека разработки хотя бы на одну итерацию Высокая нагрузка на команду проектировщиков: много взаимодействия с заказчиком, консультации разработчиков по их текущей итерации тестирование результата разработчиков по прошлой итерации и его сдача заказчику создание ТЗ, use case, прототипов и дизайна, etc для следующей итерации разработчиков Высокая нагрузка определяет необходимости: делегирования проектирования реализации разработчикам. быстрого прототипирования
  • 18. Scrum good practicies Проектировщикам: Детализируйте прототипы итеративно, по мере назревающей необходимости и доступных ресурсов. Если времени нет/мало, лучше вначале решать задачи, блокирующие разработку. Когда нет времени, прототипируйте на бумаге. Делайте быстрее и проще, все что можете, без излишней детализации. Используйте прототипы в качестве ТЗ, всегда, когда это возможно.
  • 19. Scrum good practicies Разработчикам: Управляйте конфигурацией и качеством поставок в угоду срокам. Лучше не сделать фичи или сделать наполовину, или по простому, чем сорвать дату поставки. Неэффективный/некрасивый код/архитектуру можно рефакторить в следующей итерации, если это оправдано. Используйте магию проектирования гибких систем, дабы их развитие не определялось их архитектурой. Откладывайте реализацию определяющих архитектурное развитие компонент, на сколько возможно. Уделяйте максимум внимания при разработке фундаментальных компонент, которые не поддадутся изменениям в будущем.
  • 20. Резюме Большие и средние проекты это вам не маленькие Осознанно и правильно выбранная методология разработки это необходимое условие успеха проекта Scrum это гибкость и скорость В эффективном Scrum, параллельно разработке существует трек проектировщиков, идущий на опережение разработчиков на несколько итераций. В Scrum и разработчикам, и проектировщикам, и заказчику нужна нулевая итерация. Практикуйте хорошую практику: правильные шаги в правильной последовательностью с правильной детализацией.
  • 21. Теория и практика методологии разработки Scrum Владислав Богатырёв