основы agile

78
Основы Agile Борис Вольфсон HeadHunter

Upload: meyouslide

Post on 09-Aug-2015

113 views

Category:

Documents


5 download

TRANSCRIPT

Основы AgileБорис Вольфсон

HeadHunter

Поднимите руки, те кто использует Agile более полугода

Данный доклад предназначен только для новичков, поэтому все, кто уже

работает по Agile идите слушать Shannon Ewan

CTO HeadHunter

Вольфсон Борис

Автор книги «Гибкое управление проектами и

продуктами»

Спикер и тренер

История программирования

Если программирование - это индустрия, то почему бы не использовать методы

управления из других областей?

Водопадная модель

http://www.serena.com/docs/agile/papers/Managing-The-Development-of-Large-Software-Systems.pdf

Кто-то использует тяжеловесные методологии?

Это в западных странах, а у нас

Россия

•Отсутствие процессов

Запад

•Тяжеловесные процессы

Кто-то работает без методологии?

Зачем нужен Agile?

Agile-манифест разработки программного обеспечения

Мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь разработкой непосредственно и помогая в этом другим. Благодаря проделанной работе мы смогли осознать, что:

Люди и взаимодействие важнее процессов и инструментовРаботающий продукт важнее исчерпывающей документацииСотрудничество с заказчиком важнее согласования условий контрактаГотовность к изменениям важнее следования первоначальному плану

То есть, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.

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

Ценности AgileМы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь разработкой непосредственно и помогая в этом другим. Благодаря проделанной работе мы смогли осознать, что:

Люди и взаимодействие важнее процессов и инструментовРаботающий продукт важнее исчерпывающей документацииСотрудничество с заказчиком важнее согласования условий контрактаГотовность к изменениям важнее следования первоначальному плану

То есть, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.

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

Принципы Agile1. Наивысшим приоритетом для нас является удовлетворение потребностей

заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.

2. Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.

3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.

4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.

5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.

6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.

Принципы Agile7. Работающий продукт — основной показатель прогресса.

8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.

9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.

10.Простота — искусство минимизации лишней работы — крайне необходима.

11.Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.

12.Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.

Что такое Agile

Agile – подходы к созданию продуктов, путем непрерывной быстрой поставки ценного рабочего функционала самоорганизованной командой профессионалов в сотрудничестве с заказчиком

© Борис Вольфсон

Принципы, ценности, практики

http://www.slideshare.net/TechWellPresentations/to-presentation-30268801

Ценности

Принципы

Практики

Гибкие практики

http://www.versionone.com/pdf/2013-state-of-agile-survey.pdf

Итеративность

Водопадные

Итеративные

А А

В В

Высокая турбулентность

Водопадные

Итеративные

А А

В В

C C

Итеративно, но неинкрементально

http://jpattonassociates.com/dont_know_what_i_want/

Итеративно и инкрементально

http://jpattonassociates.com/dont_know_what_i_want/

Треугольник ограниченийВодопад Agile

Содержание Ресурсы Время

Ресурсы Время

Зафиксировано

Планируется Содержание

Agile треугольникЦенность

Качество Ограничения

http://theagileexecutive.com/2010/07/22/the-devops-triangle/

http://www.brighthubpm.com/agile/50212-the-agile-triangle-value-quality-and-constraints/

Меняется определение

успешности проекта

Что такое Agile с точки зрения процессов

Agile – семейство методологий программного обеспечения, которые соответствуют ценностям и принципам Agile-манифеста

© Борис Вольфсон

Гибкие методологии

http://www.versionone.com/pdf/2013-state-of-agile-survey.pdf

Scrum

Кто-то работает по Scrum?

Хиротака Такэути и Икудзиро Нонака

The New New Product Development Game

Что значит Scrum?

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

Scrum в двух словах

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

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

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

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

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

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

8 часов

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

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

Обзор спринта

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

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

Команда7±2 человек

Определение

Фреймворк, в рамках которого возможно решать сложные адаптивные проблемы и в то же время продуктивно и креативно разрабатывать продукты наивысшего качества.

Элементы ScrumРоли

• Владелец продукта• Скрам-

мастер• Команда

разработки• Команда

Артефакты

• Бэклог продукта• Бэклог

спринта• Инкремент

продукта

Процессы

• Планирование спринта• Обзор

спринта• Ретроспект

ива• Скрам-

митинг• Спринт

Роли• Скрам Команда состоит из Владельца Продукта, Команды

Разработки и Скрам Мастера. Скрам Команды являются самоорганизующимися и кросс-функциональными

Скрам Команда

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

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

• Команда Разработки состоит из профессионалов, выполняющих работу по разработке потенциально “Готового” к выпуску Инкремента продукта каждый Спринт

Команда Разработки

• Скрам Мастер отвечает за то, чтобы Скрам был понят всеми участниками и работал.Скрам Мастер

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

течение которого создается потенциально готовыйp к выпуску и использованию Инкремент продукта.

Спринт

• Работа на предстоящий Спринт планируется во время Планирования Спринта. План действий создается при совместной работе всей Скрам Команды.

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

• Ежедневные Скрамы –это 15-минутные мероприятия для Команды Разработки с целью синхронизации действий и создания плана работы на ближайшие 24 часа.

Ежедневный Скрам

• Встреча по Обзору Спринта проводится в конце Спринта для инспекции Инкремента и при необходимости адаптации Беклога Продукта. Во время Обзора Спринта Скрам Команда и заинтересованные лица обсуждают выполненную во время Спринта работу

Обзор Спринта

• Ретроспектива Спринта дает Скрам Команде возможность инспектировать себя и создать план улучшений для следующего Спринта.

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

Артефакты

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

Беклог Продукта

• Набор Элементов Беклога Продукта, выбранных для выполнения в текущем Спринте, а также план разработки Инкремента продукта

Беклог Спринта

• Сумма всех выполненных требований Беклога Продукта, реализованных во время текущего Спринта, и ценности всех предыдущих СпринтовИнкремент

Про Scrum

Оценка проекта

Шкала оценок0 0,5 1 2 3 5 8 13 20 40 100

Покер-планирование

1453Пользователь вводит логин и пароль для того, чтобы авторизоваться на сайте

1453Пользователь вводит логин и пароль для того, чтобы авторизоваться на сайте

Ла-ла-ла ла-ла ла-ла-ла-ла

Ла-ла-ла ла-ла ла-ла-ла-ла

1453Пользователь вводит логин и пароль для того, чтобы авторизоваться на сайте

1453Пользователь вводит логин и пароль для того, чтобы авторизоваться на сайте

1453Пользователь вводит логин и пароль для того, чтобы авторизоваться на сайте

Оценка: 3

Отбор задач на спринт на основе скорости

1 2 3 4 5 6 7 836

37

38

39

40

41

42

43

44

45

46

СкоростьСредняя скорость

Спринты

Сто

рипоинты

Отбор задач на спринт на основе скорости

А

B

C

D

F

G

H

I

J

Важность

А

B

C

D

F

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

Скор

ость

ком

анды

Диаграмма сгорания

1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35

40

45

50

0

2

4

6

8

10

12Диаграмма сгорания в конце спринта

Сторипоинты Идеал Истории пользователя

Дни

Сто

рипоинты

Ист

ории п

ольз

ова

телей

Диаграмма сгорания с отставанием

1 2 3 4 50

5

10

15

20

25

30

35

40

45

50Диаграмма сгорания с отставанием

Сторипоинты Идеал

Дни

Сто

рипоинты

Диаграмма сгорания с опережением

1 2 3 4 50

5

10

15

20

25

30

35

40

45

50Диаграмма сгорания с опережением

Сторипоинты Идеал

Дни

Сто

рипоинты

Доска задачПлан Аналитика Разработка Тестирование Готово

A

B

C

D

E

Важ

ност

ь

Обзор спринта

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

КомандаКоманда

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

Разрабатывает

Инкремент продукта

РетроспективаНе хочешь пропустить со мной по пиву?

Не могу, я делаю список, в чем я могу усовершенствовать себя в следующем году

Не-плохая идея, сделаю тоже самое

Ничего.Совершенство

достигнуто

Мда, вот это конструк-тивность.

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

«Совершенствоваться не обязательно. Выживание – дело

добровольное» Э. Деминг

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

Открытие – 5%

Сбор данных – 30%-50%

Проникновение в суть – 20%-30%

Принятие решение – 10%

Закрытие – 5%-10%

Цикл Деминга-Шухарта

Plan

Do

Check

Act

Канбан

Кто-то работает, использую Kanban?

Девять ценностей

прозрачность

баланс

уважение

согласие

понимание

сотрудничество

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

клиента

инициатива

Принципы

1. Начать с того, что делаем сейчас

2. Придти к соглашению идти путём эволюционных перемен

3. Изначально уважать существующие роли, должности и обязанности

4. Поощрять инициативные действия на всех уровнях организации

Практики

Визуализация

Ограничение работы в процессе

Управление потоком

Явные правила

Обратные связи

Улучшения с помощью экспериментов, используя модели и научный подход

ВизуализацияПлан5

Аналитика3

Разработка4

Тестирование4

Готово

A

B

C

D

E

F

G

H

I

J

K

M

N

O

P

Q

Визуализация

Диаграмма кумулятивного поток

http://paulklipp.com/blog/

Scrumban

Scrum

•Роли•Артефакты•Процессы•Псевдоитерации

Kanban

•WIP•Уменьшение Lead Time

Алтернативный путь к гибкости

Материалы