28
Vietnam Thailand Singapore Philippines Malaysia Indonesia Russia Agile Fundamentals

Agile fundamentals

Embed Size (px)

Citation preview

Page 1: Agile fundamentals

VietnamThailandSingaporePhilippinesMalaysiaIndonesia Russia

Agile Fundamentals

Page 2: Agile fundamentals

Зарождение индустрии разработки ПО

Page 3: Agile fundamentals

Подходы к разработке ПО

Waterfall

Classic Methodology Agile Methodologies

ScrumKanban

XPLean Software Development

Page 4: Agile fundamentals

История

• 1945-1965 — становление индустрии• 1965-1985 — кризис индустрии• 1970 — Waterfall• 1996 — Scrum, итерационная разработка• 1999 — XP – экстремальное программирование• 2001 — Agile Manifesto• 2003 — Lean Software Development• 2006 — Kanban• 2009 — Lean Startup

Page 5: Agile fundamentals

Waterfall

Page 6: Agile fundamentals

Agile Manifesto

Главные ценности Agile:• люди и взаимодействие важнее процессов

и инструментов;• работающий продукт важнее

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

согласования условий контракта;• готовность к изменениям важнее

следования первоначальному плану.

Page 7: Agile fundamentals

Scrum

Page 8: Agile fundamentals

Scrum

1. Product Owner2. Scrum Master3. Scrum Team4. Product Backlog5. Iteration Backlog6. Planning7. Daily Meetings8. Retrospective9. Burndown Chart

Page 9: Agile fundamentals

Product Owner

Владелец продукта. Человек от бизнеса.Основные функции:

1. агрегация требований2. отсеиванием ненужного3. приоритезацией

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

Page 10: Agile fundamentals

Scrum Master

• ежедневные собрания

• ретроспективы

• фасилитирует встречи

Page 11: Agile fundamentals

Scrum Team

• специалисты разных профилей: тестировщики, архитекторы, аналитики, программисты

• размер команды 7±2 человека• самоорганизация, совместное принятие решений,

командная ответственность

Page 12: Agile fundamentals

Backlog

Epic

User Story

Task

Page 13: Agile fundamentals

Planning

Величины измерения:• story — story point (не переоцениваются);• task — men / hour (переоцениваются).

Story Story

PlanningProduct BacklogStory

Sprint Backlog

5 story points

5 story points

Task2d

Task2d

Task1.5d

Этапы:1. оценка2. декомпозиция

Page 14: Agile fundamentals

Daily Meetings

1. Что я сделал за вчерашний день?

2. Что я буду делать сегодня?

3. Что препятствует моей работе?

Page 15: Agile fundamentals

Retrospectives

Как решать проблемы:

1. Что сделать?2. Кто сделает?3. Когда сделает?

1. Что было хорошо?2. Что было плохого?3. Какие возникли идеи?4. Решения.

Page 16: Agile fundamentals

Burndown Chart

Page 17: Agile fundamentals

Scrum Metrics

Burndown Chart Velocity Chart

Page 18: Agile fundamentals

Kanban

Page 19: Agile fundamentals

Kanban

Основные принципы:• визуализируйте поток ценностей• ограничивайте WIP• управляйте потоком• устанавливайте формальные политики (explicit policy)• договаривайтесь об эволюционном развитии. Улучшения

делаются руками делающих — kaizen;

Page 20: Agile fundamentals

Визуализируйте поток ценностей

Page 21: Agile fundamentals

Ограничивайте WIP

Скорость всей очереди измеряется самым медленный элементом в очереди

Уменьшить переключение контекстов

Limit WIP относится к историям, а не к декомпозированным задачам и багам

Page 22: Agile fundamentals

Управляйте потоком

Вытягивающая модель — приоритет доски на стендапах — справа налево

Page 23: Agile fundamentals

Формальные политики

Page 24: Agile fundamentals

Эволюционное развитие

• Ретроспективы

• Метрики (Cumulative Flow Diagram, Control Chart)

Page 25: Agile fundamentals

Основная цель

• Lead time — время от создания задачи до ее выпуска.

• Cycle time — время от начала разработки до ее выпуска.

Основная цель улучшения процесса в канбан — снижение среднего времени цикла (cycle time). Как это сделать?• дробить задачи на категории• декомпозиция• FIFO

Page 26: Agile fundamentals

Kanban Metrics

Cumulative Flow Diagram Control Chart

Page 27: Agile fundamentals

Kanban vs Scrum

KanbanScrum• цель: создание продукта• наличие владельца

продукта• может применяться для

разработки нового продукта

• есть четкий план развития продукта

• заранее известные приоритеты

• цель: непрерывная поставка улучшений пользователям

• отсутствуют горизонты планирования, нет жестких сроков

• определены требования к уровню сервиса (SLA)

• продукт на стадии поддержки• поддержка внешних или

внутренних пользователей• непрерывное развитие

внутренних программных продуктов

Page 28: Agile fundamentals

Вопросы

Жуков Антон