Введение

Microsoft Solutions Framework (MSF) — это набор принципов, моделей, дисциплин, концепций и рекомендаций для предоставления ИТ-услуг от Microsoft. MSF не ограничивается только разработкой приложений, он также применим к другим ИТ-проектам, таким как внедрение, сетевые проекты или проекты по инфраструктуре. MSF не предписывает разработчику использование конкретной методологии (например, каскадной модели или гибкой разработки программного обеспечения).

История

MSF был впервые представлен Microsoft в версии 1.0 в 1993 году, а версия 2.0 была выпущена в 1997 году. В 2002 году была выпущена версия MSF 3.0. Она изменила версию 2.0 следующим образом:
Объединила ранее отдельные модели в единые модели команды и процесса, предназначенные для применения в различных типах проектов, включая развертывание, интеграцию корпоративного программного обеспечения и проекты разработки. Модели разработки приложений и развертывания инфраструктуры были объединены в единую модель процесса, состоящую из пяти фаз. Были добавлены дисциплины управления проектами и управления готовностью. В дисциплину управления рисками были внесены изменения. Установлены связи между MSF и Microsoft Operations Framework (MOF). Была добавлена программа подготовки специалистов MSF, предназначенная для обучения людей, чтобы они могли руководить или участвовать в проектах MSF. Версия MSF 4.0 была выпущена в 2005 году. Этот выпуск стал значительным обновлением модели процесса (теперь называемой моделью управления) и модели команды. MSF 4.0 включал в себя методики для двух отдельных методологий: MSF для гибкой разработки программного обеспечения (MSF Agile) и MSF для повышения зрелости процессов CMMI (MSF4CMMI).

Компоненты

MSF 4.0 представляет собой сочетание метамодели, которая может служить основой для нормативных процессов разработки программного обеспечения, и двух настраиваемых и масштабируемых процессов разработки программного обеспечения. Метамодель MSF состоит из основополагающих принципов, командной модели, циклов и итераций. MSF 4.0 предоставляет более высокий уровень рекомендаций и принципов, которые можно сопоставить с различными шаблонами нормативных процессов. Она структурирована как описательными, так и нормативными методологиями. Описательный компонент называется метамоделью MSF 4.0, которая представляет собой теоретическое описание лучших практик SDLC для создания методологий SDLC. Microsoft полагает, что организации имеют различные динамики и противоречивые приоритеты в процессе разработки программного обеспечения; некоторые организации нуждаются в оперативной и адаптивной среде разработки, в то время как другие – в стандартизированной, воспроизводимой и более контролируемой среде. Для удовлетворения этих потребностей Microsoft представляет метамодель MSF 4.0 в виде двух шаблонов нормативной методологии, которые предоставляют конкретные рекомендации по процессу для гибкой разработки программного обеспечения (MSF4ASD) и для модели зрелости возможностей (MSF4CMMI). Эти процессы разработки программного обеспечения могут быть изменены и настроены в соответствии с предпочтениями организации, заказчика и команды проекта. Философия MSF заключается в том, что не существует единой структуры или процесса, который оптимально подходил бы для требований и условий всех типов проектов. Поэтому MSF поддерживает множество подходов к процессам, что позволяет адаптировать его для поддержки любого проекта, независимо от размера или сложности. Эта гибкость означает, что он может поддерживать широкий спектр вариаций в реализации процессов разработки программного обеспечения, сохраняя при этом набор основных принципов и подходов. Процессная модель MSF состоит из серии коротких циклов разработки и итераций. Эта модель предполагает быструю итеративную разработку с непрерывным обучением и совершенствованием благодаря углубляющемуся пониманию бизнеса и проекта заинтересованными сторонами. Выявление требований, разработка продукта и тестирование происходят в перекрывающихся итерациях, что приводит к постепенному завершению и обеспечивает непрерывную поставку ценности проекта. Каждая итерация имеет свою направленность и приводит к созданию стабильной части общей системы.