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

Preview:

Citation preview

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

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

О себе

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

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

• С 2011 Scrum Mastering

• 2014–2016 Agile Coach в ScrumTrek

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

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

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

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

Агенда

Тайминг

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

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

Agile манифест

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

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

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

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

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

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

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

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

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

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

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

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

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

увидит

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

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

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

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

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

Определение

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

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

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

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

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

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

Feature vs User Story

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

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

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

F-16

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

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

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

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

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

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

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

Feature vs User Story

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

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

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

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

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

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

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

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>"

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

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

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

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

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

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

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

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

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

User storyПриёмка

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

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

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

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

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

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

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

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

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

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

3. …

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

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

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

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

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

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

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

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

Стандартная

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

Стандартная

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

Пример:

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

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

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

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

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

Пример:

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

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

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

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

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

Scrum

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

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

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

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

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

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

8 часов

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

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

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

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

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

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

Беклог (Backlog)

Spike 1

INVEST

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specification By Example:

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

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

• Gojko Adzic “Specification by Example”

Денис Тучин

• Внедрение Agile

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

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

denistuchin@gmail.com

facebook.com/denis.tuchin

linkedin.com/in/denistuchin

Вопросы

Recommended