Лекция: Использование пакета руководств Microsoft Solution Framework
Microsoft Solution Framework (MSF) — пакет руководств по эффективному проектированию, разработке, внедрению и сопровождению информационных систем. Особенностью Microsoft Solution Framework считается высокий уровень гибкости и отсутствия жестких процедур, что позволяет решать широкий круг проблем, появляющихся при разработке и внедрении информационных систем.
Считается, что для внедрения и разработки различного программного обеспечения не существует единой оптимальной методологии. MSF ориентирован, в первую очередь, на оптимальное управление процессом разработки и внедрения. Главными принципами MSF можно назвать:
— Производительность: Сделать команду разработчиков более производительной за счёт хорошо налаженного управления процесса разработки.
— Интегрируемость: Решения и управление представлены инструментальными средствами, посредством плавной интеграции любых наборов инструментальных средств, справки и содержания MSF. Все эти элементы легко обновляются через MSDN.
— Расширяемость: Процесс управления и справка полностью настраиваемы в пределах MSF, что позволяет разработчикам либо выбрать предустановленный подход (быстрый или более структурированный подход, каждый из которых включает в себя наборы предложенных сценариев), либо определить свой собственный подход, используя эти сценарии.
MSF состоит из двух моделей и трех дисциплин. Они подробно описаны в 5 whitepapers:
— модели:
o модель проектной группы;
o модель процессов;
— дисциплины:
o дисциплина управление проектами;
o дисциплина управление рисками;
o дисциплина управление подготовкой.
Модели
Модель процессов
Модель процессов MSF представляет общую методологию разработки и внедрения IT решений. Тремя особенностями модели процессов MSF являются:
— Подход, основанный на фазах и вехах.
— Итеративный подход.
— Интегрированный подход к созданию и внедрению решений.
Эта модель сочетает в себе свойства двух стандартных производственных моделей: каскадной и спиральной. Цикл спиральной модели разработки разделён на последовательные бизнес — процессы. При этом функциональность программного продукта наращивается поэтапно (версионно). На первом этапе создается первая версия продукта, включающая базовую функциональность. В следующих версиях происходит увеличение функциональности в соответствии с требованиями бизнеса.
Все виды ограничений, накладываемые на проект, образуют треугольник приоритетов в MSF.
После достижения равновесия в этом треугольнике изменение на любой из его сторон для поддержания баланса требует модификаций на другой (двух других) сторонах и/или на изначально измененной стороне.
Нахождение верного баланса между ресурсами, временем разработки и возможностями – ключевой момент в построении решения, должным образом отвечающего нуждам заказчика.
Треугольник приоритетов является основой для матрицы компромиссов (project tradeoff matrix) – заранее утвержденных представлений о том, какие аспекты процесса разработки будут четко заданы, а какие будут согласовываться или приниматься как есть.
Зафиксировать приоритеты в проектной документации можно с помощью простых текстовых оборотов: «Зафиксировав ресурсы, мы согласовываем календарный график и принимаем результирующий объем функциональности решения» или «Зафиксировав объем функциональности решения, мы согласовываем затрачиваемые ресурсы и принимаем результирующие сроки» и т.п. В дальнейшем возврат к приоритетам может сильно помочь при нахождении компромисса внутри проектной группы
Модель процессов описывает общую методологию разработки и внедрения информационных систем и включает в себя:
— стадию разработки концепции проекта,
— стадию разработки плана проекта,
— разработку решения,
— внедрения релизов,
— тестирование.
Также в модель процессов входит подготовка документации и обучение пользователей работе с новым программно – аппаратным обеспечением.
Вехи — ключевые точки, которые определяют промежуточный или конечный результат, который может быть оценен и проанализирован. Считается, что ключевые точки проекта могут изменяться в соответствии с требованиями к проекту.
MSF предполагает создание «живой документации», которая изменяется по мере эволюции проекта. На этапе разработки концепции документация распространяется исключительно среди членов проектных групп. По мере подключения дополнительных специалистов к реализации проекта они получают возможность ознакомиться с проектной документацией и внести изменения в часть документов, попадающих в их зону ответственности. Измененная документация попадает на проверку всем заинтересованным сторонам и описанный процесс повторяется.
Создание базовых версий программных продуктов позволяет членом команды начать разработку в максимально короткие сроки. При этом необходимо «как можно чаще собирать текущие версии всех компонентов решения для проведения тестирования и анализа». Большие проекты рекомендуется разделять на множество маленьких. Каждый локальный проект разрабатывается и тестируется отдельной командой.
При использовании подхода Microsoft для разработки программного обеспечения необходимо использовать процесс управления конфигурациями (configuration management). Данный процесс обеспечивает мониторинг за состоянием различных версий программного продукта и его документации. Следует отметить, что управление конфигурациями в Microsoft Solution Framework, не имеет ни какого отношения к схожему по названию процессу из Microsoft Operations Framework.
Microsoft Solution Framework — закрывает весь процесс разработки решения и включает пять основных фаз, «каждая фаза заканчивается главной вехой, результаты которой становятся видимыми за пределами проектной команды». Фазами являются:
— Выработка концепции (Envisioning) описывает процесс создания проектной группы, выработка высокоуровневого взгляда на цели и условия проекта. По завершению этой фазы определяются общие задачи проекта, описывается требуемая функциональность, ограничения по времени.
— Планирование (Planning) описывает набор работ по составлению планов проекта. Происходит подготовка спецификаций, разработка дизайна, оценка проектных затрат и сроков разработки. Функциональные спецификации и календарный план — график проекта необходимы для определения жестких рамок проекта.
— Разработка (Developing) включает процесс подготовки определенной версии программного продукта и документации к нему. Следует отметить, что некоторая часть этой работы может быть выполнена на фазе стабилизации программного продукта.
— Стабилизация (Stabilizing) обеспечивает тестирование программного продукта. В соответствии с моделью команд MSF тестированием и разработкой не могут заниматься одни и те же специалисты. На данном этапе тестировщики выполняют поиск ошибок, а проектная группа занимается их устранением.
— Внедрение (Deploying) включает установку всех компонентов решения и их запуск в эксплуатацию. После приемки программного продукта в эксплуатацию ответственность переходит от проектной группы к службе поддержки программного продукта. Следует отметить, что при возникновении проблем с программным продуктом, проектная группа может принимать участие в их устранении.
Модель проектной группы
Модель проектной группы описывает состав распределенной команды разработчиков, определяет ролевые функции, их области компетенции и зоны ответственности. В соответствии с MSF проектные группы строятся, как небольшие команды, члены которых распределяют ответственность между собой.
Успешное использование модели проектной группы MSF основывается на ряде ключевых концепций (key concepts):
1. команда соратников;
2. сфокусированность на нуждах заказчика;
3. нацеленность на конечный результат;
4. установка на отсутствие дефектов;
5. стремление к самосовершенствованию;
6. заинтересованные команды работают эффективно.