1
1. Введение в методы Agile
Технологии разработки программного обеспечения
() Владислав Лавров, vlavrov.com
2
Библиография
Книга:
Agile! Прекрасный, ужасный, шумный /
Бертран Мейер; пер. с англ. и ред. В. Биллига.
- Москва Тверь : НАУ "ИНТУИТ" - ЗАО НИИ
ЦПС, 2015. - 248 с.
Один из ведущих ученых в области инженерии
программного обеспечения Computer Science и
Software Engineering
Бертран Мейер
Электронный курс:
Анализ и оценка методов разработки
программного обеспечения (Agile)
http://www.intuit.ru/studies/courses/3505/747/info
() Владислав Лавров, vlavrov.com
3
Agile software development, agile-методы
Гибкая методология разработки
– серия подходов к разработке программного обеспечения,
ориентированных на использование интерактивной
разработки, динамическое формирование требований и
обеспечение их реализации в результате постоянного
взаимодействия внутри самоорганизующихся рабочих групп,
состоящих из специалистов различного профиля
Что такое Agile?
() Владислав Лавров, vlavrov.com
4
Манифест создателей Agile (2001)
• люди и взаимодействие важнее процессов и
инструментов;
• работающий продукт важнее исчерпывающей
документации;
• сотрудничество с заказчиком важнее согласования
условий контракта;
• готовность к изменениям важнее следования
первоначальному плану;
() Владислав Лавров, vlavrov.com
5
1. Переопределение ролей разработчиков, менеджеров и
потребителей.
2. Отказ от «Предваряющего анализа» (Big Upfront) –
начальных этапов разработки.
3. Итеративная разработка.
4. Ограниченная функциональность, основанная на
договоренностях.
5. Фокусирование на качестве, достижимом в процессе
тестирования.
1.1. Предпосылки (доктрины) Agile
() Владислав Лавров, vlavrov.com
6
1.2. Принципы Agile
Организационные принципы:
1. Поставить клиента в центр.
2. Разрешать самоорганизацию команды.
3. Сохранять устойчивый темп разработки.
4. Разрабатывать минимально необходимое ПО:
• создавать минимальную функциональность.
• создавать только запрашиваемый продукт.
• разрабатывать только код и тесты.
5. Допускать изменения.
() Владислав Лавров, vlavrov.com
7
Технические принципы:
6. Вести разработку итеративно:
• выполнять частые рабочие итерации.
• замораживать требования на время итерации.
7. Рассматривать тесты как ключевой ресурс:
• никакую новую разработку не начинать, пока не
пройдут все тесты.
• вначале тесты.
8. Выражать требования через сценарии.
Принципы Agile (продолжение)
() Владислав Лавров, vlavrov.com
8
Принцип 1.
«Поставить клиента в центр»
• Разработка является ориентированной на
потребителя.
• Цель разработки – поставка потребителю
продукта с наилучшим ROI (Return On
Investment, «Возврат Инвестиций»).
• Представители потребителей должны
включаться в проект, их роль одна из важных
ролей в команде разработчиков
() Владислав Лавров, vlavrov.com
9
Принцип 2.
«Разрешать самоорганизацию команды»
• Команда является самоорганизующейся.
• Решение зависит от специфики решаемых задач.
• Ограничение прав менеджера проекта.
() Владислав Лавров, vlavrov.com
10
Принцип 3.
«Сохранять устойчивый темп разработки»
• Развитие проекта идет устойчивым темпом.
• Благодаря жесткому графику отсутствуют
так называемые "смертельные марши",
когда для выдержки контрольного срока
начинается авральная работа днем и ночью.
• "Устойчивость" требует, чтобы работе
отводилось разумное время, сохраняя
вечера и уикэнды для отдыха.
() Владислав Лавров, vlavrov.com
11
Принцип 4.
«Разрабатывать минимально необходимое ПО»
• создаются только основные функции
(минимальная функциональность);
• строится только то, что запрашивается, исключая работы для
будущего повторного использования и расширений (минимальный
продукт);
• создаются только два вида продуктов – программы и тесты,
исключая все, что не поставляется потребителю, и избавляясь тем
самым от излишних трат (минимальные артефакты)
() Владислав Лавров, vlavrov.com
12
Принцип 5.
«Допускать изменения»
• Разработка должна допускать изменения.
• Все требования не могут быть определены в начале
разработки. Потребности выявляются в процессе
разработки.
• В ходе испытаний промежуточных версий как у
потребителей, так и у самих разработчиков возникает
понимание необходимости новых свойств или изменения
существующих свойств системы. Такие изменения
рассматриваются как нормальная часть процесса
разработки.
() Владислав Лавров, vlavrov.com
13
Принцип 6.
«Вести разработку итеративно»
• разработка представляет итеративный процесс, состоящий из
последовательного выполнения итераций.
• Каждая итерация (спринт) совершенно короткая – несколько
недель, ее результатом является рабочий релиз системы,
возможно, носящий довольно частный характер.
• Представители пользователей могут провести испытания,
результат которых может стать источником новых идей для
следующей итерации
() Владислав Лавров, vlavrov.com
14
Принцип 7.
«Рассматривать тесты как ключевой ресурс»
• Никакая новая разработка не может начаться, пока не
пройдут все тесты.
• Вначале тесты. Никакой код не может быть написан до
того, как для него не созданы тесты.
• Тесты представляют замену спецификаций и требований.
() Владислав Лавров, vlavrov.com
15
Принцип 8.
«Выражать требования через сценарии»
• Сценарий представляет описание варианта взаимодействия
пользователя с системой
() Владислав Лавров, vlavrov.com
16
• Менеджер проекта (разработки) (Manager);
• Команда (Team);
• Владелец продукта (Product owner);
• Scrum-мастер (Scrum Master);
• Потребитель (Customer – заказчик, пользователь).
1.3. Роли в Agile
Ключевые agile роли:
() Владислав Лавров, vlavrov.com
17
• назначать задачи;
• принимать решение, какие функции следует реализовать;
• распределять работы между членами команды;
• запрашивать отчеты о выполненных работах.
Роли в Agile.
Менеджер проекта (разработки)
В классическом Agile-методе
менеджеры НЕ должны:
() Владислав Лавров, vlavrov.com
18
• обеспечение окружения, позволяющего
команде работать успешно;
• организация «гладкого» взаимодействия с
остальной частью организации: в этой роли
менеджер представляет команду для высшего
руководства и других подразделений;
• управление ресурсами, включая поставщиков
и партнеров по аутсорсингу.
Роли в Agile.
Менеджер проекта (разработки) (продолжение)
Задачи:
() Владислав Лавров, vlavrov.com
19
• Команда – это не группа людей, управляемых менеджером, а
самоорганизуемая группа, наделенная правами. Главное для
самоорганизуемой команды – решить, что делать следующим.
• Ключевое достоинство состоит в способности быстрой
адаптации к новым обстоятельствам.
• Рекомендуется иметь кросcфункциональную команду, в
которой любой разработчик должен быть способен подойти к
списку задач, взять и реализовать следующую задачу.
Роли в Agile.
Команда (Team)
() Владислав Лавров, vlavrov.com
20
• Представляет организацию заказчика.
• Важнейшая обязанность – определение функциональности.
• Владелец является лицом продукта, продвигает решения, за ним
остается последнее слово в этих решениях.
• На владельце продукта лежит ответственность за определение и
сопровождение журнала заказов (бэклога) продукта – списка
заказанных функций
Роли в Agile.
Владелец продукта (Product owner)
() Владислав Лавров, vlavrov.com
21
• Одна из первостепенных задач мастера –
устранять препятствия, указанные членами
команды на ежедневных встречах. Препятствия
любого типа, технические и организационные, все,
что мешает команде работать в полную силу
(реализовать столь много пользовательских
историй, насколько это возможно).
• Защита команды от внешних раздражителей, от
администрации и других подразделений компании
Роли в Agile.
Scrum-мастер (Scrum Master)
() Владислав Лавров, vlavrov.com
22
Роли в Agile.
Потребитель (Customer)
• Методы agile ставят потребителя в центр, в некоторых
случаях включают его в члены команды.
• Потребитель обеспечивает требования, устанавливает
приоритеты и направляет проект.
• Уровень пользовательского включения может быть разным.
() Владислав Лавров, vlavrov.com
23
1.4. Практики в Agile
() Владислав Лавров, vlavrov.com
Организационные практики:
1) Спринт (Sprint).
2) Ежедневные встречи (Daily meeting).
3) Игра в планирование, планирующий покер (Planning
game, planning poker).
4) Непрерывная интеграция (Continuous integration).
5) Ретроспектива (Retrospective).
6) Разделяемое владение кодом (Shared code ownership).
24
Практики в Agile (продолжение)
() Владислав Лавров, vlavrov.com
Технические практики:
7) Тест-управляемая разработка (Test driven development).
8) Рефакторинг (Refactoring).
9) Парное программирование (Pair programming).
10) Простейшее решение, которое только может работать
(Simplest solution that can possibly work).
11) Стандарты кодирования (Coding standards).
25
1.5. Артефакты в Agile
() Владислав Лавров, vlavrov.com
Виртуальные
1) Варианты использования (Use case, user story).
2) График ликвидации (Burndown chart).
Материальные
3) Карты историй (Story card).
4) Панель историй (Story board).
5) Открытая комната (Open room).
26
График ликвидации нереализованных задач в Agile.
Убывающая диаграмма выполнения
() Владислав Лавров, vlavrov.com
Отставание от графика
Опережение графика
«Идеальный» ритм
выполнения задач
27
Карта историй в Agile
() Владислав Лавров, vlavrov.com
28
Панель задач, отражающая динамику развития проекта
() Владислав Лавров, vlavrov.com

More Related Content

PPTX
Составные части объектного подхода
PPTX
МиСПИСиТ (разработка программного модуля)
PPTX
PPTX
МиСПИСиТ (общие принципы разработки)
PPTX
МиСПИСиТ (внешнее описание)
Составные части объектного подхода
МиСПИСиТ (разработка программного модуля)
МиСПИСиТ (общие принципы разработки)
МиСПИСиТ (внешнее описание)

What's hot (20)

PPTX
МиСПИСиТ (источники ошибок)
PPTX
МиСПИСиТ (тестирование и отладка)
PPTX
МиСПИСиТ (литература по курсу)
PDF
Технологии разработки ПО
PPTX
C++ осень 2012 лекция 12
PDF
Benefits of unit-testing and inversion of controll
PPTX
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
PPT
ClubQA #2. Unit testing and TDD
PPTX
Тестирование ПО
PPT
Тестирование весна 2014 смешанное занятие 2
PPTX
ковалев нестандатное нт
PDF
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
PPTX
Sqadays 2010 burmistrov_fomin_20101120(2)
PDF
Процесс тестирования в распределенной команде
PDF
Михаил Павлов - is a tester responsible for quality
PDF
Netpeak Talks #3: Масштабируемое приложение на PHP
PDF
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
PPTX
Восьмая лекция курса "Введение в системную инженерию"
МиСПИСиТ (источники ошибок)
МиСПИСиТ (тестирование и отладка)
МиСПИСиТ (литература по курсу)
Технологии разработки ПО
C++ осень 2012 лекция 12
Benefits of unit-testing and inversion of controll
Аналитик и Тестировщик в одном лице – путь к качеству (Максим Цепков, SQA Day...
ClubQA #2. Unit testing and TDD
Тестирование ПО
Тестирование весна 2014 смешанное занятие 2
ковалев нестандатное нт
CodeFest 2011. Федянина С. — Эффективная работа распределенной команды в Soft...
Sqadays 2010 burmistrov_fomin_20101120(2)
Процесс тестирования в распределенной команде
Михаил Павлов - is a tester responsible for quality
Netpeak Talks #3: Масштабируемое приложение на PHP
Тестируем код с Visual Studio 2012 - XP Days Ukraine 2012
Восьмая лекция курса "Введение в системную инженерию"
Ad

Viewers also liked (20)

PDF
Проектирование больших ИС в Agile (статья)
PPTX
Методологии управления It проектами
PDF
Гибкие методологии разработки ПО в реальном мире
PPT
Jira - обучение, внедрение и практика использования
PPTX
AgileCamp'11 Новосибирск - введение в инженерные практики
PDF
Scrum and XP in practice
PDF
Future4kist 1.4
PPTX
Agile Testing Process
PPTX
AgileCamp'12 Нижний Новгород: Введение
PPT
Introduction to Agile
PDF
Андрій Кушнарьов «Agile планування проектів»
PPTX
Коварный Tracer Bullet Development
PDF
eXtreme Programming
PDF
Станислав Головченко. Как построить системное управление проектами за 2 месяца?
PPTX
Agile - гибкое управление проектами
PPTX
TDD in functional testing with WebDriver
PDF
Extreme banking
PPTX
Экстремальное программирование (XP – extreme programming)
PDF
Agile Feedback Loops (ukr)
PPTX
TDD for DB integration
Проектирование больших ИС в Agile (статья)
Методологии управления It проектами
Гибкие методологии разработки ПО в реальном мире
Jira - обучение, внедрение и практика использования
AgileCamp'11 Новосибирск - введение в инженерные практики
Scrum and XP in practice
Future4kist 1.4
Agile Testing Process
AgileCamp'12 Нижний Новгород: Введение
Introduction to Agile
Андрій Кушнарьов «Agile планування проектів»
Коварный Tracer Bullet Development
eXtreme Programming
Станислав Головченко. Как построить системное управление проектами за 2 месяца?
Agile - гибкое управление проектами
TDD in functional testing with WebDriver
Extreme banking
Экстремальное программирование (XP – extreme programming)
Agile Feedback Loops (ukr)
TDD for DB integration
Ad

Similar to Введение в методы agile (20)

PPTX
Post Agile эра / Борис Вольфсон (HeadHunter)
PPTX
Agile testing
PDF
Гибкие методологии при создании ИТ продукта.
PPTX
владелец продукта
PDF
работа в крупной компании на примере Banki.ru
PPTX
Работа с требованиями в условиях Agile трансформации
PDF
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
PPTX
Scrum framework
PPTX
вольфсон основы Agile
PDF
Agile Process Wizard или как собрать Agile методологию под конкретный проект
PDF
Борис Вольфсон. Agile ценности и принципы для новичков.
PDF
Общие темы. Тема 03.
PDF
Семинар ФКН: современные подходы к разработке ПО - часть 1
PPTX
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
PDF
Разработка веб-сервисов осень 2013 лекция 2
PPT
Работа с требованиями в Agile
PPT
Методологии разработки по
PPTX
Agile Scrum Start / Старт используя Scrum
PPTX
вольфсон построение собственного Agile-фреймворка (шаблон)
PDF
Культура Agile
Post Agile эра / Борис Вольфсон (HeadHunter)
Agile testing
Гибкие методологии при создании ИТ продукта.
владелец продукта
работа в крупной компании на примере Banki.ru
Работа с требованиями в условиях Agile трансформации
Методы управления проектами с коротким циклом - Agile от практиков_InnoTrain_...
Scrum framework
вольфсон основы Agile
Agile Process Wizard или как собрать Agile методологию под конкретный проект
Борис Вольфсон. Agile ценности и принципы для новичков.
Общие темы. Тема 03.
Семинар ФКН: современные подходы к разработке ПО - часть 1
TechLeads meetup: Андрей Шелёхин, Tinkoff.ru
Разработка веб-сервисов осень 2013 лекция 2
Работа с требованиями в Agile
Методологии разработки по
Agile Scrum Start / Старт используя Scrum
вольфсон построение собственного Agile-фреймворка (шаблон)
Культура Agile

More from Ural Federal University named after First President of Russia B.N. Yeltsin (20)

PPTX
ООП. Рекомендуемые информационные ресурсы
PPTX
3. Общая характеристика АСУ
PPTX
Образовательная программа ИСТ на кафедре ТИМ УрФУ
PPTX
Наследование и полиморфизм
PPTX
магистратура 09.04.02 ист на кафедре тим урфу+
PPT
магистратура 22.04.02 металлургия на кафедре тим+
PPT
1.5 тп (технологические подходы)+
PPT
1.4 тп (общие принципы разработки)+
PPT
2014 Сабиров Е.Р. презентация КП по ПБД
PPT
2014 Мищенко К.В. презентация КП по ПБД
PPT
2014 Пильщиков С.Н. презентация КП по ПБД
ООП. Рекомендуемые информационные ресурсы
3. Общая характеристика АСУ
Образовательная программа ИСТ на кафедре ТИМ УрФУ
Наследование и полиморфизм
магистратура 09.04.02 ист на кафедре тим урфу+
магистратура 22.04.02 металлургия на кафедре тим+
1.5 тп (технологические подходы)+
1.4 тп (общие принципы разработки)+
2014 Сабиров Е.Р. презентация КП по ПБД
2014 Мищенко К.В. презентация КП по ПБД
2014 Пильщиков С.Н. презентация КП по ПБД

Введение в методы agile

  • 1. 1 1. Введение в методы Agile Технологии разработки программного обеспечения () Владислав Лавров, vlavrov.com
  • 2. 2 Библиография Книга: Agile! Прекрасный, ужасный, шумный / Бертран Мейер; пер. с англ. и ред. В. Биллига. - Москва Тверь : НАУ "ИНТУИТ" - ЗАО НИИ ЦПС, 2015. - 248 с. Один из ведущих ученых в области инженерии программного обеспечения Computer Science и Software Engineering Бертран Мейер Электронный курс: Анализ и оценка методов разработки программного обеспечения (Agile) http://www.intuit.ru/studies/courses/3505/747/info () Владислав Лавров, vlavrov.com
  • 3. 3 Agile software development, agile-методы Гибкая методология разработки – серия подходов к разработке программного обеспечения, ориентированных на использование интерактивной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля Что такое Agile? () Владислав Лавров, vlavrov.com
  • 4. 4 Манифест создателей Agile (2001) • люди и взаимодействие важнее процессов и инструментов; • работающий продукт важнее исчерпывающей документации; • сотрудничество с заказчиком важнее согласования условий контракта; • готовность к изменениям важнее следования первоначальному плану; () Владислав Лавров, vlavrov.com
  • 5. 5 1. Переопределение ролей разработчиков, менеджеров и потребителей. 2. Отказ от «Предваряющего анализа» (Big Upfront) – начальных этапов разработки. 3. Итеративная разработка. 4. Ограниченная функциональность, основанная на договоренностях. 5. Фокусирование на качестве, достижимом в процессе тестирования. 1.1. Предпосылки (доктрины) Agile () Владислав Лавров, vlavrov.com
  • 6. 6 1.2. Принципы Agile Организационные принципы: 1. Поставить клиента в центр. 2. Разрешать самоорганизацию команды. 3. Сохранять устойчивый темп разработки. 4. Разрабатывать минимально необходимое ПО: • создавать минимальную функциональность. • создавать только запрашиваемый продукт. • разрабатывать только код и тесты. 5. Допускать изменения. () Владислав Лавров, vlavrov.com
  • 7. 7 Технические принципы: 6. Вести разработку итеративно: • выполнять частые рабочие итерации. • замораживать требования на время итерации. 7. Рассматривать тесты как ключевой ресурс: • никакую новую разработку не начинать, пока не пройдут все тесты. • вначале тесты. 8. Выражать требования через сценарии. Принципы Agile (продолжение) () Владислав Лавров, vlavrov.com
  • 8. 8 Принцип 1. «Поставить клиента в центр» • Разработка является ориентированной на потребителя. • Цель разработки – поставка потребителю продукта с наилучшим ROI (Return On Investment, «Возврат Инвестиций»). • Представители потребителей должны включаться в проект, их роль одна из важных ролей в команде разработчиков () Владислав Лавров, vlavrov.com
  • 9. 9 Принцип 2. «Разрешать самоорганизацию команды» • Команда является самоорганизующейся. • Решение зависит от специфики решаемых задач. • Ограничение прав менеджера проекта. () Владислав Лавров, vlavrov.com
  • 10. 10 Принцип 3. «Сохранять устойчивый темп разработки» • Развитие проекта идет устойчивым темпом. • Благодаря жесткому графику отсутствуют так называемые "смертельные марши", когда для выдержки контрольного срока начинается авральная работа днем и ночью. • "Устойчивость" требует, чтобы работе отводилось разумное время, сохраняя вечера и уикэнды для отдыха. () Владислав Лавров, vlavrov.com
  • 11. 11 Принцип 4. «Разрабатывать минимально необходимое ПО» • создаются только основные функции (минимальная функциональность); • строится только то, что запрашивается, исключая работы для будущего повторного использования и расширений (минимальный продукт); • создаются только два вида продуктов – программы и тесты, исключая все, что не поставляется потребителю, и избавляясь тем самым от излишних трат (минимальные артефакты) () Владислав Лавров, vlavrov.com
  • 12. 12 Принцип 5. «Допускать изменения» • Разработка должна допускать изменения. • Все требования не могут быть определены в начале разработки. Потребности выявляются в процессе разработки. • В ходе испытаний промежуточных версий как у потребителей, так и у самих разработчиков возникает понимание необходимости новых свойств или изменения существующих свойств системы. Такие изменения рассматриваются как нормальная часть процесса разработки. () Владислав Лавров, vlavrov.com
  • 13. 13 Принцип 6. «Вести разработку итеративно» • разработка представляет итеративный процесс, состоящий из последовательного выполнения итераций. • Каждая итерация (спринт) совершенно короткая – несколько недель, ее результатом является рабочий релиз системы, возможно, носящий довольно частный характер. • Представители пользователей могут провести испытания, результат которых может стать источником новых идей для следующей итерации () Владислав Лавров, vlavrov.com
  • 14. 14 Принцип 7. «Рассматривать тесты как ключевой ресурс» • Никакая новая разработка не может начаться, пока не пройдут все тесты. • Вначале тесты. Никакой код не может быть написан до того, как для него не созданы тесты. • Тесты представляют замену спецификаций и требований. () Владислав Лавров, vlavrov.com
  • 15. 15 Принцип 8. «Выражать требования через сценарии» • Сценарий представляет описание варианта взаимодействия пользователя с системой () Владислав Лавров, vlavrov.com
  • 16. 16 • Менеджер проекта (разработки) (Manager); • Команда (Team); • Владелец продукта (Product owner); • Scrum-мастер (Scrum Master); • Потребитель (Customer – заказчик, пользователь). 1.3. Роли в Agile Ключевые agile роли: () Владислав Лавров, vlavrov.com
  • 17. 17 • назначать задачи; • принимать решение, какие функции следует реализовать; • распределять работы между членами команды; • запрашивать отчеты о выполненных работах. Роли в Agile. Менеджер проекта (разработки) В классическом Agile-методе менеджеры НЕ должны: () Владислав Лавров, vlavrov.com
  • 18. 18 • обеспечение окружения, позволяющего команде работать успешно; • организация «гладкого» взаимодействия с остальной частью организации: в этой роли менеджер представляет команду для высшего руководства и других подразделений; • управление ресурсами, включая поставщиков и партнеров по аутсорсингу. Роли в Agile. Менеджер проекта (разработки) (продолжение) Задачи: () Владислав Лавров, vlavrov.com
  • 19. 19 • Команда – это не группа людей, управляемых менеджером, а самоорганизуемая группа, наделенная правами. Главное для самоорганизуемой команды – решить, что делать следующим. • Ключевое достоинство состоит в способности быстрой адаптации к новым обстоятельствам. • Рекомендуется иметь кросcфункциональную команду, в которой любой разработчик должен быть способен подойти к списку задач, взять и реализовать следующую задачу. Роли в Agile. Команда (Team) () Владислав Лавров, vlavrov.com
  • 20. 20 • Представляет организацию заказчика. • Важнейшая обязанность – определение функциональности. • Владелец является лицом продукта, продвигает решения, за ним остается последнее слово в этих решениях. • На владельце продукта лежит ответственность за определение и сопровождение журнала заказов (бэклога) продукта – списка заказанных функций Роли в Agile. Владелец продукта (Product owner) () Владислав Лавров, vlavrov.com
  • 21. 21 • Одна из первостепенных задач мастера – устранять препятствия, указанные членами команды на ежедневных встречах. Препятствия любого типа, технические и организационные, все, что мешает команде работать в полную силу (реализовать столь много пользовательских историй, насколько это возможно). • Защита команды от внешних раздражителей, от администрации и других подразделений компании Роли в Agile. Scrum-мастер (Scrum Master) () Владислав Лавров, vlavrov.com
  • 22. 22 Роли в Agile. Потребитель (Customer) • Методы agile ставят потребителя в центр, в некоторых случаях включают его в члены команды. • Потребитель обеспечивает требования, устанавливает приоритеты и направляет проект. • Уровень пользовательского включения может быть разным. () Владислав Лавров, vlavrov.com
  • 23. 23 1.4. Практики в Agile () Владислав Лавров, vlavrov.com Организационные практики: 1) Спринт (Sprint). 2) Ежедневные встречи (Daily meeting). 3) Игра в планирование, планирующий покер (Planning game, planning poker). 4) Непрерывная интеграция (Continuous integration). 5) Ретроспектива (Retrospective). 6) Разделяемое владение кодом (Shared code ownership).
  • 24. 24 Практики в Agile (продолжение) () Владислав Лавров, vlavrov.com Технические практики: 7) Тест-управляемая разработка (Test driven development). 8) Рефакторинг (Refactoring). 9) Парное программирование (Pair programming). 10) Простейшее решение, которое только может работать (Simplest solution that can possibly work). 11) Стандарты кодирования (Coding standards).
  • 25. 25 1.5. Артефакты в Agile () Владислав Лавров, vlavrov.com Виртуальные 1) Варианты использования (Use case, user story). 2) График ликвидации (Burndown chart). Материальные 3) Карты историй (Story card). 4) Панель историй (Story board). 5) Открытая комната (Open room).
  • 26. 26 График ликвидации нереализованных задач в Agile. Убывающая диаграмма выполнения () Владислав Лавров, vlavrov.com Отставание от графика Опережение графика «Идеальный» ритм выполнения задач
  • 27. 27 Карта историй в Agile () Владислав Лавров, vlavrov.com
  • 28. 28 Панель задач, отражающая динамику развития проекта () Владислав Лавров, vlavrov.com