MSF состоит из следующих семи моделей, которые могут использоваться как самостоятельно, так и в комбинации друг с другом.
Предлагаемые комбинации моделей для различных типов проектов
Определяет следующий роли участников группы разработчиков:
| Роль | Описание |
| Product Management | Связь с клиентом. Должен понимать для чего нужен продукт, кто его будет использовать и.т.д. Составляет бизнес-правила. Объясняет всем участникам проекта, что надо собственно делать. |
| Program Management | Выработка решения, позволяющего получить нужный продукт в нужное время. Гарантирует оответствие продукта стандартам организации и правильную его работу в сетевой структуре организации. |
| Development | Программирование проекта. |
| Testing | Тестирование проекта. |
| User Education | Обучение пользователей. |
| Logistics | Инсталляция продукта. Переход на навые версии и.т.д. |
| Ключевая задача | Роль в группе |
| Работать в рамках ограничений,
наложенных на проект. (В первую очередь имеется в виду бюджет и сроки) |
Program Manager |
| Выполнить задачу согласно требованиям клиента | Development |
| Клиент должен быть доволен | Product Manager |
| Увеличить работоспособность пользователя | User Education |
| Выпускать проект только после устранения всех недоделок | Testing |
| Обеспечить беспроблемную инсталляцию продукта и его техническую поддержку | Logistics |
В случае, если количество участников в группе разработчиков меньше количества ролей, роли могут совмещатся. Но существует два ограничения при совмещении ролей:
| Роль | Внешняя группа | Причина |
| Product Management | Customer Senior management |
Зависит от клиента, так как должен узнавать от него требования к проекту. |
| Program Management | Customer | Создает функциональную спецификацию которая отвечает требованиям клиента. |
| Development | None | Избежание перебоев в работе, что может сказаться на ее качестве. |
| Testing | None | Избежание перебоев в работе, что может сказаться на ее качестве. |
| User Education | End User | Гарантирует, что пользователь сможет работать с продуктом. |
| Logistics Management | Operations and support groups | Обучает группу поддержки. |
Business case - это план действий, который представляется главному менеджеру менеджером продукта. Состоит из следующих частей:
Должен меняется в ходе разработки проекта и всегда отражать реальное состояние проекта.
Модель позволяет прояснить, что
собственно нужно сделать и сколько это
займет времени. Вся работа над пректом разбивается на
этапы. Все этапы выполняются
последовательно. Работа над следующим
этапом не начинается, пока не закончена
работа над предыдущим. Результатом
каждого этапа является milestone, которые
нужны не сколько для индикации окончания
этапа, сколько для синхронизации работы
всех участников группы разработчиков и
проверки достигаются ли требования
клиента.
Envisioning phase
Определяются требования к проекту.
Направление усилий команды в нужное
русло.
Результатом этапа является Vision/Scope Approved
milestone. Visions устанавливают основные
требования и цели продукта, а Scope -
основные ограничения. В результате
получается что-то типа: неплохо было бы
включить в проект 20 функциональных
возможностей, время позволяет включить
только 15, а 5 добавить потом в следующей
версии.
Planning phase
На этом этапе клиент и команда
разработчиков силят и конкретно решают
что и как должно быть построено в
продукте. Решаются такие вопросы как
язык написания проекта и расстановка
приоритетов. В результате получается
Project Plan Approved milestone в котором приведены
функциональная спецификация и
расписание.
Developing phase
На этом этапе начинается
программирование. Этап может быть
разбит на несколько частей. Результат -
Scope complete/First Use milestone. В документации
содержатся информация о
характеристиках не включенных в
текущую версию и когда они появятся в
следующих версиях.
Stabilizing phase
На этом этапе происходит
тестирование и устранене ошибок в
проекте. Конечной точкой является Release
milestone.
Каждый проект имеет три взаимосвязанных элемента: характеристики, сроки и ресурсы. Эти элементы графически можно представить в виде треугольника. Как три линии составляют треугольник так и три этих элнмента представляют собой проект. Изменение длины каждой из строн треугольника соответственно уменьшает одной или обоих остальных.
Например. Если клиент хочет добавить несколько новых характиристик в проект, то соответственно должны быть пересмотрены сроки и ресурсы.
Для установки приоритетов обычно составляется матрица компромисов, которая выглядит следующим образом
| Optimize | Constrain | Accept | |
| Ресурсы | |||
| Сроки | |||
| Характеристики |
В каждой строке должен обязательно стоять один крестик. Важно, чтобы колонка Accept была помечена хотя бы в одной строке.
Предназначена для конструирования архитектуры приложения. Описывает компоненты (COM) из которых будет состоять приложение и способы их взаимодействия. Приложение разбивается на множество потребителей (consumer) и поставщиков (supplier). Потребитель использует службы (services) предлагаемые поставщиком. Служба - это часть логики приложения выполняющая операцию, функцию или еще какое преобразование объектов.
Каждое приложение представляется совокупностью трех уровное служб:
User Service
Business Services (middle-tier services)
Data Services
Если проект достаточно большой и сложный, то имеет смысл разбить его на несколько частей и разрабатывать их как субпроекты параллельно. Сушествует две причины для этого:
"Дайте людям то что они хотят" -
девиз этой модели. Модель помогает
команде разработчиков предвидеть
потребности пользователя путем
включения его в разработку модели.
Включает в себя
3 проекции (perspective).
Conceptual design
Logical design
Physical design
Модель позволяет составить
рекомендации по планированию, построению
и управлению технической
инфраструктурой организации.
Описывает все ресурсы, необходимые для
поддержки технической инфраструктуры.
Technologies and standards
Operational processes
People and organization resources
Оптимизация ресурсов, направленная на
минимизацию стоимости проекта.
Факторы, которые могут быть
оптимизированы:
Cost model elements
Показывает цены относительно текущих
средних цен
Components
Software и Hardware используемое в
организации
Operations
Элементы, необходимые для
нормального функционирования
программного обеспечения, такие как
Management
Администрирование сети, данных и др.
Hidden costs
Downtime and other costs
Разработка и тестирование
Для оптимизации вышеперечисленных
факторов модель применяет 3-х этапную
модель. Этапы выполняются
последовательно.
Benchmark and Baseline phase
Benchmark - общая цена, базируящаяся на
средних ценах на рынке.
Baseline - реальная цена внедрения
технологии
Improvement phase
Предложения по минимизации стоимости
внедрения технологий. Определение
стратегии.
Management phase
Сравнение того что хотелось получить с тем что получилось
| Project | Model |
| standard desktop | Team Process Infrastructure TCO |
| Планирование сетевой архитектуры | Team Process Enterprise Architecture Infrastructure TCO |
| Построение intranet | Team Process Enterprise Architecture Infrastructure |
| Internet приложение | Team Process Solution Design Application Infrastructure |
| Инфраструктура сообщений | Team Process Enterprise Architecture Infrastructure |
| Сайт электронной коммерции | Team Process Solution Design Enterprise Architecture Infrastructure |