1
Часть 4.
Процессы жизненного цикла
и технологические подходы
к разработке программных средств
•(©) Владислав Лавров, vlavrov.com
Методы и средства проектирования
информационных систем и технологий
2
4.1. Основные процессы жизненного цикла
(стандарт ISO 12207)
1. Процесс разработки информационной системы
включает в себя все работы по созданию информационного
программного обеспечения и его компонентов в соответствии с
заданными требованиями
• стратегическое планирование;
• анализ требований к системе;
• проектирование архитектуры системы;
• реализация программного обеспечения (программирование);
• оформление проектной и эксплуатационной документации;
• подготовка материалов, необходимых для проведения тестирования
разработанных программных продуктов;
• разработка материалов, необходимых для организации обучения
персонала
Перечень работ (процессов):
•(©) Владислав Лавров, vlavrov.com
3
Основные процессы жизненного цикла
2. Процесс эксплуатации информационной системы
охватывает действия оператора – организации, эксплуатирующей
систему
• конфигурирование базы данных и рабочих мест пользователей;
• обеспечение пользователей эксплуатационной документацией;
• обучение персонала.
Перечень подготовительных работ (процессов):
Перечень основных работ (процессов):
• непосредственно эксплуатация ИС;
• локализация проблем и устранение причин их возникновения;
• совершенствование, т.е. модификация с целью улучшения
программного обеспечения;
• подготовка предложений по совершенствованию системы;
• развитие и модернизация системы.
•(©) Владислав Лавров, vlavrov.com
4
Основные процессы жизненного цикла
3. Процесс сопровождения информационной системы
определяет действия персонала сопровождения (службы
технической поддержки оператора), который обеспечивает
сопровождение программного продукта.
• управление модификациями программного продукта;
• инсталляция и удаление программного изделия на
вычислительной системе;
• поддержка его текущего состояния и функциональной
пригодности.
Перечень работ (процессов):
•(©) Владислав Лавров, vlavrov.com
5
4.2. Вспомогательные процессы жизненного цикла
• документирование;
• управление конфигурацией;
• обеспечение качества;
• верификация;
• аттестация;
• совместная оценка;
• аудит.
•(©) Владислав Лавров, vlavrov.com
6
Вспомогательные процессы жизненного цикла
Документирование
формализованное описание информации, созданной в течение
жизненного цикла программного обеспечения.
Данный процесс состоит из набора действий, с помощью которых
планируют, проектируют, разрабатывают, выпускают, редактируют,
распространяют и сопровождают документы, необходимые для всех
заинтересованных лиц, таких как руководство, технические
специалисты и пользователи системы.
•(©) Владислав Лавров, vlavrov.com
7
Вспомогательные процессы жизненного цикла
Управление конфигурацией
применение административных и технических процедур на всем
протяжении жизненного цикла программного обеспечения с целью:
• определения состояния компонентов программного обеспечения
в системе;
• управления модификациями программного обеспечения;
• описания и подготовки отчетов о состоянии компонентов
программного обеспечения и запросов на модификацию,
обеспечение полноты, совместимости и корректности
программных компонентов;
• управление хранением и поставкой программного обеспечения;
•(©) Владислав Лавров, vlavrov.com
8
Вспомогательные процессы жизненного цикла
Обеспечение качества
обеспечение гарантий того, что программное
обеспечение и процессы его жизненного цикла
соответствуют заданным требованиям и утвержденным
планам.
•(©) Владислав Лавров, vlavrov.com
9
Вспомогательные процессы жизненного цикла
Верификация
определение того, что программные продукты,
являющиеся результатами некоторого действия,
полностью удовлетворяют требованиям или условиям,
обусловленным выполненными действиями.
Другими словами, верификация – это процесс
определения соответствия текущего состояния
разработки, достигнутого на данном этапе, требованиям
этого этапа.
•(©) Владислав Лавров, vlavrov.com
10
Вспомогательные процессы жизненного цикла
Аттестация
определение полноты
соответствия заданных
требований и созданной
системы или
программного продукта их
конкретному
функциональному
назначению.
•(©) Владислав Лавров, vlavrov.com
11
Вспомогательные процессы жизненного цикла
Совместная оценка
предназначена для оценки состояния работ по проекту и
программного обеспечения, создаваемого при
выполнении данных работ
•(©) Владислав Лавров, vlavrov.com
12
Вспомогательные процессы жизненного цикла
Аудит
определение соответствия программного продукта
требованиям, планам и условиям договора.
Особенность аудиторской проверки состоит в ее
независимости.
•(©) Владислав Лавров, vlavrov.com
13
4.3. Организационные процессы жизненного цикла
• управление;
• создание инфраструктуры;
• усовершенствование;
• обучение;
•(©) Владислав Лавров, vlavrov.com
14
Организационные процессы жизненного цикла
Управление
Процесс включает следующие действия:
• инициирование и определение области
управления;
• планирование;
• выполнение и контроль;
• проверку и оценку;
• завершение.
При инициировании процесса управления
менеджер должен убедиться в наличии в его
распоряжении необходимых ресурсов –
человеческих, вычислительных и
организационных.
•(©) Владислав Лавров, vlavrov.com
15
Организационные процессы жизненного цикла
Создание инфраструктуры (средств обеспечения)
охватывает выбор и поддержку технологий, стандартов и
инструментальных средств, используемых для
разработки, эксплуатации или сопровождения
программного обеспечения.
•(©) Владислав Лавров, vlavrov.com
16
Организационные процессы жизненного цикла
Усовершенствование
определяет оценку, измерение, контроль и
усовершенствование процессов жизненного цикла.
•(©) Владислав Лавров, vlavrov.com
17
Организационные процессы жизненного цикла
Обучение
включает первоначальное обучение и последующее
постоянное повышение квалификации персонала.
Включает три действия – подготовительную работу,
разработку учебных материалов и реализацию плана
обучения.
•(©) Владислав Лавров, vlavrov.com
18
4.4. Взаимосвязь между процессами жизненного цикла
Заказчик -
Поставщик
Оператор -
Пользователь
Разработчик -
Сопровождение
Исполнители
вспомогательных
процессов
Приобретение
Эксплуатация
Сопровождение
Разработка
Менеджер
Поставка
Договорный аспект
Аспект эксплуатации
Инженерный аспект
Аспект поддержки
Вспомогательные
процессы
Документирование
Управление конфигурацией
Обеспечение качества
Совместная оценка
Аттестация
Верификация
Аудит
Разрешение проблем
Организационные
процессы
Управление
Создание инфраструктуры
Усовершенствование
Обучение
Аспект
управления
Основные
процессы
•(©) Владислав Лавров, vlavrov.com
19
4.5. Классификация технологических подходов
Основные модели жизненного цикла разработки программ:
• Каскадная (водопадная) модель
• Спиральная модель.
•(©) Владислав Лавров, vlavrov.com
20
4.6. Каскадная модель жизненного цикла разработки
4.6.1. Классический каскадный подход
•(©) Владислав Лавров, vlavrov.com
21
Преимущества каскадного подхода
1. На каждом этапе формируется законченный набор
проектной документации, отвечающий критериям
полноты и согласованности.
2. Выполняемые в логичной последовательности этапы
работ позволяют планировать сроки завершения и
соответствующие затраты (бюджет на разработку
системы).
•(©) Владислав Лавров, vlavrov.com
22
Недостатки каскадного подхода
1. Существенная задержка получения результатов.
2. Ошибки и недоработки на любом из этапов выясняются,
как правило, на последующих этапах работ, что приводит
к необходимости возврата на предыдущие стадии.
3. Сложность распараллеливания работ по проекту.
4. Большая информационная перенасыщенность каждого из
этапов.
5. Сложность управления проектом.
6. Высокий уровень риска и ненадежность инвестиций.
•(©) Владислав Лавров, vlavrov.com
23
4.6.2. Каскадно-возвратный подход
•(©) Владислав Лавров, vlavrov.com
24
4.6.3. Каскадно-итерационный подход
•(©) Владислав Лавров, vlavrov.com
25
4.6.4. Каскадный подход с перекрывающимися процессами
•(©) Владислав Лавров, vlavrov.com
26
4.7. Спиральная модель жизненного цикла разработки
Удовлетворение
намеченных
требований
Шаг 1:
Анализ требований
Шаг 2:
Проектирование
Шаг 3:
Реализация
Шаг 4:
Тестирование
12
•(©) Владислав Лавров, vlavrov.com
27
Алгоритм выполнения процессов в спиральном цикле
Анализ рисков
Выполнение процесса
Верификация
Риск существенен ?
да
нет
Завершение
Анализ требований
Проектирование
Реализация
Тестирование
•(©) Владислав Лавров, vlavrov.com
28
Преимущества спирального подхода
1. Упрощение внесения изменений в проект при изменении
требований заказчика.
2. Упрощение интеграции программных элементов.
3. Уменьшение уровня рисков.
4. Возможность внесения тактических изменений в проект.
5. Возможность использования перспективных
технологических подходов к программированию.
6. Повышение надежности системы.
7. Совершенствование процесса анализа системы.
•(©) Владислав Лавров, vlavrov.com
29
Недостатки спирального подхода
1. Необходимость более искусного управления проектом.
2. Трудность определения момента окончания итерации
3. Поддержка целостности документации
•(©) Владислав Лавров, vlavrov.com
30
Методологии гибкой разработки Agile
Гибкая методология разработки (Agile software development, agile-методы)
— серия подходов к разработке программного обеспечения,
ориентированных на использование итеративной разработки,
динамическое формирование требований и обеспечение их реализации в
результате постоянного взаимодействия внутри самоорганизующихся
рабочих групп, состоящих из специалистов различного профиля.
Существует несколько методик, относящихся к классу гибких методологий
разработки, в частности Scrum, экстремальное программирование (XP),
DSDM, FDD.
Применяется как эффективная практика организации труда небольших групп
•(©) Владислав Лавров, vlavrov.com
31
SCRUM
Гибкая методология разработки программного
обеспечения, которая представляет собой итеративный
процесс. Акцент на качественном контроле процесса
разработки.
Основные элементы методологии:
• рабочие элементы,
• отчеты,
• книги,
• панели мониторинга
•(©) Владислав Лавров, vlavrov.com
32
Рабочий элемент
— запись, которая создается в системе управления
версиями (например, Visual Studio Team Foundation
Server) для задания определения, назначения,
приоритета и состояния элемента работы.
Типы рабочих элементов:
• невыполненная работа по продукту;
• ошибка;
• задача;
• препятствие;
• тестовый случай
•(©) Владислав Лавров, vlavrov.com
33
Команда (Team)
Команда разработчиков выполняет
работу по разработке
потенциально «готового» к выпуску
продукта в конце каждого Спринта.
Размер команды разработчиков
7±2 человек, которые реализуют
требования владельца продукта.
•(©) Владислав Лавров, vlavrov.com
34
Организация команды
• владелец продукта (Product owner);
Ответственен за достижение максимальной
ценности продукта и работы, исполняемой
командой разработчиков
• руководитель (Scrum Master);
ответственен за то, чтобы все участники
команды придерживались теории, практик и
правил Scrum
• члены команды (Team members)
•(©) Владислав Лавров, vlavrov.com
35
Журнал продукта (Product Backlog)
Приоритезированный список требований с оценкой трудозатрат.
Обычно он состоит из бизнес-требований, которые приносят
конкретную бизнес-ценность и называются элементы бэклога
(элементами работы). Ответственность за Журнал Продукта несет
Владелец Продукта, включая его содержание, доступность и
упорядочение.
•(©) Владислав Лавров, vlavrov.com
36
Спринт (Sprint)
Временной интервал в один месяц или менее (рекомендуется 1-2 недели), в
результате которого создается ценный и потенциально “готовый” к выпуску
Инкремент продукта (рабочая версия).
Длина Спринта является постоянной на протяжении всего периода разработки.
Следующий Спринт начинается сразу же по окончании предыдущего. Спринт
состоит из Планирования Спринта, Ежедневных Скрамов, работы по
разработке, встрече по Обзору Спринта, а также Ретроспективы Спринта.
•(©) Владислав Лавров, vlavrov.com
37
Burndown chart
Диаграмма, показывающая количество сделанной и
оставшейся работы в спринте. Обновляется ежедневно с
тем, чтобы в простой форме показать подвижки в
работе над спринтом.
•(©) Владислав Лавров, vlavrov.com
38
Стэндап (Stand-up meeting)
Собрание членов команды
(с возможностью приглашения
владельца продукта)
для синхронизации деятельности
команды и обозначения проблем.
Каждый член команды отвечает на три вопроса:
1. Что было сделано с предыдущего скраммитинга? (гордость)
2. Какие есть проблемы? (просьба о помощи)
3. Что будет сделано к следующему скрам митингу? (обещание)
•(©) Владислав Лавров, vlavrov.com
39
Жизненный цикл проекта по Scrum
(упрощенная схема)
•(©) Владислав Лавров, vlavrov.com
40
Жизненный цикл проекта по Scrum
•(©) Владислав Лавров, vlavrov.com
41
Управление невыполненной работой
Scrum Board
Как правило, это стикеры, на которых написано название задачи.
Scrum Board должен иметь минимум три колонки: что нужно сделать, что в работе и что
уже сделано. Степень важности каждой задачи можно отмечать разными цветами.
•(©) Владислав Лавров, vlavrov.com
42
Управление невыполненной работой
(электронные сервисы)
Клиентские сервисы TFS (Team Foundation Server )
•(©) Владислав Лавров, vlavrov.com
43
Преимущества методологии Scrum
• Предсказуемость сдачи релизов и выполнения проекта;
• Повышение качества продукта: лучшее соответствие ожиданиям
пользователей, уменьшение количества ошибок, за счёт их раннего
обнаружения;
• Увеличение продуктивности за счёт полного использования потенциала
командной работы и фокусировки на производительности команды, а не на
индивидуальной продуктивности;
• Самоорганизация команды повышает мотивацию и обеспечивает обратную
связь для корректировки процесса;
• Значительно уменьшает нагрузку на менеджмент;
• Повышение вовлечённости сотрудников — Agile часто является сильным
мотивирующим фактором в команде, так как отводит большую роль
человеческому фактору — эффективным коммуникациям, самоорганизации,
инициативе и способности команды влиять на процесс.
•(©) Владислав Лавров, vlavrov.com
44
4.8. Перспективы развития технологических
подходов к разработке
1.Максимизация качества.
2.Максимизация скорости разработки.
Основные направления совершенствования
технологических подходов:
•(©) Владислав Лавров, vlavrov.com

МиСПИСиТ (жизненный цикл)

  • 1.
    1 Часть 4. Процессы жизненногоцикла и технологические подходы к разработке программных средств •(©) Владислав Лавров, vlavrov.com Методы и средства проектирования информационных систем и технологий
  • 2.
    2 4.1. Основные процессыжизненного цикла (стандарт ISO 12207) 1. Процесс разработки информационной системы включает в себя все работы по созданию информационного программного обеспечения и его компонентов в соответствии с заданными требованиями • стратегическое планирование; • анализ требований к системе; • проектирование архитектуры системы; • реализация программного обеспечения (программирование); • оформление проектной и эксплуатационной документации; • подготовка материалов, необходимых для проведения тестирования разработанных программных продуктов; • разработка материалов, необходимых для организации обучения персонала Перечень работ (процессов): •(©) Владислав Лавров, vlavrov.com
  • 3.
    3 Основные процессы жизненногоцикла 2. Процесс эксплуатации информационной системы охватывает действия оператора – организации, эксплуатирующей систему • конфигурирование базы данных и рабочих мест пользователей; • обеспечение пользователей эксплуатационной документацией; • обучение персонала. Перечень подготовительных работ (процессов): Перечень основных работ (процессов): • непосредственно эксплуатация ИС; • локализация проблем и устранение причин их возникновения; • совершенствование, т.е. модификация с целью улучшения программного обеспечения; • подготовка предложений по совершенствованию системы; • развитие и модернизация системы. •(©) Владислав Лавров, vlavrov.com
  • 4.
    4 Основные процессы жизненногоцикла 3. Процесс сопровождения информационной системы определяет действия персонала сопровождения (службы технической поддержки оператора), который обеспечивает сопровождение программного продукта. • управление модификациями программного продукта; • инсталляция и удаление программного изделия на вычислительной системе; • поддержка его текущего состояния и функциональной пригодности. Перечень работ (процессов): •(©) Владислав Лавров, vlavrov.com
  • 5.
    5 4.2. Вспомогательные процессыжизненного цикла • документирование; • управление конфигурацией; • обеспечение качества; • верификация; • аттестация; • совместная оценка; • аудит. •(©) Владислав Лавров, vlavrov.com
  • 6.
    6 Вспомогательные процессы жизненногоцикла Документирование формализованное описание информации, созданной в течение жизненного цикла программного обеспечения. Данный процесс состоит из набора действий, с помощью которых планируют, проектируют, разрабатывают, выпускают, редактируют, распространяют и сопровождают документы, необходимые для всех заинтересованных лиц, таких как руководство, технические специалисты и пользователи системы. •(©) Владислав Лавров, vlavrov.com
  • 7.
    7 Вспомогательные процессы жизненногоцикла Управление конфигурацией применение административных и технических процедур на всем протяжении жизненного цикла программного обеспечения с целью: • определения состояния компонентов программного обеспечения в системе; • управления модификациями программного обеспечения; • описания и подготовки отчетов о состоянии компонентов программного обеспечения и запросов на модификацию, обеспечение полноты, совместимости и корректности программных компонентов; • управление хранением и поставкой программного обеспечения; •(©) Владислав Лавров, vlavrov.com
  • 8.
    8 Вспомогательные процессы жизненногоцикла Обеспечение качества обеспечение гарантий того, что программное обеспечение и процессы его жизненного цикла соответствуют заданным требованиям и утвержденным планам. •(©) Владислав Лавров, vlavrov.com
  • 9.
    9 Вспомогательные процессы жизненногоцикла Верификация определение того, что программные продукты, являющиеся результатами некоторого действия, полностью удовлетворяют требованиям или условиям, обусловленным выполненными действиями. Другими словами, верификация – это процесс определения соответствия текущего состояния разработки, достигнутого на данном этапе, требованиям этого этапа. •(©) Владислав Лавров, vlavrov.com
  • 10.
    10 Вспомогательные процессы жизненногоцикла Аттестация определение полноты соответствия заданных требований и созданной системы или программного продукта их конкретному функциональному назначению. •(©) Владислав Лавров, vlavrov.com
  • 11.
    11 Вспомогательные процессы жизненногоцикла Совместная оценка предназначена для оценки состояния работ по проекту и программного обеспечения, создаваемого при выполнении данных работ •(©) Владислав Лавров, vlavrov.com
  • 12.
    12 Вспомогательные процессы жизненногоцикла Аудит определение соответствия программного продукта требованиям, планам и условиям договора. Особенность аудиторской проверки состоит в ее независимости. •(©) Владислав Лавров, vlavrov.com
  • 13.
    13 4.3. Организационные процессыжизненного цикла • управление; • создание инфраструктуры; • усовершенствование; • обучение; •(©) Владислав Лавров, vlavrov.com
  • 14.
    14 Организационные процессы жизненногоцикла Управление Процесс включает следующие действия: • инициирование и определение области управления; • планирование; • выполнение и контроль; • проверку и оценку; • завершение. При инициировании процесса управления менеджер должен убедиться в наличии в его распоряжении необходимых ресурсов – человеческих, вычислительных и организационных. •(©) Владислав Лавров, vlavrov.com
  • 15.
    15 Организационные процессы жизненногоцикла Создание инфраструктуры (средств обеспечения) охватывает выбор и поддержку технологий, стандартов и инструментальных средств, используемых для разработки, эксплуатации или сопровождения программного обеспечения. •(©) Владислав Лавров, vlavrov.com
  • 16.
    16 Организационные процессы жизненногоцикла Усовершенствование определяет оценку, измерение, контроль и усовершенствование процессов жизненного цикла. •(©) Владислав Лавров, vlavrov.com
  • 17.
    17 Организационные процессы жизненногоцикла Обучение включает первоначальное обучение и последующее постоянное повышение квалификации персонала. Включает три действия – подготовительную работу, разработку учебных материалов и реализацию плана обучения. •(©) Владислав Лавров, vlavrov.com
  • 18.
    18 4.4. Взаимосвязь междупроцессами жизненного цикла Заказчик - Поставщик Оператор - Пользователь Разработчик - Сопровождение Исполнители вспомогательных процессов Приобретение Эксплуатация Сопровождение Разработка Менеджер Поставка Договорный аспект Аспект эксплуатации Инженерный аспект Аспект поддержки Вспомогательные процессы Документирование Управление конфигурацией Обеспечение качества Совместная оценка Аттестация Верификация Аудит Разрешение проблем Организационные процессы Управление Создание инфраструктуры Усовершенствование Обучение Аспект управления Основные процессы •(©) Владислав Лавров, vlavrov.com
  • 19.
    19 4.5. Классификация технологическихподходов Основные модели жизненного цикла разработки программ: • Каскадная (водопадная) модель • Спиральная модель. •(©) Владислав Лавров, vlavrov.com
  • 20.
    20 4.6. Каскадная модельжизненного цикла разработки 4.6.1. Классический каскадный подход •(©) Владислав Лавров, vlavrov.com
  • 21.
    21 Преимущества каскадного подхода 1.На каждом этапе формируется законченный набор проектной документации, отвечающий критериям полноты и согласованности. 2. Выполняемые в логичной последовательности этапы работ позволяют планировать сроки завершения и соответствующие затраты (бюджет на разработку системы). •(©) Владислав Лавров, vlavrov.com
  • 22.
    22 Недостатки каскадного подхода 1.Существенная задержка получения результатов. 2. Ошибки и недоработки на любом из этапов выясняются, как правило, на последующих этапах работ, что приводит к необходимости возврата на предыдущие стадии. 3. Сложность распараллеливания работ по проекту. 4. Большая информационная перенасыщенность каждого из этапов. 5. Сложность управления проектом. 6. Высокий уровень риска и ненадежность инвестиций. •(©) Владислав Лавров, vlavrov.com
  • 23.
  • 24.
  • 25.
    25 4.6.4. Каскадный подходс перекрывающимися процессами •(©) Владислав Лавров, vlavrov.com
  • 26.
    26 4.7. Спиральная модельжизненного цикла разработки Удовлетворение намеченных требований Шаг 1: Анализ требований Шаг 2: Проектирование Шаг 3: Реализация Шаг 4: Тестирование 12 •(©) Владислав Лавров, vlavrov.com
  • 27.
    27 Алгоритм выполнения процессовв спиральном цикле Анализ рисков Выполнение процесса Верификация Риск существенен ? да нет Завершение Анализ требований Проектирование Реализация Тестирование •(©) Владислав Лавров, vlavrov.com
  • 28.
    28 Преимущества спирального подхода 1.Упрощение внесения изменений в проект при изменении требований заказчика. 2. Упрощение интеграции программных элементов. 3. Уменьшение уровня рисков. 4. Возможность внесения тактических изменений в проект. 5. Возможность использования перспективных технологических подходов к программированию. 6. Повышение надежности системы. 7. Совершенствование процесса анализа системы. •(©) Владислав Лавров, vlavrov.com
  • 29.
    29 Недостатки спирального подхода 1.Необходимость более искусного управления проектом. 2. Трудность определения момента окончания итерации 3. Поддержка целостности документации •(©) Владислав Лавров, vlavrov.com
  • 30.
    30 Методологии гибкой разработкиAgile Гибкая методология разработки (Agile software development, agile-методы) — серия подходов к разработке программного обеспечения, ориентированных на использование итеративной разработки, динамическое формирование требований и обеспечение их реализации в результате постоянного взаимодействия внутри самоорганизующихся рабочих групп, состоящих из специалистов различного профиля. Существует несколько методик, относящихся к классу гибких методологий разработки, в частности Scrum, экстремальное программирование (XP), DSDM, FDD. Применяется как эффективная практика организации труда небольших групп •(©) Владислав Лавров, vlavrov.com
  • 31.
    31 SCRUM Гибкая методология разработкипрограммного обеспечения, которая представляет собой итеративный процесс. Акцент на качественном контроле процесса разработки. Основные элементы методологии: • рабочие элементы, • отчеты, • книги, • панели мониторинга •(©) Владислав Лавров, vlavrov.com
  • 32.
    32 Рабочий элемент — запись,которая создается в системе управления версиями (например, Visual Studio Team Foundation Server) для задания определения, назначения, приоритета и состояния элемента работы. Типы рабочих элементов: • невыполненная работа по продукту; • ошибка; • задача; • препятствие; • тестовый случай •(©) Владислав Лавров, vlavrov.com
  • 33.
    33 Команда (Team) Команда разработчиковвыполняет работу по разработке потенциально «готового» к выпуску продукта в конце каждого Спринта. Размер команды разработчиков 7±2 человек, которые реализуют требования владельца продукта. •(©) Владислав Лавров, vlavrov.com
  • 34.
    34 Организация команды • владелецпродукта (Product owner); Ответственен за достижение максимальной ценности продукта и работы, исполняемой командой разработчиков • руководитель (Scrum Master); ответственен за то, чтобы все участники команды придерживались теории, практик и правил Scrum • члены команды (Team members) •(©) Владислав Лавров, vlavrov.com
  • 35.
    35 Журнал продукта (ProductBacklog) Приоритезированный список требований с оценкой трудозатрат. Обычно он состоит из бизнес-требований, которые приносят конкретную бизнес-ценность и называются элементы бэклога (элементами работы). Ответственность за Журнал Продукта несет Владелец Продукта, включая его содержание, доступность и упорядочение. •(©) Владислав Лавров, vlavrov.com
  • 36.
    36 Спринт (Sprint) Временной интервалв один месяц или менее (рекомендуется 1-2 недели), в результате которого создается ценный и потенциально “готовый” к выпуску Инкремент продукта (рабочая версия). Длина Спринта является постоянной на протяжении всего периода разработки. Следующий Спринт начинается сразу же по окончании предыдущего. Спринт состоит из Планирования Спринта, Ежедневных Скрамов, работы по разработке, встрече по Обзору Спринта, а также Ретроспективы Спринта. •(©) Владислав Лавров, vlavrov.com
  • 37.
    37 Burndown chart Диаграмма, показывающаяколичество сделанной и оставшейся работы в спринте. Обновляется ежедневно с тем, чтобы в простой форме показать подвижки в работе над спринтом. •(©) Владислав Лавров, vlavrov.com
  • 38.
    38 Стэндап (Stand-up meeting) Собраниечленов команды (с возможностью приглашения владельца продукта) для синхронизации деятельности команды и обозначения проблем. Каждый член команды отвечает на три вопроса: 1. Что было сделано с предыдущего скраммитинга? (гордость) 2. Какие есть проблемы? (просьба о помощи) 3. Что будет сделано к следующему скрам митингу? (обещание) •(©) Владислав Лавров, vlavrov.com
  • 39.
    39 Жизненный цикл проектапо Scrum (упрощенная схема) •(©) Владислав Лавров, vlavrov.com
  • 40.
    40 Жизненный цикл проектапо Scrum •(©) Владислав Лавров, vlavrov.com
  • 41.
    41 Управление невыполненной работой ScrumBoard Как правило, это стикеры, на которых написано название задачи. Scrum Board должен иметь минимум три колонки: что нужно сделать, что в работе и что уже сделано. Степень важности каждой задачи можно отмечать разными цветами. •(©) Владислав Лавров, vlavrov.com
  • 42.
    42 Управление невыполненной работой (электронныесервисы) Клиентские сервисы TFS (Team Foundation Server ) •(©) Владислав Лавров, vlavrov.com
  • 43.
    43 Преимущества методологии Scrum •Предсказуемость сдачи релизов и выполнения проекта; • Повышение качества продукта: лучшее соответствие ожиданиям пользователей, уменьшение количества ошибок, за счёт их раннего обнаружения; • Увеличение продуктивности за счёт полного использования потенциала командной работы и фокусировки на производительности команды, а не на индивидуальной продуктивности; • Самоорганизация команды повышает мотивацию и обеспечивает обратную связь для корректировки процесса; • Значительно уменьшает нагрузку на менеджмент; • Повышение вовлечённости сотрудников — Agile часто является сильным мотивирующим фактором в команде, так как отводит большую роль человеческому фактору — эффективным коммуникациям, самоорганизации, инициативе и способности команды влиять на процесс. •(©) Владислав Лавров, vlavrov.com
  • 44.
    44 4.8. Перспективы развитиятехнологических подходов к разработке 1.Максимизация качества. 2.Максимизация скорости разработки. Основные направления совершенствования технологических подходов: •(©) Владислав Лавров, vlavrov.com