- •Глава 1. Проектирование и разработка программных продуктов (теория)
- •Пояснение.
- •Фазы и их основные результаты.
- •Этап “Одобрение плана проекта”
- •Фаза “Разработка”
- •Этап “Завершение разработки”
- •Фаза “Стабилизация”
- •Этап “Выпуск продукта”
- •Выпуск версий
- •Планирование процесса
- •Поиск компромиссов
- •Ежедневная сборка
- •Назначение концепции
- •Стадии проектирования
- •Задание 3
- •Задание 4
- •Задание 5
- •Задание 6
- •Подготовить все программы. Аттестация по итогам защиты программных проектов.
Этап “Выпуск продукта”
Достижение этапа “Выпуск продукта” – главная задача проектной группы. Он свидетельствует о завершении работы над продуктом и готовности к развертыванию. Кроме того, на этом этапе происходит перераспределение ответственности за продукт – от группы разработки к группе логистики и сопровождения. Для достижения этапа “Выпуск продукта” необходимы следующие результаты:
окончательная версия продукта,
документация к окончательной версии,
материалы для сопровождения приложения и поддержки пользователей,
результаты и средства тестирования,
архивы проекта,
обзор всех основных этапов проекта.
На этом этапе продукт готов к выпуску и эксплуатации. Этап “Выпуск продукта” свидетельствует о том, что все участники согласны с тем, что:
продукт стабилен и все известные ошибки устранены,
продукт принят заказчиком,
ответственность за сопровождение передается группе логистики и сопровождения,
группа начинает работу над следующей версией продукта.
Замечание. Начинающие часто намеренно сокращают первую и последнюю стадии модели процесса разработки MSF. У всех проектов разработки программного обеспечения есть две общих составляющих: проектирование и кодирование. Эти составляющие практически точно проецируются на две фазы модели процесса разработки: “Планирование” и ”Разработка”.
Лекция 6. Общие замечания к модели разработки MSF
Принципы модели процесса разработки
Модель процесса разработки MSF играет ключевую роль в организации процесса разработки, указывая, какие действия и когда должны выполняться. У этой модели есть особенности. Первая – это тесная связь с моделью проектной группы, сочетание которой с моделью процесса разработки значительно повышает эффективность процесса. Вторая особенность – это принципы и практика модели процесса разработки:
выпуск версий продукта,
постоянно “живущие” документы,
планирование процесса с учетом неопределенностей,
поиск компромиссов,
управление рисками,
ориентация на выпуск продукта в срок,
разбиение больших проектов на управляемые части,
ежедневная сборка продукта,
контроль “снизу-вверх”.
Выпуск версий
Рекомендуется придерживаться стратегии, разбивающей большой проект на несколько последовательных выпусков версий продукта без промежуточной фазы сопровождения. Найдя компромисс между ограничениями и характеристиками продукта и приняв план выпуска продукта, группа должна как можно скорее начать цикл выпуска версий. Выпуск версий продукта позволяет проектной группе своевременно реагировать на изменение требований, графика и рисков. Регулярное обновление продукта позволяет поддерживать постоянный контакт с заказчиком и учитывать его пожелания в следующих выпусках.
Преимущества последовательного выпуска версий продукта:
контакт с заказчиком: выпуск версий позволяет постоянно поддерживать контакт группы с заказчиком, информируя его о состоянии продукта, и учитывать в следующих выпусках лучшие идеи обоих сторон.
Ранняя версия: группа может быстро выпустить базовый набор функциональных возможностей и собрать отклики от заказчика и пользователей. Если заказчик видит, что работа над продуктом идет в соответствии с графиком, он гораздо спокойнее относится к переносу некоторых функциональных возможностей в следующий выпуск.
Ограниченный круг решаемых вопросов: выпуск версий позволяет всегда иметь дело с относительно компактным кругом вопросов и решать эти проблемы на стадии выпуска очередной версии.
Ясность целей: выпуск версий ставит перед группой четкие и ясные задачи, что позволяет сосредоточиться на решение вопросов, связанных с текущей версией, быстрее добиваться результата и постоянно прогрессировать. Версии позволяют разбить работу на небольшие части, которые хорошо управляемы, имеют ясную цель и дают конкретный результат.
Свобода и гибкость: выпуск версий дает группе больше свободы в выборе приоритетов и придает дополнительную гибкость процессу проектирования, позволяя своевременно реагировать на изменение бизнес-требований.
Последовательное и постоянное расширение функциональных возможностей продукта: выпуск версий позволяет группе планомерно расширятьфункциональные возможности продукта. Последовательность и планомерность производят чрезвычайно выигрышное впечатление на заказчика.
Замечание 1. Одно из важнейших следствий согласия заказчика и пользователей на перенос части функциональных возможностей в следующую версию – их уверенность в том, что следующая версия действительно появится. Если такой уверенности нет, то они будут требовать реализации всех по их мнению необходимых характеристик в текущей версии, что вряд ли упростит жизнь разработчикам. Частый выпуск версий повышает уверенность заказчика в том, что все требования будут реализованы.
Замечание 2. Еще один способ убедить заказчика и пользователей – предусмотреть выпуск нескольких версий продукта с самого начала. Такой план с распределением функциональных возможностей по версиям также позволяет повысить уверенность заказчика в том, что проект будет реализован.