Agile fundamentals

Preview:

Citation preview

VietnamThailandSingaporePhilippinesMalaysiaIndonesia Russia

Agile Fundamentals

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

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

Waterfall

Classic Methodology Agile Methodologies

ScrumKanban

XPLean Software Development

История

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

Waterfall

Agile Manifesto

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

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

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

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

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

Scrum

Scrum

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

Product Owner

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

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

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

Scrum Master

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

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

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

Scrum Team

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

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

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

Backlog

Epic

User Story

Task

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. декомпозиция

Daily Meetings

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

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

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

Retrospectives

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

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

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

Burndown Chart

Scrum Metrics

Burndown Chart Velocity Chart

Kanban

Kanban

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Kanban Metrics

Cumulative Flow Diagram Control Chart

Kanban vs Scrum

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

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

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

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

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

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

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

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

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

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

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

Вопросы

Жуков Антон