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

вольфсон основы Agile

Embed Size (px)

Citation preview

Page 1: вольфсон   основы Agile

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

Page 2: вольфсон   основы Agile

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

Page 3: вольфсон   основы Agile

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

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

Page 4: вольфсон   основы Agile

CTO HeadHunter

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

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

продуктами»Спикер и тренер

Page 5: вольфсон   основы Agile

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

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

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

Page 6: вольфсон   основы Agile

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

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

Page 7: вольфсон   основы Agile

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

Page 8: вольфсон   основы Agile

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

Page 9: вольфсон   основы Agile

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

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

Page 10: вольфсон   основы Agile

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

Page 11: вольфсон   основы Agile

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

Page 12: вольфсон   основы Agile

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

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

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

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

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

Page 13: вольфсон   основы Agile

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

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

То есть, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.http://www.agilemanifesto.org/iso/ru/

Page 14: вольфсон   основы Agile

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

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

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

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

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

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

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

Page 15: вольфсон   основы Agile

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

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

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

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

рождаются у самоорганизующихся команд. 12.Команда должна систематически анализировать возможные способы

улучшения эффективности и соответственно корректировать стиль своей работы.

Page 16: вольфсон   основы Agile

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

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

Page 17: вольфсон   основы Agile

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

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

Ценности

Принципы

Практики

Page 18: вольфсон   основы Agile

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

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

Page 19: вольфсон   основы Agile

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

Водопадные

Итеративные

А А

В В

Page 20: вольфсон   основы Agile

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

Водопадные

Итеративные

А А

В В

C C

Page 21: вольфсон   основы Agile

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

http://jpattonassociates.com/dont_know_what_i_want/

Page 22: вольфсон   основы Agile

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

http://jpattonassociates.com/dont_know_what_i_want/

Page 23: вольфсон   основы Agile
Page 24: вольфсон   основы Agile

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

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

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

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

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

Page 25: вольфсон   основы Agile

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

Качество Ограниченияhttp://theagileexecutive.com/2010/07/22/the-devops-triangle/ http://www.brighthubpm.com/agile/50212-the-agile-triangle-value-quality-and-constraints/

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

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

Page 26: вольфсон   основы Agile

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

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

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

Page 28: вольфсон   основы Agile

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

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

Page 29: вольфсон   основы Agile

Scrum

Page 30: вольфсон   основы Agile

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

Page 31: вольфсон   основы Agile

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

Page 32: вольфсон   основы Agile

The New New Product Development Game

Page 33: вольфсон   основы Agile

Что значит Scrum?

Page 34: вольфсон   основы Agile

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

Page 35: вольфсон   основы Agile

http://www.scrumguides.org

Page 36: вольфсон   основы Agile

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

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

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

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

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

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

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

8 часов

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

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

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

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

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

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

Page 37: вольфсон   основы Agile

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

Page 38: вольфсон   основы Agile

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

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

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

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

Артефакты• Бэклог

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

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

продукта

Процессы• Планирован

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

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

ива• Скрам-

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

Page 39: вольфсон   основы Agile

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

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

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

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

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

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

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

Page 40: вольфсон   основы Agile

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

течение которого создается потенциально готовый̆ к выпуску и использованию Инкремент продукта. Спринт• Работа на предстоящий Спринт планируется во время Планирования

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

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

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

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

Обзор Спринта• Ретроспектива Спринта дает Скрам Команде возможность инспектировать

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

Спринта

Page 41: вольфсон   основы Agile

Артефакты• Упорядоченный список всего, что может быть нужным в

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

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

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

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

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

Page 42: вольфсон   основы Agile

Про Scrum

Page 43: вольфсон   основы Agile
Page 44: вольфсон   основы Agile

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

Page 45: вольфсон   основы Agile

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

Page 46: вольфсон   основы Agile

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

Page 47: вольфсон   основы Agile

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

Page 48: вольфсон   основы Agile

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

Page 49: вольфсон   основы Agile

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

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

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

Page 50: вольфсон   основы Agile

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

Page 51: вольфсон   основы Agile

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

Оценка: 3

Page 52: вольфсон   основы Agile

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

1 2 3 4 5 6 7 836

37

38

39

40

41

42

43

44

45

46

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

Спринты

Стор

ипои

нты

Page 53: вольфсон   основы Agile

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

А

B

C

D

F

G

H

I

J

Важность

А

B

C

D

F

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

Скор

ость

ком

анды

Page 54: вольфсон   основы Agile

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

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Диаграмма сгорания в конце спринта

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

Стор

ипои

нты

Исто

рии

поль

зова

теле

й

Page 55: вольфсон   основы Agile

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

1 2 3 4 50

5

10

15

20

25

30

35

40

45

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

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

Стор

ипои

нты

Page 56: вольфсон   основы Agile

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

1 2 3 4 50

5

10

15

20

25

30

35

40

45

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

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

Стор

ипои

нты

Page 57: вольфсон   основы Agile

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

A

B

C

D

E

Важ

ност

ь

Page 58: вольфсон   основы Agile

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

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

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

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

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

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

Page 59: вольфсон   основы Agile

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

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

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

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

достигнуто

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

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

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

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

Page 60: вольфсон   основы Agile

РетроспективаОткрытие – 5%

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

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

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

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

Page 61: вольфсон   основы Agile

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

Do

Check

Act

Page 62: вольфсон   основы Agile
Page 63: вольфсон   основы Agile

Канбан

Page 64: вольфсон   основы Agile

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

Page 65: вольфсон   основы Agile

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

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

баланс

уважение

согласие

понимание

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

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

клиента

инициатива

Page 66: вольфсон   основы Agile

Принципы1. Начать с того, что делаем сейчас2. Придти к соглашению идти путём

эволюционных перемен3. Изначально уважать существующие

роли, должности и обязанности4. Поощрять инициативные действия на

всех уровнях организации

Page 67: вольфсон   основы Agile

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

Page 68: вольфсон   основы Agile

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

Аналитика3

Разработка4

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

Готово

A

B

C

D

E

F

G

H

I

J

K

M

N

O

P

Q

Page 69: вольфсон   основы Agile

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

Page 70: вольфсон   основы Agile

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

http://paulklipp.com/blog/

Page 71: вольфсон   основы Agile

ScrumbanScrum

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

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

Page 72: вольфсон   основы Agile

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

Page 73: вольфсон   основы Agile

Материалы

Page 74: вольфсон   основы Agile
Page 78: вольфсон   основы Agile