Catégories : Tous - требования - команда - взаимодействие - гибкость

par Евгений Мальцев Il y a 6 années

387

МиСПИСиТ-Тема4

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

МиСПИСиТ-Тема4

Управление проектом ИС

Обзор гибких процессов

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

Agile - методологии


Основные постулаты манифеста последователей гибких методологий (Agile Manifesto):

Agile - Методологии

Agile - Методологии

MSF for ASD

Microsoft Solutions Framework (MSF) for Agile Software Development.

AUP

  1. Моделирование используется для понимания бизнес-требования и предметной области
  2. Реализация – это преобразование модели в исполняемый код с модульными тестами
  3. Тестирование – способ поиска дефектов и верификации системы на предмет соответствия требованиям
  4. Размещение – доставка готовой системы пользователям
  5. Управление конфигурациями – управление доступом и версиями артефактов проекта
  6. Управление проектом – непосредственные активности, связанные с ходом проекта: управление и координация людей, управление рисками, управление финансами и так далее
  7. Среда – совокупность процессов, инструментов, стандартов и правил.

Kanban

Kanban

Цель – сократить время прохода задачи до «готовности».

Задача = ММФ – минимальная маркетинговая фича Уменьшение числа || выполняемых ЧЕЛОВЕКОМ задач (“work in progress”).

Визуализация задач.

Постоянное совершенствование производства.

Система очень проста, удобна как для веб-студий, так и для работы с фрилансерами.

Преимущества Kanban

Преимущества KANBAN

Основные правила Kanban

Основные правила

ICONIX

ICONIX

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

В рамках ICONIX используется подмножество UML для анализа требований:

Crystal Clear

Crystal Clear

«Легковесная» гибкая методология, созданная Алистером Коуберном (Cockburn, 2004).

Предназначена для небольших команд в 6-8 человек для разработки некритичных бизнес-приложений.

Семь методов/практик, три являются обязательными:

  1. Частая поставка продукта
  2. Улучшения через рефлексию
  3. Личные коммуникации
  4. Чувство безопасности
  5. Фокусировка
  6. Простой доступ к экспертам
  7. Качественное техническое окружение.

FDD

Feature-driven development – методология, созданная Джеффом Де Люка. Разработка ведется в пять этапов:

  1. Построение модели
  2. Создание списка функций
  3. Планирование реализации функций
  4. Создание архитектуры для функций
  5. Реализация функций.


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

Разделение и координация происходят на этапах 3-4.

SCRUM

SCRUM

Роли:


Фазы проекта:

Демо и ревью спринта

Демо и ревью спринта

Daily Scrum Meeting

Daily Scrum Meeting

– Что сделано вчера?

– Что будет сделано сегодня?

– С какими проблемами столкнулся?

Сессия планирования спринта

Сессия планирования спринта

В начале каждого спринта проводится два митинга:

– Результат: цель спринта (Sprint Goal) и Sprint Backlog – функциональность, которая будет разработана в течение следующего спринта для достижения цели спринта.

– Результат: Для каждого элемента Sprint Backlog определяется список задач и оценивается их продолжительность. 

Организация спринта

Организация спринта

Команда

Команда

Кроссфункциональная, Самоорганизующаяся и самоуправляемая, только групповая оценка, в одном месте

Скрам мастер

Скрам мастер

Product Owner

Product Owner

Артефакты Scrum

Артефакты Scrum

Всего 3 документа:

- Приоритезированный список имеющихся на данный момент бизнес-требований и технических требований к системе

- Product Backlog постоянно пересматривается и дополняется – в него включаются новые требования, удаляются ненужные, пересматриваются приоритеты.

Итерация в SCRUM

Итерация в SCRUM

XP

eXtreme Programming (XP) – Экстремальное программирование.


– выслушивание заказчика

– проектирование

– кодирование

– тестирование

Основные методики ХР

Основные методики ХР

XP – Что нужно знать разработчику

XP – Что нужно знать разработчику

XP – Что нужно знать заказчику

XP – Что нужно знать заказчику

XP – Что требуется от разработчика

XP – что требуется от разработчика

Основные черты XP

Основные черты XP

Agile - Документирование кода

Agile - Документирование кода

Agile - Тестирование

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

Agile - Проектирование

Agile - Проектирование

12 Принципов Agile

12 Принципов Agile

  1. Удовлетворение клиента за счёт ранней и бесперебойной поставки ценного программного обеспечения;
  2. Приветствие изменений требований даже в конце разработки (это может повысить конкурентоспособность полученного продукта);
  3. Частая поставка рабочего программного обеспечения (каждый месяц или неделю или ещё чаще);
  4. Тесное, ежедневное общение заказчика с разработчиками на протяжении всего проекта;
  5. Проектом занимаются мотивированные личности, которые обеспечены нужными условиями работы, поддержкой и доверием;
  6. Рекомендуемый метод передачи информации—личный разговор (лицом к лицу);
  7. Работающее программное обеспечение—лучший измеритель прогресса;
  8. Спонсоры, разработчики и пользователи должны иметь возможность поддерживать постоянный темп на неопределённый срок;
  9. Постоянное внимание улучшению технического мастерства и удобному дизайну;
  10. Простота—искусство не делать лишней работы;
  11. Лучшие технические требования, дизайн и архитектура получаются у самоорганизованной команды;
  12. Постоянная адаптация к изменяющимся обстоятельствам.

Обзор прогнозирующих процессов

Четыре «П» разработки ПО

Четыре «П» разработки ПО

Процесс

Процесс

Семейства процессов разработки ПО

– применяются при стабильных требованиях и многочисленной группе разработчиков разной квалификации;

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

Прогнозирующие методологии

Прогнозирующие методологии


Oracle Method

Oracle Method

Степень обязательности

Степень обязательности

Методология необязательна, но может считаться фирменным стандартом; при формальном применении степень обязательности полностью соответствует ограничениям возможностей адаптации


Степень адаптивности

Степень адаптивности

Ограничивается тремя разновидностями каскадной модели ЖЦ: "классическая" (предусмотрены все работы/задачи и этапы), "быстрая разработка" (Fast Track) (еще более сильно ориентированная на использование инструментов моделирования и программирования Oracle), "облегченный подход" (рекомендуемый в случае малых проектов и возможности быстро прототипировать приложения).

Методология не предусматривает:

Доработка

AIM – процесс «Доработка»

Доработка (2)

AIM разделяет доработку:


Доработка основного функционала BR.020 – BR.080 – MD.020

Последовательности задач

Последовательности задач (1)

Последовательности задач (2)

RD.020 – RD.030 – RD.070 – BR.020 – BR.080 – MD.020 – MD.060 – DO.070 – TE.110 – PM.050 – CV.140 – PM.080, где:

Методология Oracle CDM

Методология Oracle CDM

Стандарт, детализированный до уровня заготовок проектных документов, рассчитанных на прямое использование в проектах ИС с реализацией на инструментальных средствах Oracle.


Ориентирован на поддержку деятельности разработчика.

Процессы CDM

Процессы CDM

Фазы ЖЦ ИС Oracle CDM

Внедрение и Эксплуатация

Внедрение и Эксплуатация

Анализируются

– производительность и

– целостность системы,

выполняется поддержка и, при необходимости, модификация системы.

Реализация

Реализация

Проектирование

Проектирование

– определяется структура и состав БД;

– специфицируется набор программных модулей

Анализ

Анализ

– информационные, отражающие структуру и общие закономерности предметной области;

– функциональные модели, описывающие особенности решающих задач.

Стратегия

Стратегия

MOF

Microsoft Operation Framework (MOF)


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


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

MSF

MSF

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

Опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами при разработки решения.

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

Базовые принципы MSF

Базовые принципы MSF

Структура MSF

Структура MSF

ДВЕ МОДЕЛИ:


ТРИ ДИСЦИПЛИНЫ:

EUP

Enterprise UP


Потоки работ масштаба предприятия

OUP

Open UP

RUP

Rational Unified Process (RUP)

Основан на шести лучших советах по организации процесса разработки программного обеспечения:

Проект

Проект

Организационная сущность, упорядоченная совокупность действий, необходимых для создания конечного продукта:

Продукт

Продукт

Артефакт – любая полезная информационная сущность, создаваемая и используемая сотрудниками при создании программного обеспечения (информационной системы).

Артефакты:

Персонал

Персонал

Обсуждаются вопросы:

Главная тема

Управление программным проектом

Проект, управление проектом

Проект – это упорядоченная совокупность действий, направленная на достижение наперёд заданной цели, ограниченная требованиями к:


Понятие проекта 1

Понятие проекта 2


Управление проектами – это успешное управление изменениями некоторой материальной системы.

Понятие о риске

Понятие о риске

Стратегии работы с рисками

Стратегии работы с рисками

Стратегии поведения


RUP – работа с рисками

М. Фаулер. Классификация рисков

Политические риски

Существуют ли политические силы, которые могут оказаться на вашем пути и серьезно повлиять на выполнение вашего проекта?

Риски, связанные с квалификацией персонала

Риски, связанные с квалификацией персонала

Технологические риски

Технологические риски

Риски, связанные с требованиями

Риски, связанные с требованиями

Управление рисками

Что такое управление рисками? (РусРиск)

Это процесс:

Атрибуты рисков

Атрибуты рисков

Прямой и косвенный риски

Прямой и косвенный риски

Успех

Успех

Достижение всех требований и ограничений, ожидаемых от проекта.

Определение риска IT-проекта

Определение риска IT-проекта (Новиков, RUP)

Управление программным проектом в RUP

Управление программными проектами в RUP


На каждом этапе работ RUP разрабатывается своя группа моделей и документов (artifacts).

Основным результатом итеративного процесса является последовательное совершенствование моделей и документации (artifacts).

Фаза внедрения конечного продукта

Фаза внедрения конечного продукта

Фаза детального проектирования

Фаза конструирования (детального проектирования)

Фаза уточнения

Фаза уточнения (Elaboration)

Основными задачами фазы уточнения являются:

  1. Подробный анализ предметной области
  2. Определение не противоречащих друг другу базовых элементов архитектуры разрабатываемой системы
  3. Детализация плана проекта
  4. Выявление факторов риска, в наибольшей степени влияющих на успешное завершение проекта.


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

Начальная фаза разработки

Начальная фаза разработки (Inception Phase)

Управление программными проектами (О`Коннел)

АНАЛИЗ И ПЛАНИРОВАНИЕ

1. Наглядное представление цели

2. Сделайте список задач

3. Должен быть 1 руководитель

4. Распределите задач по людям

5. Управляйте ожиданиями.

КОНТРОЛЬ И ВЫПОЛНЕНИЕ ПЛАНА

6. Используйте подходящий стиль руководства

7. Знайте, что происходит

8. Сообщайте людям, что происходит

9. Повторяйте пп. 1-8 до достижения п. 10

10. Приз

Приз

Повторяйте пп. 1-8 до достижения п. 10

Сообщайте людям, что происходит

Сообщайте людям, что происходит

Знайте, что происходит

Знайте, что происходит

– Изменений нет

– Поправимый сбой

– Сбой, приводящий к изменению графика.

Используйте подходящий стиль руководства

Используйте подходящий стиль руководства

Управляйте ожиданиями

Управляйте ожиданиями

«поиск обновлений таблицы» «техническое обслуживание памяти»

Распределите задачи по людям

Распределить задачи по людям

Должен быть 1 руководитель

Должен быть один руководитель

Сделайте список задач

Сделай список задач и…

Наглядное представление цели

Наглядное представление цели

Признаки проектной деятельности

Признаки проектной деятельности:

Основные виды деятельности программной инженерии

Основные виды деятельности программной инженерии: