33
Пользовательские истории в Agile-проектах Школа управления продуктами

Денис Тучин - Пользовательские истории в Agile-проектах

Embed Size (px)

Citation preview

Page 1: Денис Тучин - Пользовательские истории в Agile-проектах

Пользовательские истории в Agile-проектах

Школа управления продуктами

Page 2: Денис Тучин - Пользовательские истории в Agile-проектах

О себе

В прошлом• С 2004 коммерческая разработка ПО

• С 2011 Руководство проектами разработки ПО

• С 2011 Scrum Mastering

• 2014–2016 Agile Coach в ScrumTrek

Сейчас• Руководство проектами (Artezio)

• Трансформация проектов и команд и внедрение Agile

• Процессный аудит

• Тренинги (Agile, Scrum, Kanban, XP)

Page 3: Денис Тучин - Пользовательские истории в Agile-проектах

Агенда

Page 4: Денис Тучин - Пользовательские истории в Agile-проектах

Тайминг

• Презентация – 30-40 минут

• Вопросы – 15-20 минут

Page 5: Денис Тучин - Пользовательские истории в Agile-проектах

Agile манифест

http://agilemanifesto.org/iso/ru/

Работающий продуктважнее

исчерпывающей документации

Сотрудничество с заказчиком

важнее согласования

условий контракта

Готовность к изменениям

важнее следования

первоначальному плану

Page 6: Денис Тучин - Пользовательские истории в Agile-проектах

Проблемы при работе с требованиями

Page 7: Денис Тучин - Пользовательские истории в Agile-проектах

Проблемы при работе с требованиями

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

• Заказчик не знает, что хочет пока не

увидит

• Заказчик «не это имел в виду»

• Меняются приоритеты

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

работать с большими

спецификациями

Page 8: Денис Тучин - Пользовательские истории в Agile-проектах
Page 9: Денис Тучин - Пользовательские истории в Agile-проектах

Определение

Пользовательские истории (User Story) —

способ описания требований к

разрабатываемой системе,

сформулированных как одно или более

предложений на повседневном или

деловом языке пользователя.

Page 10: Денис Тучин - Пользовательские истории в Agile-проектах

Feature vs User Story

• 1. Как менеджер, я могу использовать отчет «утилизация персонала»

• 2. Как менеджер, я могу видеть загрузку своих подчиненных

В чём разница?

Page 11: Денис Тучин - Пользовательские истории в Agile-проектах

F-16

Page 12: Денис Тучин - Пользовательские истории в Agile-проектах

Истребитель F-16

• Первоначальные требования к разработке – скорость 2-2.5 M

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

Page 13: Денис Тучин - Пользовательские истории в Agile-проектах

Истребитель F-16

• Harry Hillaker:– Почему так важно это требование скорости?– Истребитель должен смотаться, если станет действительно жарко

• Hillaker предложил и создал истребитель, превосходящий другие по маневренности

• Прошло более 30 лет, а эти истребители все еще производят. 4400 самолетов продано в 25 стран мира

Page 14: Денис Тучин - Пользовательские истории в Agile-проектах

Feature vs User Story

• Как менеджер , я могу использовать отчет «утилизация персонала»– Feature.

Предлагается готовое решение задачи пользователя

– Описывает реализацию

• Как менеджер, я могу видеть загрузку своих подчиненных, чтобы грамотно распределять задачи.– User Story.

Не предписывает конкретных вариантов достижения цели.

– Описывает кейс пользователя

Page 15: Денис Тучин - Пользовательские истории в Agile-проектах

Шаблон пользовательских историй

A team at Connextra developed the traditional user-story template in 2001:

"As a <role>, I want <goal/desire> so that <benefit>"

Mike Cohn, a well-known author on user stories, regards the "so that" clause as optional:

"As a <role>, I want <goal/desire>"

Chris Matts suggested that "hunting the value" was the first step in successfully delivering software, and proposed this alternative as part of Feature Injection:

"In order to <receive benefit> as a <role>, I want <goal/desire>"

Another template based on the Five Ws specifies:

"As <who> <when> <where>, I <what> because <why>."

A template developed at Capital One in 2004 during their initial adoption of Agile methods focuses on the functionality and specifies:

"As a <role>, I can <action with system> so that <external benefit>"

Page 16: Денис Тучин - Пользовательские истории в Agile-проектах

Шаблон пользовательских историй

• Я, как <роль>, могу <цель> для того, чтобы <Причина/результат>

• As a <role>, I want <goal/desire> so that <benefit>

Page 17: Денис Тучин - Пользовательские истории в Agile-проектах

Преимущества User story

Page 18: Денис Тучин - Пользовательские истории в Agile-проектах

Преимущества User story

1. Быстрый способ писать требования клиента, без необходимости разрабатывать большие формализованные документы

2. Выше вероятность разработать то, что нужнопользователю (заказчику)

3. Возможность предложить заказчику более простой и дешёвый вариант реализации, что повышает доверие

4. Возможность выбрать вариант реализации требующий минимальных изменений архитектуры

Page 19: Денис Тучин - Пользовательские истории в Agile-проектах

User storyПриёмка

• Приёмка осуществляется не по User Story, а согласно приёмочной процедуре:

– Критерии приёмки (Acceptance Criterias)

– Приёмочные тесты (Acceptance Tests)

Page 20: Денис Тучин - Пользовательские истории в Agile-проектах

Критерии приёмки

• Считывать показатели счетчика Декаватт каждые 10 сек. и показывать на портале в виде 15-минутных инкрементов

• Считывать показатели в Киловаттах, как только появляются новые данные и показывать на портале каждый час

• Пока никакого многодневного трендинга (попадет в другую стори)

Page 21: Денис Тучин - Пользовательские истории в Agile-проектах

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

1. Инкремент декаватта, произошедший ранее, чем 15 минут, назад и позднее, чем 30 минут назад, будет отображён в последней записи на портале

2. Новые записи на портале не должны появляться чаще, чем 1 раз в 15 минут

3. …

Page 22: Денис Тучин - Пользовательские истории в Agile-проектах

Приёмочные тесты в виде спецификации на примерах(Spec By Example)

Page 23: Денис Тучин - Пользовательские истории в Agile-проектах

Приёмочные тесты в виде спецификации на примерах(Spec By Example)

Тип аккаунта В корзине Доставка

VIP 1 книга Бесплатно

VIP 10 книг Бесплатно

VIP 11 книг Стандартная

Обычный 10 книг Стандартная

VIP5 стиральныхмашин

Стандартная

VIP1 стиральная машина и 5 книг

Стандартная

Page 24: Денис Тучин - Пользовательские истории в Agile-проектах

Критерий готовности к разработке (Definition of Ready)

Пример:

• Имеет приоритет

• Имеются приемочные тесты

• Есть предварительная оценка командой разработки и она не больше 13 очков историй (Story Points)

Page 25: Денис Тучин - Пользовательские истории в Agile-проектах

Критерий готовности к поставке (Definition of Done)

Page 26: Денис Тучин - Пользовательские истории в Agile-проектах

Критерий готовности к поставке (Definition of Done)

Пример:

• Пройдены приемочные тесты

• Проходят интеграционные тесты всего проекта

• Проходят модульные тесты всего проекта

• Все задачи сделаны

• Имеется запись ChangeLog

Page 27: Денис Тучин - Пользовательские истории в Agile-проектах

Scrum

Беклог продукта Беклог спринта

Скрам-митинг15 минут

Готовый продукт с новой

функциональностью

Владелецпродукта

Владелецпродукта

8 часов

Спринт1-4 недели

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

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

Планированиеспринта

Скрам-мастер

Команда разработки7±2 человек

Page 28: Денис Тучин - Пользовательские истории в Agile-проектах

Беклог (Backlog)

Spike 1

Page 29: Денис Тучин - Пользовательские истории в Agile-проектах

INVEST

I Independent Независимая

N Negotiable Обсуждаемая и изменяемая

V Valuable Ценная конечному пользователю

E Estimable Пригодная для оценки

S Small Достаточно маленькая

T Testable С критериями приёмки

Page 30: Денис Тучин - Пользовательские истории в Agile-проектах

Преимущества User story в Методе Канбан (Kanban Method)

1. Быстрый способ писать требования клиента, без необходимости разрабатывать большие формализованные документы

2. Выше вероятность разработать то, что нужно пользователю (заказчику)

3. Возможность предложить заказчику более простой и дешёвый вариант реализации, что повышает доверие

4. Возможность выбрать вариант реализации требующий минимальных изменений архитектуры

5. Возможность снизить неравномерность за счёт декомпозиции (в т.ч. использования INVEST)

Page 31: Денис Тучин - Пользовательские истории в Agile-проектах

Что почитать?

Майк Кон «Пользовательские истории. Гибкая разработка программного обеспечения Бестселлер»

(Mike Cohn “User Stories Applied: For Agile Software Development”)

Кен Швабер и Джефф СазерлендСкрам Гайд

Page 32: Денис Тучин - Пользовательские истории в Agile-проектах

Что почитать?

Specification By Example:

• Specification By Example – BDD для прагматиков

• Spec By Example на примере одного требования

• Gojko Adzic “Specification by Example”

Page 33: Денис Тучин - Пользовательские истории в Agile-проектах

Денис Тучин

• Внедрение Agile

• Процессный аудит

• Тренинги (Agile, Scrum, Kanban, XP)

[email protected]

facebook.com/denis.tuchin

linkedin.com/in/denistuchin

Вопросы