Методологии разработки программного обеспечения
Введение
Основные компоненты и модели MSF
Процесс MSF
Модель команды
Модель приложения
Проектирование компонентного ПО
Планирование архитектуры предприятия
Введение
Microsoft Solutions Framework (модель разработки приложений Microsoft) — это
набор концепций и рекомендуемых моделей, которые позволяют разрабатывать и внедрять
информационные системы на основе технологий и инструментальных средств Microsoft.
Многие концепции MSF хорошо известны. MSF является одной из интерпретаций спиральной
(циклической) модели разработки приложений и базируется на практических результатах
организации распределенных вычислений и применения технологий «клиент-сервер»
компании Microsoft, ее партнеров и заказчиков.
Главной целью MSF, как и любой методологии проектирования приложений, является
создание рабочего приложения вовремя и в рамках установленного бюджета. MSF
предлагает хорошо зарекомендовавшие себя практики планирования, разработки и
внедрения информационных технологий. В то же время MSF не является простым набором
инструкций, которым полагается следовать безоговорочно, — этот процесс достаточно
гибок и расширяем. Основной сайт, посвященный методологии MSF: http://www.microsoft.com/msf.
Основные компоненты и модели
MSF
MSF содержит следующие модели:
• Team Model (Модель команды) — описывает коллектив, в котором
работа одного сотрудника зависит от другого;
• Proccess Model (Модель процесса) — позволяет определить
принципы планирования и контроля проектов;
• Application Model (Модель приложения) — помогает создавать
приложения, максимально используя готовые компоненты;
• Enterprise Architecture Model (Модель архитектуры корпорации)
— обеспечивает принятие решения по технологиям; она очень важна для эффективного
использования новых технологий;
• Solution Desing Model (Модель проектирования решений) —
показывает, каким должно быть приложение с точки зрения пользователя. Эта модель
связывает приложение, команду разработчиков и процесс разработки;
• Infrastructure Model (Модель управления инфраструктурой)
— определяет принципы управления пользователями в больших сетях;
• Total Cost of Ownership Model (Модель стоимости владения
продуктом) — позволяет оценивать расходы на информационные технологии.
Базовыми компонентами методологии являются:
• Solution Development Discipline (SDD) — дисциплина разработки
решений. Содержание этой дисциплины связано с уникальными моделями: моделью
команды и моделью процесса, которые рекомендуется использовать для организации
эффективных команд проектов и управления жизненным циклом проекта. SDD включает
три фундаментальные модели MSF:
— масштабируемая модель команды разработки — описывает принципы организации
группы людей, ответственных за разработку приложения,
— итеративная модель процесса разработки — описывает, как должен быть организован
процесс,
— сетевая трехслойная модель приложения — описывает, какой должна быть структура
приложения, удовлетворяющего современным требованиям;
• Designing Component Solutions (DCS) — проектирование компонентного
ПО. Эта дисциплина направлена на поддержку процесса проектирования сложных моделей
распределенных вычислений;
• Enterprise Architecture Planning — планирование архитектуры
предприятия. С точки зрения Microsoft, это итеративный процесс, сосредоточенный
на долгосрочном планировании, но при этом направленный на достижение результатов
в максимально сжатые сроки;
• Infrastructure Deployment and Management — управление технологической
инфраструктурой. Эта дисциплина содержит подход к процессу внедрения в масштабах
предприятия как новых информационных технологий, так и отдельных программных
продуктов и приложений.
Ниже мы рассмотрим ключевые модели, отличающие MSF от других коммерческих реализаций
спиральной методологии разработки.
Процесс MSF
Модель процесса SDD представляет собой один из вариантов спиральной модели:
когда один цикл внедрения близок к завершению, уже должен планироваться следующий.
Это связано со скоростью изменения бизнес-процессов, а также с быстрым развитием
информационных технологий. Сдвиг фаз нового цикла относительно предыдущего может
быть разным для различных проектов. Последовательность фаз в витке является
логической в смысле зависимости последующих фаз от предыдущих. Это не означает,
что фазы выполняются во времени строго одна за другой и следующая фаза может
начаться только по окончании предыдущей. Фазы могут выполняться параллельно
и быть частично или полностью совмещенными по времени. Кроме того, сами фазы
проекта носят итеративный характер. По достижении очередной вехи полученные
материалы немедленно подвергаются проверке и оценке, результаты вызывают очередную
итерацию уже проделанных работ, что не мешает начинать и продолжать дальнейшую
работу в остальной части проекта.
Цикл (виток спирали) разработки включает четыре фазы и завершается выпуском
версии продукта. Каждая фаза представляет собой определенную последовательность
действий и завершается вехой (milestone).
• Первая фаза — Анализ (Envisioning). На данном этапе формируется
представление о продукте на данном витке спирали. Это гарантирует, что разрабатываемый
продукт будет соответствовать как текущим, так и перспективным целям компании,
а также поможет скорректировать направление развития компании. Данная стадия
требует глубокого осмысления целей проекта. Формирование представления позволяет
избежать, например, инвестирования в незначительные или неэффективные проекты.
В результате этой стадии составляется представление о продукте, определяются
его функциональные возможности и оцениваются результаты. Если новый продукт
получает одобрение, то составляется группа разработки проекта, задача которой
— выработать концепцию продукта. На этом этапе фиксируются цели и определяется
четкое направление разработки. Здесь же устанавливаются возможности конкретной
версии продукта или службы и оцениваются тенденции развития продукта в следующих
версиях. Вехой данной фазы является утверждение представления.
• Вторая фаза — Планирование (Planning). С точки зрения Microsoft,
планирование — это процесс согласования требований потребителей и группы проекта,
касающихся конечного продукта и направления разработки продукта. Это метод прогнозирования
рисков, выработки приоритетов и оценки графика работ и необходимых ресурсов.
Фаза планирования завершается одобрением плана проекта, который включает функциональную
спецификацию — комбинированные планы для каждого члена группы в соответствии
с требованиями модели команды и график работ. Функциональная спецификация достаточно
детализирована, чтобы позволить группе проекта определить потребности в ресурсах
и ее обязательства. Вехой данной фазы является утверждение плана проекта.
• Третья фаза — Разработка (Developing). Стадия разработки
завершается реализацией возможностей продукта и проверкой их на практике. Группа
разработки определяет промежуточные этапы выпуска продукта, каждый из которых
включает полный цикл тестирования, отладки и внесения исправлений. На этом этапе
потребители и группа разработки оценивают функциональные возможности продукта
и проверяют оптимальность планов развертывания и поддержки. Разработка в целом
завершается, а все нереализованные возможности документируются для включения
в следующие версии. Вехой данной фазы является завершение разработки, альфа-версия
(передается тестерам, пользователям, начинается устранение ошибок).
• Четвертая фаза — Стабилизация (Stabilizing). На этой стадии
акцент переносится с разработки решения на проверку его работоспособности в
реальных условиях и на полномасштабное тестирование. Стадия стабилизации завершается
выпуском продукта, который передается группам развертывания и сопровождения.
Группе проекта поручают создание следующей версии либо подключают к работе над
другими проектам. Вехой данной фазы является релиз продукта.
Контрольными точками процесса являются вехи (milestones).
Работа команды ориентирована на достижение вех, что сопровождается появлением
и фиксацией того или иного отчуждаемого материала (документа, программы, протокола
и т.д.). Веха — это время проведения инспекций (фазовых обзоров), на которых
обсуждаются достигнутые результаты и принимаются решения. Перечисленные выше
ключевые вехи являются внешними, то есть отчуждаемые материалы вехи согласуются
с заказчиком. Очень важно, что каждая веха — это точка синхронизации, в которой
происходит взаимное согласование точек зрения исполнителей (команды проекта),
заказчиков, пользователей. Следует отметить, что вехи MSF являются точками не
«замораживания» проекта (когда одна группа передает результаты своей работы
другой группе), а его синхронизации. Все изменения артефактов, полученных в
процессе работы над проектом, строго контролируются. Они вносятся не произвольно,
а только после согласования на внутренних обзорах. Таким образом обеспечивается
возможность принятия решения максимально рано, а «замораживания» проекта — максимально
поздно.
Кроме внешних вех, могут быть (и даже рекомендованы) внутренние вехи — события,
которые происходят между внешними вехами и свидетельствуют или о достижении
какой-либо цели, или о начале и конце какой-либо работы. Внутренние вехи позволяют
итеративно создавать итоговые материалы фазы, посредством нескольких обзоров
добиваясь нужного качества или содержания.
Модель команды
Модель, рекомендуемая SDD, предусматривает, что для выполнения проектов необходимо
организовать команду специалистов по шести направлениям (ролям):
• управление продуктом;
• управление программой;
• разработка;
• тестирование;
• обучение пользователей;
• сопровождение (логистика).
Исходя из размера проекта определяется, может ли тот или иной член команды совмещать
различные роли. В каждую из ролевых групп может входить не более шести человек;
при этом один из них назначается руководителем (лидером) группы — он осуществляет
руководство и согласование по всем работам, а остальные члены группы являются
исполнителями.
Задачи, обязанности (ответственность) и требуемые профессиональные качества
каждой роли четко определены, каждому члену группы и группе в целом делегированы
достаточные полномочия в сочетании с высокой степенью ответственности.
Каждый исполнитель сам оценивает трудоемкость той части проекта, за которую
он отвечает; консолидированная оценка трудоемкости проекта складывается на основе
собственных оценок исполнителей, что делает реально достижимыми цели и планы-графики
работ.
Работа групп последовательно ориентирована на удовлетворение требований и ожиданий
конечных пользователей. Непроизводительные трудозатраты на поддержание формальных
и субординационных связей сведены к минимуму.
Модель сравнительно легко масштабируется. Каждый элемент в схеме команды может
быть, в свою очередь, циклом.
Таким образом, модель команды MSF очень демократична, поскольку в ней нет явно
выделенного центра, строгой иерархической структуры. Модель команды MSF — это
команда равных (peer). Схематически ее принято изображать в виде круга, где
все роли равноправны и связаны друг с другом.
Модель приложения
Модель приложения MSF основана на трех основных понятиях.
Многослойное (Multi-tier) приложение — позволяет адекватным образом описать
различные аспекты распределенных приложений. Модель приложения MSF выделяет
три основных слоя:
• пользовательский интерфейс;
• бизнес-правила;
• управление данными.
Служба (Service) — позволяет описывать логическую структуру приложения в объектно-ориентированном
стиле. Служба — это набор взаимосвязанных функций, выполняющих некоторые действия
или доставляющих информацию в соответствии со спецификой службы. Функциональность
службы доступна только через заранее описанный интерфейс, который скрывает все
детали реализации. В рассматриваемой трехслойной модели приложения службы делятся
на три категории:
• информационные службы;
• бизнес-службы;
• пользовательские службы.
Логически приложение представляет собой некую сеть служб. Затем логическая модель
приложения в форме сети служб транслируется в физическую: все логические службы
упаковываются в физические объекты — компоненты, которые реализуются затем в
виде программных модулей. Получившаяся в результате такой компоновки архитектура
называется физической архитектурой, или архитектурой реализации.
Компонент (Component) — описывает разбиение программного кода на модули, ориентированные
на их многократное использование и предоставляющие описанные в спецификации
сервисы через опубликованный интерфейс. Компонент представляет собой многократно
используемый «черный ящик» и определяется тем, как он взаимодействует с другими
компонентами, а не своей внутренней реализацией. Компонент реализует некоторое
множество функций системы и имеет формальные и явно описанные интерфейсы.
Проектирование компонентного ПО
Процесс проектирования MSF состоит из трех стадий.
Первая стадия — концептуальное проектирование — это описание точки зрения пользователя
на проект. На этом этапе происходит следующее:
• определение существа проблемы, подлежащей решению, установление цели разработки;
• идентификация основной деятельности: определяются границы области, которую
покрывает разрабатываемое решение, причем как перспективные, так и реальные;
• классификация пользователей: группирование пользователей по категориям и описание
требований и ожиданий каждой категории;
• составление сценариев «Как есть» и «Как должно быть». Сценарии являются основным
выходом стадии концептуального проектирования;
• проверка, оценка и итеративное проектирование. Все стадии проектирования,
во-первых, носят итеративный характер, а во-вторых, взаимно перекрываются. Построенный
концептуальный проект немедленно подвергается проверке и оценке, результаты
которой вызывают очередную итерацию концептуального проектирования, что не мешает
начинать и продолжать логическое и физическое проектирование.
Вторая стадия — логическое проектирование — это точка зрения группы проектировщиков
на приложение. Логическое проектирование является ядром процесса разработки.
Центральной задачей логического проектирования при использовании рекомендуемой
MSF модели приложения является вычленение и спецификация служб. Сюда же относятся
создание информационной модели, разбиение слишком большой системы на подсистемы
и итеративная верификация логического проекта. Результатом логического проектирования
является логическая модель приложения, то есть на этой стадии должны быть спроектированы
службы, а также специфицированы реализуемые ими функции и интерфейсы.
Третья стадия — физическое проектирование — это точка зрения программистов
на приложение. Результатом физического проектирования является физическая архитектура
приложения, то есть специфицированы все компоненты приложения. Основное содержание
этой стадии — упаковка служб в физические компоненты приложения.
Планирование архитектуры предприятия
Цель планирования архитектуры предприятия (Enterprise architecture planning)
— показать менеджерам предприятия, занимающимся планированием бизнеса, как связаны
между собой бизнес-цели и информационные технологии, направленные на поддержку
этого бизнеса, а кроме того, как можно использовать фундаментальные модели для
планирования развития бизнеса. Без подобного документа, ориентированного на
менеджеров высшего уровня, обосновать и утвердить финансовый план внедрения
новых информационных технологий весьма и весьма сложно, так как специалисты
в области информационных технологий и бизнес-менеджеры «разговаривают на разных
языках». Цель данного компонента методологии — нахождение общего языка. В рамках
данного обзора мы не предполагаем давать стилевые рекомендации о том, как создавать
такого рода документ или иной артефакт, на основании которого менеджмент будет
принимать решение, а лишь укажем набор необходимых аспектов, которые рекомендуется
включить в документы.
Enterprise в терминологии MSF — это единица организационной структуры, которая
имеет самостоятельную бизнес-задачу (mission). Таким образом, речь может идти
как о предприятии в целом, так и о его департаментах, отделениях, отделах и
т.д.
Модель архитектуры предприятия предполагает наличие архитектуры бизнеса и архитектуры
приложений:
• архитектура бизнеса — определяет основную цель бизнеса и бизнес-процессы,
необходимые для достижения этой цели. Она описывает, как эти бизнес-процессы
выполняются, и определяет возможности для реорганизации, основанной на изменениях
рынка, конкурентоспособной позиции и технологических возможностях;
• архитектура приложений (прикладная архитектура) — определяет набор приложений,
которые должны поддерживать бизнес-процессы на предприятии, устанавливает приоритеты
для автоматизации бизнес-процессов и/или реорганизации уже работающих приложений.
Эти приоритеты основываются на целевой бизнес-архитектуре. Прикладная архитектура
показывает способ, с помощью которого приложения будут создаваться, чтобы поддерживать
бизнес-процессы;
• информационная архитектура — определяет:
— существенные бизнес-объекты (например, заказчики, заказы и т.д.) и отображает
их на бизнес-процессы предприятия, то есть определяет их владельцев и пользователей,
— концептуальную модель данных для объектов и их связей,
— текущую информационную топологию (распределение данных по подразделениям или
серверам),
— целевую топологию для будущей бизнес-архитектуры;
• технологическая архитектура — определяет текущую технологическую базу предприятия
и, основываясь на бизнес-архитектуре и прикладной архитектуре, а также на оценке
новых технологий, описывает, какие технологии и как именно будут внедряться
на предприятии.
Все эти компоненты зависимы, их следует рассматривать как стратегические цели,
на достижение которых должен быть направлен процесс планирования.
КомпьютерПресс 7’2004
Детали файла
Имя файла: | 0641.03.03;Т-Т.01;1 |
Размер: | 110 Kb |
Дата публикации: | 2015-03-09 03:19:20 |
Описание: | |
Технология разработки программного обеспечения (магистр) — Тест-тренинг
Список вопросов теста (скачайте файл для отображения ответов): Верны ли утверждения? |
|
Для скачивания этого файла Вы должны ввести код указаный на картинке справа в поле под этой картинкой —> | |
ВНИМАНИЕ: | |
Нажимая на кнопку «Скачать бесплатно» Вы подтверждаете свое полное и безоговорочное согласие с «Правилами сервиса» | |
MSF
– набор моделей, принципов и рекомендаций
по проектированию и разработке решений
масштаба предприятия, которые позволяют
управлять ресурсами: люди, процессы,
инструментальные средства.
-
Методология разработки программных систем msf (Microsoft Solutions Framework). Модель процессов в msf.
Модель
процессов – водопадная и спиральная
(собрано лучшее). Модель описывает общую
последовательность действий. Гибкая.
Ориентирована на этапы. Контрольные
точки. Итеративный подход. Этапы модели
процессов: 1. Создание общей картины
приложения. 2. Планирование. 3. Разработка.
4. Стабилизация. 5. Развертывание. Каждый
этап завершается контрольной точкой.
Стабилизация – осуществляется
бета-тестирование и проверяется сценарий
развертывания. Внимание на обнаружение,
важность и разрешение неполадок.
Обеспечивается заданный уровень
качества. В конце этапа решение готово
к развертыванию. Сюда же входит
тестирование.
-
Методология разработки программных систем msf (Microsoft Solutions Framework). Этап анализа.
Самое
общее описание цели и ограничений
проекта. Определяется состав команды
и выясняется, что она должна сделать
для заказчика. Цель этапа – выработка
понимания проекта среди всех его
участников. Процесс анализа: определение
состава команды (кто, роли), определение
административной структуры проекта,
определение бизнес целей, оценка
существующей ситуации, создание документа
общей картины и области действия проекта.
-
Методология разработки программных систем msf (Microsoft Solutions Framework). Этап планирования.
Решается,
что следует разработать и создается
план реализации. Готовятся функциональная
спецификация, дизайн решения и планы
работ. Оценивается стоимость и сроки
получения запланированных результатов.
Анализ требований: бизнес требования,
пользовательские, функциональные и
системные. Создается проект решения.
Создаются профили, определяющие
пользователей продукта и их роли.
Сценарий использования системы. Стадии
планирования: концептуальный дизайн,
логический дизайн, физический дизайн.
Задачи планирования: разработка дизайна
и архитектуры, функциональная спецификация,
планы проекта, календарный график,
создание среды разработки, тестирования
и пилотной эксплуатации, закрытие этапа
планирования. Контрольные точки:
одобрение используемых технологий,
завершение функциональной спецификации,
завершение генерального плана, завершение
календарного графика, организация сред.
-
Методология разработки программных систем msf (Microsoft Solutions Framework). Этап разработки.
На
этом этапе разрабатывается решение, в
том числе создается и документируется
код продукта, а также создается
инфраструктура решения. Процесс: начало
цикла разработки, создание прототипа
приложения, создание компонентов
решения, создание решения, закрытие
этапа разработки. Контрольные точки:
приложение для проверки концепции
готово, завершение работы над внутренними
сборками. Результаты: исходные текст и
исполняемые файлы, сценарий установки
и конфигурации развертывания, завершенная
функциональная спецификация, элементы
поддержки решения, спецификации
тестирования и сценарии тестирования.
-
Методология разработки программных систем msf (Microsoft Solutions Framework). Этапы контроля качества и внедрения в msf.
Этап
развертывания
— команда
развертывает технологии и компоненты
окружения, необходимые для работы
созданного продукта, передает проект
в руки команды сопровождения и поддержки.
Определяется уровень удовлетворенности
заказчика (опрос). Задачи: завершения
развертывания и вспомогательных
процедур, развертывание и стабилизация,
анализ проекта. Контрольные точки:
развернуты основные компоненты,
развертывание решения завершено,
развернутое решение стабилизировано,
решение развернуто. Результаты
развертывания: система сопровождения
и поддержки, хранилище документов, план
обучения, отчеты о завершении проекта.
Соседние файлы в предмете CASE-технологии
- #
- #
- #
- #
Шаблон:Реклама
Шаблон:Нет сносок
Шаблон:Разработка программного обеспечения
Microsoft Solutions Framework (MSF) — методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.
MSF представляет собой согласованный набор концепций, моделей и правил.
Введение[]
В 1994 году, стремясь достичь максимальной отдачи от IT-проектов, Microsoft выпустила в свет пакет руководств по эффективному проектированию, разработке, внедрению и сопровождению решений, построенных на основе своих технологий. Эти знания базируются на опыте, полученном Microsoft при работе над большими проектами по разработке и сопровождению программного обеспечения, опыте консультантов Microsoft и лучшем из того, что накопила на данный момент IT-индустрия. Всё это представлено в виде двух взаимосвязанных и хорошо дополняющих друг друга областей знаний: Microsoft Solutions Framework (MSF) и Microsoft Operations Framework (MOF).
Следует отметить, что Microsoft разработала на базе общих методов MSF методики для прикладного и специализированного применения. Причём, Microsoft сертифицирует экспертов именно по прикладным знаниям в применении MSF (например, сертификация MCTS 74-131 по экспертизе в методике управления проектами). Перед тем, как изучать методы MSF, следует сначала определить, какой прикладной вариант MSF имеется в виду.
Наиболее популярные прикладные варианты MSF, разработанные Microsoft:
- методика внедрения решений в области Управления проектами;
- методика управления IT-проектами на базе методологий MSF и Agile.
Важность прикладных вариантов MSF подчёркивает тот факт, что в «чистом варианте» саму методику MSF в своих IT-проектах компания Microsoft не использует. В проектах Microsoft Consulting Services используется гибридная методология MSF и Agile. Несмотря на внешние существенные различия прикладных вариантов MSF, разработанных экспертами Microsoft, общая база методов MSF для них остается общая и отражает общие методологические подходы к итеративному ведению проектов.
MOF призван обеспечить организации, создающие критически важные (Шаблон:Lang-en) IT решения на базе продуктов и технологий Microsoft, техническим руководством по достижению их надёжности (Шаблон:Lang-en), доступности (Шаблон:Lang-en), удобства сопровождения (Шаблон:Lang-en) и управляемости (Шаблон:Lang-en). MOF затрагивает вопросы, связанные с организацией персонала и процессов, технологиями и менеджментом в условиях сложных (Шаблон:Lang-en), распределённых (Шаблон:Lang-en) и разнородных (Шаблон:Lang-en) IT-сред. MOF основан на лучших производственных методиках, собранных в IT Infrastructure Library (ITIL), составленных Central Computer and Telecommunications Agency — Агентством правительства Великобритании.
Создание бизнес-решения в рамках отведенных времени и бюджета требует наличия испытанной методологической основы. MSF предлагает проверенные методики для планирования, проектирования, разработки и внедрения успешных IT-решений. Благодаря своей гибкости, масштабируемости и отсутствию жестких инструкций MSF способен удовлетворить нужды организации или проектной группы любого размера. Методология MSF состоит из принципов, моделей и дисциплин по управлению персоналом, процессами, технологическими элементами и связанными со всеми этими факторами вопросами, характерными для большинства проектов.
MSF состоит из двух моделей и трех дисциплин. Они подробно описаны в 5 whitepapers. Начинать изучение MSF лучше с моделей, а затем перейти к дисциплинам.
MSF содержит:
- модели:
- модель проектной группы
- модель процессов
- дисциплины:
- дисциплина управление проектами
- дисциплина управление рисками
- дисциплина управление подготовкой
Модель проектной группы MSF[]
Модель проектной группы MSF (MSF Team Model) описывает подход Майкрософт к организации работающего над проектом персонала и его деятельности в целях максимизации успешности проекта. Данная модель определяет ролевые кластеры, их области компетенции и зоны ответственности, а также рекомендации членам проектной группы, позволяющие им успешно осуществить свою миссию по воплощению проекта в жизнь.
Модель проектной группы MSF разрабатывалась в течение нескольких лет и возникла в результате осмысления недостатков пирамидальной, иерархической структуры традиционных проектных групп.
В соответствии с моделью MSF проектные группы строятся как небольшие многопрофильные команды, члены которых распределяют между собой ответственность и дополняют области компетенций друг друга. Это дает возможность четко сфокусировать внимание на нуждах проекта. Проектную группу объединяет единое видение проекта, стремление к воплощению его в жизнь, высокие требования к качеству работы и желание самосовершенствоваться.
Ниже описываются основные принципы, ключевые идеи и испытанные методики MSF в применении к модели проектной группы.
MSF включает в себя ряд основных принципов. Вот те из них, которые имеют отношение к успешной работе команды:
- Распределение ответственности при фиксации отчетности
- Наделяйте членов команды полномочиями
- Концентрируйтесь на бизнес-приоритетах
- Единое видение проекта
- Проявляйте гибкость — будьте готовы к переменам
- Поощряйте свободное общение
Успешное использование модели проектной группы MSF основывается на ряде ключевых концепций (key concepts):
- Команда соратников
- Сфокусированность на нуждах заказчика
- Нацеленность на конечный результат
- Установка на отсутствие дефектов
- Стремление к самосовершенствованию
- Заинтересованные команды работают эффективно
MSF основан на постулате о шести качественных целях, достижение которых определяет успешность проекта. Эти цели обуславливают модель проектной группы. В то время как за успех проекта ответственна вся команда, каждый из её ролевых кластеров, определяемых моделью, ассоциирован с одной из упомянутых шести целей и работает над её достижением.
В проектную группу входят такие ролевые кластеры:
- управление программой
- управление продуктом
- разработка
- тестирование
- управление релизом
- удовлетворение потребителя
Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи. Иногда ролевые кластеры называются просто ролями. Но в любом случае суть концепции остается той же — построить основу производственных отношений и связанную с ней модель команды такими, чтобы они были приспосабливаемыми (масштабируемыми) для удовлетворения нужд любого проекта.
Как уже было сказано выше, проектная группа по MSF состоит из шести ролевых кластеров, каждый из которых отвечает за:
- управление программой (program manager) — разработку архитектуры решения, административные службы;
- разработку (developer) — разработку приложений и инфраструктуры, технологические консультации;
- тестирование (QAE) — планирование, разработку тестов и отчетность по тестам;
- управление выпуском (release manager) — инфраструктуру, сопровождение, бизнес-процессы, выпуск готового продукта;
- удовлетворение заказчика (user experience) — обучение, эргономику, графический дизайн, техническую поддержку;
- управление продуктом (product manager) — бизнес-приоритеты, маркетинг, представительство интересов заказчика.
Наличие шести ролевых кластеров не означает, что количество членов команды должно быть кратным шести — один человек может совмещать несколько ролей и наоборот, ролевой кластер может состоять из нескольких лиц в зависимости от размера проекта, его сложности и профессиональных навыков, требуемых для реализации всех областей компетенции кластера. Минимальный коллектив по MSF может состоять всего из трех человек. Модель не требует назначения отдельного сотрудника на каждый ролевой кластер. Смысл состоит в том, что в команде должны быть представлены все шесть качественных целей. Обычно, выделение как минимум одного человека на каждый ролевой кластер обеспечивает полноценное внимание к интересам каждой из ролей, но это экономически оправданно не для всех проектов. Зачастую члены проектной группы могут объединять роли.
В малых проектных группах объединение ролей является необходимым. При этом должны соблюдаться два принципа:
- Роль команды разработчиков не может быть объединена ни с какой другой ролью.
- Избежание сочетания ролей, имеющих предопределенные конфликты интересов.
Как и в любой другой командной деятельности, подходящая комбинация ролей зависит от самих членов команды, их опыта и профессиональных навыков. На практике совмещение ролей встречается нередко. И если проектная группа производит его обдуманно и управляет связанными с таким объединением рисками, возникающие проблемы будут минимальными.
MSF не предоставляет конкретных рецептов управления проектами и не содержит объяснений разнообразных методов работы, которые применяют опытные менеджеры. Принципы MSF формируют такой подход к управлению проектами, при котором:
- ответственность за управление проектом распределенная между лидерами ролевых кластеров внутри команды — каждый член проектной группы отвечает за общий успех проекта и качество создаваемого продукта.
- профессиональные менеджеры выступают в качестве консультантов и наставников команды, а не выполняют функции контроля над ней — в эффективно работающей команде каждый её член имеет необходимые полномочия для выполнения своих обязанностей и уверен, что получит от коллег все необходимое.
Как следует из вышесказанного, одна из характерных особенностей MSF — отсутствие должности менеджера проекта!
Модель проектной группы MSF предлагает разбиение больших команд (более 10 человек) на малые многопрофильные группы направлений (feature teams). Эти малые коллективы работают параллельно, регулярно синхронизируя свои усилия. Кроме того, когда ролевому кластеру требуется много ресурсов, формируются т. н. функциональные группы (functional teams), которые затем объединяются в ролевые кластеры.
Использование ролевых кластеров не подразумевает и не навязывает
никакой специальной структуры организации или обязательных должностей.
Административный состав ролей может широко варьироваться в разных организациях и проектных группах. Чаще всего роли распределяются среди различных подразделений одной организации, но иногда часть их отводится сообществу потребителей или внешним по отношению к организации консультантам и партнерам. Ключевым моментом является четкое определение работников, ответственных за каждый ролевой кластер, их функций, ответственности и ожидаемого вклада в конечный результат.
Модель проектной группы MSF не обеспечивает успех сама по себе. Есть много других факторов, определяющих успех или неудачу проекта, но структура проектной группы, безусловно, вносит существенный вклад.
Подходящая структура команды является фундаментом успеха, и реализация модели MSF с использованием лежащих в её основе принципов поможет сделать проектные группы более эффективными и, как следствие, более успешными.
Модель процессов MSF[]
Модель процессов MSF (MSF process model) представляет общую методологию разработки и внедрения IT решений. Особенность этой модели состоит в том, что благодаря своей гибкости и отсутствию жестко навязываемых процедур она может быть применена при разработке весьма широкого круга IT проектов. Эта модель сочетает в себе свойства двух стандартных производственных моделей: каскадной (waterfall) и спиральной (spiral). Модель процессов в MSF 3.0 была дополнена ещё одним инновационным аспектом: она покрывает весь жизненный цикл создания решения, начиная с его отправной точки и заканчивая непосредственно внедрением. Такой подход помогает проектным группам сфокусировать своё внимание на бизнес-отдаче (business value) решения, поскольку эта отдача становится реальной лишь после завершения внедрения и начала использования продукта.
Процесс MSF ориентирован на «вехи» (milestones) — ключевые точки проекта, характеризующие достижение в его рамках какого-либо существенного (промежуточного либо конечного) результата. Этот результат может быть оценен и проанализирован, что подразумевает ответы на вопросы: «Пришла ли проектная группа к однозначному пониманию целей и рамок проекта?», «В достаточной ли степени готов план действий?», «Соответствует ли продукт утверждённой спецификации?», «Удовлетворяет ли решение нужды заказчика?» и т. д.
Модель процессов MSF учитывает постоянные изменения проектных требований. Она исходит из того, что разработка решения должна состоять из коротких циклов, создающих поступательное движение от простейших версий решения к его окончательному виду.
Модель процессов MSF тесно связана с базовыми принципами MSF, рассмотренными выше. Вообще говоря, тремя особенностями модели процессов MSF являются:
- Подход, основанный на фазах и вехах.
- Итеративный подход.
- Интегрированный подход к созданию и внедрению решений.
Модель процессов включает такие основные фазы процесса разработки:
- Выработка концепции (Envisioning)
- Планирование (Planning)
- Разработка (Developing)
- Стабилизация (Stabilizing)
- Внедрение (Deploying)
Кроме этого существует большое количество промежуточных вех, которые показывают достижение в ходе проекта определенного прогресса и расчленяют большие сегменты работы на меньшие, обозримые участки. Для каждой фазы модели процессов MSF определяет:
- что (какие артефакты) является результатом этой фазы
- над чем работает каждый из ролевых кластеров на этой фазе
В рамках MSF программный код, документация, дизайн, планы и другие рабочие материалы создаются, как правило, итеративными методами. MSF рекомендует начинать разработку решения с построения, тестирования и внедрения его базовой функциональности. Затем к решению добавляются все новые и новые возможности. Такая стратегия именуется стратегией версионирования. Несмотря на то, что для малых проектов может быть достаточным выпуск одной версии, рекомендуется не упускать возможности создания для одного решения ряда версий. С созданием новых версий эволюционирует функциональность решения.
Итеративный подход к процессу разработки требует использования гибкого способа ведения документации. «Живые» документы (living documents) должны изменяться по мере эволюции проекта вместе с изменениями требований к конечному продукту. В рамках MSF предлагается ряд шаблонов стандартных документов, которые являются артефактами каждой стадии разработки продукта и могут быть использованы для планирования и контроля процесса разработки.
Решение не представляет бизнес-ценности, пока оно не внедрено. Именно по этой причине модель процессов MSF содержит весь жизненный цикл создания решения, включая его внедрение — вплоть до момента, когда решение начинает давать отдачу.
Управление рисками[]
Управление рисками (risk management) — это одна из ключевых дисциплин Microsoft Solutions Framework® (MSF). MSF видит в изменениях и возникающей из-за них неопределенности неотъемлемые части жизненного цикла информационных технологий. Дисциплина управления рисками в MSF (MSF risk management discipline) отстаивает превентивный подход к работе с рисками в условиях такой неопределенности, непрерывное оценивание рисков и использование информации о рисках в рамках процесса принятия решений на протяжении всего жизненного цикла проекта. Данная дисциплина предлагает принципы, идеи и рекомендации, подкрепленные описанием пошагового процесса для успешного активного управления рисками. Этот процесс включает в себя выявление и анализ рисков; планирование и реализацию стратегий по их профилактике и смягчению возможных последствий; отслеживание состояния рисков и извлечение уроков из обретенного опыта. Девиз MSF — мы не боремся с рисками — мы ими управляем.
Как уже говорилось выше, в MSF нет роли «менеджер проекта». Деятельность по управлению проектом распределяется между лидерами групп
и ролевым кластером «Управление программой».
Для лидеров групп и ролевого кластера «Управление программой» инструментом управления проектом, облегчающим создание планов и календарных графиков, является WBS. Иерархическая структура работ (Work Breakdown Structure — WBS) — это структуризация работ проекта, отражающая его основные результаты и определяющая его рамки. Работа, не описанная в WBS, находится вне границ проекта. В MSF создание WBS является коллективной деятельностью, в которую вовлекаются все ролевые кластеры. Каждая роль ответственна за предоставление детального описания собственной работы.
Управление подготовкой[]
Управление подготовкой — это также одна из ключевых дисциплин Microsoft Solutions Framework (MSF). Она посвящена управлению знаниями, профессиональными умениями и способностями, необходимыми для планирования, создания и сопровождения успешных решений. Дисциплина управления подготовкой MSF описывает фундаментальные принципы MSF и дает рекомендации по применению превентивного подхода к управлению знаниями на протяжении всего жизненного цикла информационных технологий. Эта дисциплина также рассматривает планирование процесса управления подготовкой. Будучи подкрепленной испытанными практическими методиками, дисциплина управления подготовкой предоставляет проектным группам и отдельным специалистам базу для осуществления этого процесса.
Следует отметить, что MSF не навязывает использование других продуктов Microsoft. Например, для организации процесса производства ПО можно использовать MSF и при этом применять инструменты Borland, хотя будущая версия MSF 4.0 будет жестко привязана к Microsoft Team System — новому инструментальному средству Майкрософт для поддержки командной работы.
Версии[]
Первая версия MSF появилась в 1994 году. Текущая версия — MSF 4.0 была представлена в 2005 году. В данной версии произошло разделение методологии на два направления: MSF for Agile Software Development и MSF for CMMI Process Improvement.
Кроме этого, появилась роль архитектора и поддержка методологии в инструменте — Visual Studio Team System.
Ссылки[]
- Сайты и порталы
- Microsoft Solution Framework in Visual Studio 2005 Team System Шаблон:Ref-en
- MSF Essentials book Шаблон:Ref-en
- MSF Resources at North Star Analytics Шаблон:Ref-en
- Информация по MOF Шаблон:Ref-en
- Информация по MSF Шаблон:Ref-en
- Статьи
- Введение в методологию Microsoft Solutions Framework Шаблон:Ref-ru
- MSF – философия создания IT-решений или голые амбиции лидера Шаблон:Ref-ru
Шаблон:Software Engineering
Процесс разработки ПО |
Шаги процесса |
---|
Анализ • Проектирование • Программирование • Документирование • Тестирование |
Модели |
Итеративная • Спиральная • Каскадная • V-Model • Dual Vee Model |
Методологии |
Agile (XP, Lean, Scrum, FDD и др.) • Cleanroom • OpenUP • RAD • RUP • MSF • DSDM • TDD |
Сопутствующие дисциплины |
Конфигурационное управление • Управление проектами • Управление требованиями |
Microsoft Solutions Framework (MSF) — методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.
MSF представляет собой согласованный набор концепций, моделей и правил.
Содержание
- 1 Введение
- 2 Модель проектной группы MSF
- 3 Модель процессов MSF
- 3.1 Управление рисками
- 3.2 Управление проектами
- 3.3 Управление подготовкой
- 4 Версии
- 5 Ссылки
Введение
В 1994 году, стремясь достичь максимальной отдачи от IT-проектов, Microsoft выпустила в свет пакет руководств по эффективному проектированию, разработке, внедрению и сопровождению решений, построенных на основе своих технологий. Эти знания базируются на опыте, полученном Microsoft при работе над большими проектами по разработке и сопровождению программного обеспечения, опыте консультантов Microsoft и лучшем из того, что накопила на данный момент IT-индустрия. Всё это представлено в виде двух взаимосвязанных и хорошо дополняющих друг друга областей знаний: Microsoft Solutions Framework (MSF) и Microsoft Operations Framework (MOF).
Следует отметить, что Microsoft разработала на базе общих методов MSF методики для прикладного и специализированного применения. Причём, Microsoft сертифицирует экспертов именно по прикладным знаниям в применении MSF (например, сертификация MCTS 74-131 по экспертизе в методике управления проектами). Перед тем, как изучать методы MSF, следует сначала определить, какой прикладной вариант MSF имеется ввиду.
Наиболее популярные прикладные варианты MSF, разработанные Microsoft:
- методика внедрения решений в области Управления проектами;
- методика управления IT-проектами на базе методологий MSF и Agile.
Важность прикладных вариантов MSF подчёркивает тот факт, что в «чистом варианте» саму методику MSF в своих IT-проектах компания Microsoft не использует [1]. В проектах Microsoft Consulting Services используется гибридная методология MSF и Agile. Несмотря на внешние существенные различия прикладных вариантов MSF, разработанных экспертами Microsoft, общая база методов MSF для них остается общая и отражает общие методологические подходы к итеративному ведению проектов [2].
MOF призван обеспечить организации, создающие критически важные (англ. mission-critical) IT решения на базе продуктов и технологий Microsoft, техническим руководством по достижению их надёжности (англ. reliability), доступности (англ. availability), удобства сопровождения (англ. supportability) и управляемости (англ. manageability). MOF затрагивает вопросы, связанные с организацией персонала и процессов, технологиями и менеджментом в условиях сложных (англ. complex), распределённых (англ. distributed) и разнородных (англ. heterogeneous) IT-сред. MOF основан на лучших производственных методиках, собранных в IT Infrastructure Library (ITIL), составленных Central Computer and Telecommunications Agency — Агентством правительства Великобритании.
Создание бизнес-решения в рамках отведенных времени и бюджета требует наличия испытанной методологической основы. MSF предлагает проверенные методики для планирования, проектирования, разработки и внедрения успешных IT-решений. Благодаря своей гибкости, масштабируемости и отсутствию жестких инструкций MSF способен удовлетворить нужды организации или проектной группы любого размера. Методология MSF состоит из принципов, моделей и дисциплин по управлению персоналом, процессами, технологическими элементами и связанными со всеми этими факторами вопросами, характерными для большинства проектов.
MSF состоит из двух моделей и трех дисциплин. Они подробно описаны в 5 whitepapers. Начинать изучение MSF лучше с моделей, а затем перейти к дисциплинам.
MSF содержит:
- модели:
- модель проектной группы
- модель процессов
- дисциплины:
- дисциплина управление проектами
- дисциплина управление рисками
- дисциплина управление подготовкой
Модель проектной группы MSF
Модель проектной группы MSF (MSF Team Model) описывает подход Майкрософт к организации работающего над проектом персонала и его деятельности в целях максимизации успешности проекта. Данная модель определяет ролевые кластеры, их области компетенции и зоны ответственности, а также рекомендации членам проектной группы, позволяющие им успешно осуществить свою миссию по воплощению проекта в жизнь.
Модель проектной группы MSF разрабатывалась в течение нескольких лет и возникла в результате осмысления недостатков пирамидальной, иерархической структуры традиционных проектных групп.
В соответствии с моделью MSF проектные группы строятся как небольшие многопрофильные команды, члены которых распределяют между собой ответственность и дополняют области компетенций друг друга. Это дает возможность четко сфокусировать внимание на нуждах проекта. Проектную группу объединяет единое видение проекта, стремление к воплощению его в жизнь, высокие требования к качеству работы и желание самосовершенствоваться.
Ниже описываются основные принципы, ключевые идеи и испытанные методики MSF в применении к модели проектной группы.
MSF включает в себя ряд основных принципов. Вот те из них, которые имеют отношение к успешной работе команды:
- Распределение ответственности при фиксации отчетности
- Наделяйте членов команды полномочиями
- Концентрируйтесь на бизнес-приоритетах
- Единое видение проекта
- Проявляйте гибкость — будьте готовы к переменам
- Поощряйте свободное общение
Успешное использование модели проектной группы MSF основывается на ряде ключевых концепций (key concepts):
- Команда соратников
- Сфокусированность на нуждах заказчика
- Нацеленность на конечный результат
- Установка на отсутствие дефектов
- Стремление к самосовершенствованию
- Заинтересованные команды работают эффективно
MSF основан на постулате о шести качественных целях, достижение которых определяет успешность проекта. Эти цели обуславливают модель проектной группы. В то время как за успех проекта ответственна вся команда, каждый из её ролевых кластеров, определяемых моделью, ассоциирован с одной из упомянутых шести целей и работает над её достижением.
В проектную группу входят такие ролевые кластеры:
- управление программой
- управление продуктом
- разработка
- тестирование
- управление релизом
- удовлетворение потребителя
Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи. Иногда ролевые кластеры называются просто ролями. Но в любом случае суть концепции остается той же — построить основу производственных отношений и связанную с ней модель команды такими, чтобы они были приспосабливаемыми (масштабируемыми) для удовлетворения нужд любого проекта.
Как уже было сказано выше, проектная группа по MSF состоит из шести ролевых кластеров, каждый из которых отвечает за:
- управление программой (program manager) — разработку архитектуры решения, административные службы;
- разработку (developer) — разработку приложений и инфраструктуры, технологические консультации;
- тестирование (QAE) — планирование, разработку тестов и отчетность по тестам;
- управление выпуском (release manager) — инфраструктуру, сопровождение, бизнес-процессы, выпуск готового продукта;
- удовлетворение заказчика (user experience) — обучение, эргономику, графический дизайн, техническую поддержку;
- управление продуктом (product manager) — бизнес-приоритеты, маркетинг, представительство интересов заказчика.
Наличие шести ролевых кластеров не означает, что количество членов команды должно быть кратным шести — один человек может совмещать несколько ролей и наоборот, ролевой кластер может состоять из нескольких лиц в зависимости от размера проекта, его сложности и профессиональных навыков, требуемых для реализации всех областей компетенции кластера. Минимальный коллектив по MSF может состоять всего из трех человек. Модель не требует назначения отдельного сотрудника на каждый ролевой кластер. Смысл состоит в том, что в команде должны быть представлены все шесть качественных целей. Обычно, выделение как минимум одного человека на каждый ролевой кластер обеспечивает полноценное внимание к интересам каждой из ролей, но это экономически оправданно не для всех проектов. Зачастую члены проектной группы могут объединять роли.
В малых проектных группах объединение ролей является необходимым. При этом должны соблюдаться два принципа:
- Роль команды разработчиков не может быть объединена ни с какой другой ролью.
- Избежание сочетания ролей, имеющих предопределенные конфликты интересов.
Как и в любой другой командной деятельности, подходящая комбинация ролей зависит от самих членов команды, их опыта и профессиональных навыков. На практике совмещение ролей встречается нередко. И если проектная группа производит его обдуманно и управляет связанными с таким объединением рисками, возникающие проблемы будут минимальными.
MSF не предоставляет конкретных рецептов управления проектами и не содержит объяснений разнообразных методов работы, которые применяют опытные менеджеры. Принципы MSF формируют такой подход к управлению проектами, при котором:
- ответственность за управление проектом распределенная между лидерами ролевых кластеров внутри команды — каждый член проектной группы отвечает за общий успех проекта и качество создаваемого продукта.
- профессиональные менеджеры выступают в качестве консультантов и наставников команды, а не выполняют функции контроля над ней — в эффективно работающей команде каждый её член имеет необходимые полномочия для выполнения своих обязанностей и уверен, что получит от коллег все необходимое.
Как следует из вышесказанного, одна из характерных особенностей MSF — отсутствие должности менеджера проекта!
Модель проектной группы MSF предлагает разбиение больших команд (более 10 человек) на малые многопрофильные группы направлений (feature teams). Эти малые коллективы работают параллельно, регулярно синхронизируя свои усилия. Кроме того, когда ролевому кластеру требуется много ресурсов, формируются т. н. функциональные группы (functional teams), которые затем объединяются в ролевые кластеры.
Использование ролевых кластеров не подразумевает и не навязывает никакой специальной структуры организации или обязательных должностей. Административный состав ролей может широко варьироваться в разных организациях и проектных группах. Чаще всего роли распределяются среди различных подразделений одной организации, но иногда часть их отводится сообществу потребителей или внешним по отношению к организации консультантам и партнерам. Ключевым моментом является четкое определение работников, ответственных за каждый ролевой кластер, их функций, ответственности и ожидаемого вклада в конечный результат.
Модель проектной группы MSF не обеспечивает успех сама по себе. Есть много других факторов, определяющих успех или неудачу проекта, но структура проектной группы, безусловно, вносит существенный вклад.
Подходящая структура команды является фундаментом успеха, и реализация модели MSF с использованием лежащих в её основе принципов поможет сделать проектные группы более эффективными и, как следствие, более успешными.
Модель процессов MSF
Модель процессов MSF (MSF process model) представляет общую методологию разработки и внедрения IT решений. Особенность этой модели состоит в том, что благодаря своей гибкости и отсутствию жестко навязываемых процедур она может быть применена при разработке весьма широкого круга IT проектов. Эта модель сочетает в себе свойства двух стандартных производственных моделей: каскадной (waterfall) и спиральной (spiral). Модель процессов в MSF 3.0 была дополнена ещё одним инновационным аспектом: она покрывает весь жизненный цикл создания решения, начиная с его отправной точки и заканчивая непосредственно внедрением. Такой подход помогает проектным группам сфокусировать свое внимание на бизнес-отдаче (business value) решения, поскольку эта отдача становится реальной лишь после завершения внедрения и начала использования продукта.
Процесс MSF ориентирован на «вехи» (milestones) — ключевые точки проекта, характеризующие достижение в его рамках какого-либо существенного (промежуточного либо конечного) результата. Этот результат может быть оценен и проанализирован, что подразумевает ответы на вопросы: «Пришла ли проектная группа к однозначному пониманию целей и рамок проекта?», «В достаточной ли степени готов план действий?», «Соответствует ли продукт утвержденной спецификации?», «Удовлетворяет ли решение нужды заказчика?» и т. д.
Модель процессов MSF учитывает постоянные изменения проектных требований. Она исходит из того, что разработка решения должна состоять из коротких циклов, создающих поступательное движение от простейших версий решения к его окончательному виду.
Модель процессов MSF тесно связана с базовыми принципами MSF, рассмотренными выше. Вообще говоря, тремя особенностями модели процессов MSF являются:
- Подход, основанный на фазах и вехах.
- Итеративный подход.
- Интегрированный подход к созданию и внедрению решений.
Модель процессов включает такие основные фазы процесса разработки:
- Выработка концепции (Envisioning)
- Планирование (Planning)
- Разработка (Developing)
- Стабилизация (Stabilizing)
- Внедрение (Deploying)
Кроме этого существует большое количество промежуточных вех, которые показывают достижение в ходе проекта определенного прогресса и расчленяют большие сегменты работы на меньшие, обозримые участки. Для каждой фазы модели процессов MSF определяет:
- что (какие артефакты) является результатом этой фазы
- над чем работает каждый из ролевых кластеров на этой фазе
В рамках MSF программный код, документация, дизайн, планы и другие рабочие материалы создаются, как правило, итеративными методами. MSF рекомендует начинать разработку решения с построения, тестирования и внедрения его базовой функциональности. Затем к решению добавляются все новые и новые возможности. Такая стратегия именуется стратегией версионирования. Несмотря на то, что для малых проектов может быть достаточным выпуск одной версии, рекомендуется не упускать возможности создания для одного решения ряда версий. С созданием новых версий эволюционирует функциональность решения.
Итеративный подход к процессу разработки требует использования гибкого способа ведения документации. «Живые» документы (living documents) должны изменяться по мере эволюции проекта вместе с изменениями требований к конечному продукту. В рамках MSF предлагается ряд шаблонов стандартных документов, которые являются артефактами каждой стадии разработки продукта и могут быть использованы для планирования и контроля процесса разработки.
Решение не представляет бизнес-ценности, пока оно не внедрено. Именно по этой причине модель процессов MSF содержит весь жизненный цикл создания решения, включая его внедрение — вплоть до момента, когда решение начинает давать отдачу.
Управление рисками
Управление рисками (risk management) — это одна из ключевых дисциплин Microsoft Solutions Framework® (MSF). MSF видит в изменениях и возникающей из-за них неопределенности неотъемлемые части жизненного цикла информационных технологий. Дисциплина управления рисками в MSF (MSF risk management discipline) отстаивает превентивный подход к работе с рисками в условиях такой неопределенности, непрерывное оценивание рисков и использование информации о рисках в рамках процесса принятия решений на протяжении всего жизненного цикла проекта. Данная дисциплина предлагает принципы, идеи и рекомендации, подкрепленные описанием пошагового процесса для успешного активного управления рисками. Этот процесс включает в себя выявление и анализ рисков; планирование и реализацию стратегий по их профилактике и смягчению возможных последствий; отслеживание состояния рисков и извлечение уроков из обретенного опыта. Девиз MSF — мы не боремся с рисками — мы ими управляем.
Управление проектами
Проект (project) — ограниченная временными рамками деятельность, цель которой состоит в создании уникального продукта или услуги. Управление проектами (project management) — это область знаний, навыков, инструментария и приемов, используемых для достижения целей проектов в рамках согласованных параметров качества, бюджета, сроков и прочих ограничений.
Хорошо известна взаимозависимость между ресурсами проекта (людскими и финансовыми), его календарным графиком (временем) и реализуемыми возможностями (рамками). Эти три переменные образуют так называемый «треугольник компромиссов». Нахождение верного баланса между ресурсами, временем разработки и возможностями — ключевой момент в построении решения, должным образом отвечающего нуждам заказчика.
Другое весьма полезное средство для управления проектными компромиссами — матрица компромиссов проекта (project tradeoff matrix). Она отражает достигнутое на ранних этапах проекта соглашение между проектной группой и заказчиком о выборе приоритетов в возможных в будущем компромиссных решениях. В определенных случаях из этой приоритезации могут делаться исключения, но в целом следование ей облегчает достижение соглашений по спорным вопросам.
Для иллюстрации использования матрицы компромиссов Майкрософт предлагает использовать следующее предложение (вместо пропущенных слов могут быть вставлены «календарный график», «ресурсы» и «функциональность»): «Зафиксировав ___________, мы согласовываем ___________ и принимаем результирующий ___________».
Как уже говорилось выше, в MSF нет роли «менеджер проекта». Деятельность по управлению проектом распределяется между лидерами групп и ролевым кластером «Управление программой».
Для лидеров групп и ролевого кластера «Управление программой» инструментом управления проектом, облегчающим создание планов и календарных графиков, является WBS. Иерархическая структура работ (Work Breakdown Structure — WBS) — это структуризация работ проекта, отражающая его основные результаты и определяющая его рамки. Работа, не описанная в WBS, находится вне границ проекта. В MSF создание WBS является коллективной деятельностью, в которую вовлекаются все ролевые кластеры. Каждая роль ответственна за предоставление детального описания собственной работы.
Управление подготовкой
Управление подготовкой — это также одна из ключевых дисциплин Microsoft Solutions Framework (MSF). Она посвящена управлению знаниями, профессиональными умениями и способностями, необходимыми для планирования, создания и сопровождения успешных решений. Дисциплина управления подготовкой MSF описывает фундаментальные принципы MSF и дает рекомендации по применению превентивного подхода к управлению знаниями на протяжении всего жизненного цикла информационных технологий. Эта дисциплина также рассматривает планирование процесса управления подготовкой. Будучи подкрепленной испытанными практическими методиками, дисциплина управления подготовкой предоставляет проектным группам и отдельным специалистам базу для осуществления этого процесса.
Следует отметить, что MSF не навязывает использование других продуктов Microsoft. Например, для организации процесса производства ПО можно использовать MSF и при этом применять инструменты Borland, хотя будущая версия MSF 4.0 будет жестко привязана к Microsoft Team System — новому инструментальному средству Майкрософт для поддержки командной работы над проектом.
Версии
Первая версия MSF появилась в 1994 году. Текущая версия — MSF 4.0 была представлена в 2005 году. В данной версии произошло разделение методологии на два направления: MSF for Agile Software Development и MSF for CMMI Process Improvement.
Кроме этого, появилась роль архитектора и поддержка методологии в инструменте — Visual Studio Team System.
Ссылки
- Сайты и порталы
- Документы по MSF можно найти на http://www.microsoft.com/rus/msdn/msf/default.mspx (рус.)
- Microsoft Solution Framework in Visual Studio 2005 Team System (англ.)
- MSF Essentials book (англ.)
- MSF Resources at North Star Analytics (англ.)
- Информация по MOF (англ.)
- Информация по MSF (англ.)
- Статьи
- Введение в методологию Microsoft Solutions Framework (рус.)
- MSF – философия создания IT-решений или голые амбиции лидера (рус.)
|
|
---|---|
Известные деятели |
Кент Бек • Гради Буч • Фред Брукс • Barry Boehm • Уорд Каннингем • Оле-Йохан Даль • Том Демарко • Эдсгер Вибе Дейкстра • Дональд Кнут • Мартин Фаулер • Чарльз Энтони Ричард Хоар • Watts Humphrey • Майкл Джексон • Ивар Якобсон • Craig Larman • James Martin • Мейер Бертран • Дэвид Парнас • Winston W. Royce • James Rumbaugh • Никлаус Вирт • Эдвард Йордан • Стив Макконнелл |
Процесс |
Анализ требований • Проектирование • Программирование • Тестирование • Внедрение • Сопровождение • Формальные методы • Стадии разработки |
Концепции |
Моделирование данных • Архитектура ПО • Функциональная спецификация • Язык моделирования • Парадигма • Методология • Процесс разработки • Качество • Обеспечение качества • Структурный анализ) |
Направления |
Программирование (Аспектно-ориентированное • Объектно-ориентированное • Проблемно-ориентированное) • Онтология • Сервис-ориентированная архитектура • Оценка затрат на разработку |
Модели разработки |
Agile • Cleanroom • CASE • Итеративная разработка • RUP • OpenUP • RAD • Scrum • MSF • Спиральная • Каскадная • XP • V-Model • Dual Vee Model • DSDM |
Другие модели |
CMM • CMMI • Данных • Function model • IDEF • Информационная • Metamodeling • Object model • View model • UML |
Прочее |
Информатика • Инженерия (Компьютерная • Организационная) • История разработки ПО • Документирование • Управление (Конфигурационное • Проектами • Программами • качеством) • Эргономика • Системотехника • Обратная разработка • Версии |
Разработка программного обеспечения |
---|
Процесс разработки ПО |
Ключевые процессы |
Анализ • Проектирование • Программирование • Документирование • Тестирование |
Модели |
Итеративная • Спиральная • Каскадная • V-Model • Dual Vee Model |
Методологии |
Agile (XP, Lean, Scrum, FDD и др.) • Cleanroom • OpenUP • RAD • RUP • MSF • DSDM • TDD • BDD |
Сопутствующие дисциплины |
Конфигурационное управление • Управление проектами • Управление требованиями • Обеспечение качества |
Microsoft Solutions Framework (MSF) — методология разработки программного обеспечения, предложенная корпорацией Microsoft. MSF опирается на практический опыт Microsoft и описывает управление людьми и рабочими процессами в процессе разработки решения.
MSF представляет собой согласованный набор концепций, моделей и правил.
Содержание
- 1 Введение
- 2 Модель проектной группы MSF
- 3 Модель процессов MSF
- 3.1 Управление рисками
- 3.2 Управление подготовкой
- 4 Версии
- 5 Ссылки
Введение
В 1994 году, стремясь достичь максимальной отдачи от IT-проектов, Microsoft выпустила в свет пакет руководств по эффективному проектированию, разработке, внедрению и сопровождению решений, построенных на основе своих технологий. Эти знания базируются на опыте, полученном Microsoft при работе над большими проектами по разработке и сопровождению программного обеспечения, опыте консультантов Microsoft и лучшем из того, что накопила на данный момент IT-индустрия. Всё это представлено в виде двух взаимосвязанных и хорошо дополняющих друг друга областей знаний: Microsoft Solutions Framework (MSF) и Microsoft Operations Framework (MOF).
Следует отметить, что Microsoft разработала на базе общих методов MSF методики для прикладного и специализированного применения. Причём, Microsoft сертифицирует экспертов именно по прикладным знаниям в применении MSF (например, сертификация MCTS 74-131 по экспертизе в методике управления проектами). Перед тем, как изучать методы MSF, следует сначала определить, какой прикладной вариант MSF имеется в виду.
Наиболее популярные прикладные варианты MSF, разработанные Microsoft:
- методика внедрения решений в области Управления проектами;
- методика управления IT-проектами на базе методологий MSF и Agile.
Важность прикладных вариантов MSF подчёркивает тот факт, что в «чистом варианте» саму методику MSF в своих IT-проектах компания Microsoft не использует. В проектах Microsoft Consulting Services используется гибридная методология MSF и Agile. Несмотря на внешние существенные различия прикладных вариантов MSF, разработанных экспертами Microsoft, общая база методов MSF для них остается общая и отражает общие методологические подходы к итеративному ведению проектов.
MOF призван обеспечить организации, создающие критически важные (англ. mission-critical) IT решения на базе продуктов и технологий Microsoft, техническим руководством по достижению их надёжности (англ. reliability), доступности (англ. availability), удобства сопровождения (англ. supportability) и управляемости (англ. manageability). MOF затрагивает вопросы, связанные с организацией персонала и процессов, технологиями и менеджментом в условиях сложных (англ. complex), распределённых (англ. distributed) и разнородных (англ. heterogeneous) IT-сред. MOF основан на лучших производственных методиках, собранных в IT Infrastructure Library (ITIL), составленных Central Computer and Telecommunications Agency — Агентством правительства Великобритании.
Создание бизнес-решения в рамках отведенных времени и бюджета требует наличия испытанной методологической основы. MSF предлагает проверенные методики для планирования, проектирования, разработки и внедрения успешных IT-решений. Благодаря своей гибкости, масштабируемости и отсутствию жестких инструкций MSF способен удовлетворить нужды организации или проектной группы любого размера. Методология MSF состоит из принципов, моделей и дисциплин по управлению персоналом, процессами, технологическими элементами и связанными со всеми этими факторами вопросами, характерными для большинства проектов.
MSF состоит из двух моделей и трех дисциплин. Они подробно описаны в 5 whitepapers. Начинать изучение MSF лучше с моделей, а затем перейти к дисциплинам.
MSF содержит:
- модели:
- модель проектной группы
- модель процессов
- дисциплины:
- дисциплина управление проектами
- дисциплина управление рисками
- дисциплина управление подготовкой
Модель проектной группы MSF
Модель проектной группы MSF (MSF Team Model) описывает подход Майкрософт к организации работающего над проектом персонала и его деятельности в целях максимизации успешности проекта. Данная модель определяет ролевые кластеры, их области компетенции и зоны ответственности, а также рекомендации членам проектной группы, позволяющие им успешно осуществить свою миссию по воплощению проекта в жизнь.
Модель проектной группы MSF разрабатывалась в течение нескольких лет и возникла в результате осмысления недостатков пирамидальной, иерархической структуры традиционных проектных групп.
В соответствии с моделью MSF проектные группы строятся как небольшие многопрофильные команды, члены которых распределяют между собой ответственность и дополняют области компетенций друг друга. Это дает возможность четко сфокусировать внимание на нуждах проекта. Проектную группу объединяет единое видение проекта, стремление к воплощению его в жизнь, высокие требования к качеству работы и желание самосовершенствоваться.
Ниже описываются основные принципы, ключевые идеи и испытанные методики MSF в применении к модели проектной группы.
MSF включает в себя ряд основных принципов. Вот те из них, которые имеют отношение к успешной работе команды:
- Распределение ответственности при фиксации отчетности
- Наделяйте членов команды полномочиями
- Концентрируйтесь на бизнес-приоритетах
- Единое видение проекта
- Проявляйте гибкость — будьте готовы к переменам
- Поощряйте свободное общение
Успешное использование модели проектной группы MSF основывается на ряде ключевых концепций (key concepts):
- Команда соратников
- Сфокусированность на нуждах заказчика
- Нацеленность на конечный результат
- Установка на отсутствие дефектов
- Стремление к самосовершенствованию
- Заинтересованные команды работают эффективно
MSF основан на постулате о шести качественных целях, достижение которых определяет успешность проекта. Эти цели обуславливают модель проектной группы. В то время как за успех проекта ответственна вся команда, каждый из её ролевых кластеров, определяемых моделью, ассоциирован с одной из упомянутых шести целей и работает над её достижением.
В проектную группу входят такие ролевые кластеры:
- управление программой
- управление продуктом
- разработка
- тестирование
- управление релизом
- удовлетворение потребителя
Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи. Иногда ролевые кластеры называются просто ролями. Но в любом случае суть концепции остается той же — построить основу производственных отношений и связанную с ней модель команды такими, чтобы они были приспосабливаемыми (масштабируемыми) для удовлетворения нужд любого проекта.
Как уже было сказано выше, проектная группа по MSF состоит из шести ролевых кластеров, каждый из которых отвечает за:
- управление программой (program manager) — разработку архитектуры решения, административные службы;
- разработку (developer) — разработку приложений и инфраструктуры, технологические консультации;
- тестирование (QAE) — планирование, разработку тестов и отчетность по тестам;
- управление выпуском (release manager) — инфраструктуру, сопровождение, бизнес-процессы, выпуск готового продукта;
- удовлетворение заказчика (user experience) — обучение, эргономику, графический дизайн, техническую поддержку;
- управление продуктом (product manager) — бизнес-приоритеты, маркетинг, представительство интересов заказчика.
Наличие шести ролевых кластеров не означает, что количество членов команды должно быть кратным шести — один человек может совмещать несколько ролей и наоборот, ролевой кластер может состоять из нескольких лиц в зависимости от размера проекта, его сложности и профессиональных навыков, требуемых для реализации всех областей компетенции кластера. Минимальный коллектив по MSF может состоять всего из трех человек. Модель не требует назначения отдельного сотрудника на каждый ролевой кластер. Смысл состоит в том, что в команде должны быть представлены все шесть качественных целей. Обычно, выделение как минимум одного человека на каждый ролевой кластер обеспечивает полноценное внимание к интересам каждой из ролей, но это экономически оправданно не для всех проектов. Зачастую члены проектной группы могут объединять роли.
В малых проектных группах объединение ролей является необходимым. При этом должны соблюдаться два принципа:
- Роль команды разработчиков не может быть объединена ни с какой другой ролью.
- Избежание сочетания ролей, имеющих предопределенные конфликты интересов.
Как и в любой другой командной деятельности, подходящая комбинация ролей зависит от самих членов команды, их опыта и профессиональных навыков. На практике совмещение ролей встречается нередко. И если проектная группа производит его обдуманно и управляет связанными с таким объединением рисками, возникающие проблемы будут минимальными.
MSF не предоставляет конкретных рецептов управления проектами и не содержит объяснений разнообразных методов работы, которые применяют опытные менеджеры. Принципы MSF формируют такой подход к управлению проектами, при котором:
- ответственность за управление проектом распределенная между лидерами ролевых кластеров внутри команды — каждый член проектной группы отвечает за общий успех проекта и качество создаваемого продукта.
- профессиональные менеджеры выступают в качестве консультантов и наставников команды, а не выполняют функции контроля над ней — в эффективно работающей команде каждый её член имеет необходимые полномочия для выполнения своих обязанностей и уверен, что получит от коллег все необходимое.
Как следует из вышесказанного, одна из характерных особенностей MSF — отсутствие должности менеджера проекта!
Модель проектной группы MSF предлагает разбиение больших команд (более 10 человек) на малые многопрофильные группы направлений (feature teams). Эти малые коллективы работают параллельно, регулярно синхронизируя свои усилия. Кроме того, когда ролевому кластеру требуется много ресурсов, формируются т. н. функциональные группы (functional teams), которые затем объединяются в ролевые кластеры.
Использование ролевых кластеров не подразумевает и не навязывает
никакой специальной структуры организации или обязательных должностей.
Административный состав ролей может широко варьироваться в разных организациях и проектных группах. Чаще всего роли распределяются среди различных подразделений одной организации, но иногда часть их отводится сообществу потребителей или внешним по отношению к организации консультантам и партнерам. Ключевым моментом является четкое определение работников, ответственных за каждый ролевой кластер, их функций, ответственности и ожидаемого вклада в конечный результат.
Модель проектной группы MSF не обеспечивает успех сама по себе. Есть много других факторов, определяющих успех или неудачу проекта, но структура проектной группы, безусловно, вносит существенный вклад.
Подходящая структура команды является фундаментом успеха, и реализация модели MSF с использованием лежащих в её основе принципов поможет сделать проектные группы более эффективными и, как следствие, более успешными.
Модель процессов MSF
Модель процессов MSF (MSF process model) представляет общую методологию разработки и внедрения IT решений. Особенность этой модели состоит в том, что благодаря своей гибкости и отсутствию жестко навязываемых процедур она может быть применена при разработке весьма широкого круга IT проектов. Эта модель сочетает в себе свойства двух стандартных производственных моделей: каскадной (waterfall) и спиральной (spiral). Модель процессов в MSF 3.0 была дополнена ещё одним инновационным аспектом: она покрывает весь жизненный цикл создания решения, начиная с его отправной точки и заканчивая непосредственно внедрением. Такой подход помогает проектным группам сфокусировать своё внимание на бизнес-отдаче (business value) решения, поскольку эта отдача становится реальной лишь после завершения внедрения и начала использования продукта.
Процесс MSF ориентирован на «вехи» (milestones) — ключевые точки проекта, характеризующие достижение в его рамках какого-либо существенного (промежуточного либо конечного) результата. Этот результат может быть оценен и проанализирован, что подразумевает ответы на вопросы: «Пришла ли проектная группа к однозначному пониманию целей и рамок проекта?», «В достаточной ли степени готов план действий?», «Соответствует ли продукт утверждённой спецификации?», «Удовлетворяет ли решение нужды заказчика?» и т. д.
Модель процессов MSF учитывает постоянные изменения проектных требований. Она исходит из того, что разработка решения должна состоять из коротких циклов, создающих поступательное движение от простейших версий решения к его окончательному виду.
Модель процессов MSF тесно связана с базовыми принципами MSF, рассмотренными выше. Вообще говоря, тремя особенностями модели процессов MSF являются:
- Подход, основанный на фазах и вехах.
- Итеративный подход.
- Интегрированный подход к созданию и внедрению решений.
Модель процессов включает такие основные фазы процесса разработки:
- Выработка концепции (Envisioning)
- Планирование (Planning)
- Разработка (Developing)
- Стабилизация (Stabilizing)
- Внедрение (Deploying)
Кроме этого существует большое количество промежуточных вех, которые показывают достижение в ходе проекта определенного прогресса и расчленяют большие сегменты работы на меньшие, обозримые участки. Для каждой фазы модели процессов MSF определяет:
- что (какие артефакты) является результатом этой фазы
- над чем работает каждый из ролевых кластеров на этой фазе
В рамках MSF программный код, документация, дизайн, планы и другие рабочие материалы создаются, как правило, итеративными методами. MSF рекомендует начинать разработку решения с построения, тестирования и внедрения его базовой функциональности. Затем к решению добавляются все новые и новые возможности. Такая стратегия именуется стратегией версионирования. Несмотря на то, что для малых проектов может быть достаточным выпуск одной версии, рекомендуется не упускать возможности создания для одного решения ряда версий. С созданием новых версий эволюционирует функциональность решения.
Итеративный подход к процессу разработки требует использования гибкого способа ведения документации. «Живые» документы (living documents) должны изменяться по мере эволюции проекта вместе с изменениями требований к конечному продукту. В рамках MSF предлагается ряд шаблонов стандартных документов, которые являются артефактами каждой стадии разработки продукта и могут быть использованы для планирования и контроля процесса разработки.
Решение не представляет бизнес-ценности, пока оно не внедрено. Именно по этой причине модель процессов MSF содержит весь жизненный цикл создания решения, включая его внедрение — вплоть до момента, когда решение начинает давать отдачу.
Управление рисками
Управление рисками (risk management) — это одна из ключевых дисциплин Microsoft Solutions Framework® (MSF). MSF видит в изменениях и возникающей из-за них неопределенности неотъемлемые части жизненного цикла информационных технологий. Дисциплина управления рисками в MSF (MSF risk management discipline (недоступная ссылка)) отстаивает превентивный подход к работе с рисками в условиях такой неопределенности, непрерывное оценивание рисков и использование информации о рисках в рамках процесса принятия решений на протяжении всего жизненного цикла проекта. Данная дисциплина предлагает принципы, идеи и рекомендации, подкрепленные описанием пошагового процесса для успешного активного управления рисками. Этот процесс включает в себя выявление и анализ рисков; планирование и реализацию стратегий по их профилактике и смягчению возможных последствий; отслеживание состояния рисков и извлечение уроков из обретенного опыта. Девиз MSF — мы не боремся с рисками — мы ими управляем.
Как уже говорилось выше, в MSF нет роли «менеджер проекта». Деятельность по управлению проектом распределяется между лидерами групп
и ролевым кластером «Управление программой».
Для лидеров групп и ролевого кластера «Управление программой» инструментом управления проектом, облегчающим создание планов и календарных графиков, является WBS. Иерархическая структура работ (Work Breakdown Structure — WBS) — это структуризация работ проекта, отражающая его основные результаты и определяющая его рамки. Работа, не описанная в WBS, находится вне границ проекта. В MSF создание WBS является коллективной деятельностью, в которую вовлекаются все ролевые кластеры. Каждая роль ответственна за предоставление детального описания собственной работы.
Управление подготовкой
Управление подготовкой — это также одна из ключевых дисциплин Microsoft Solutions Framework (MSF). Она посвящена управлению знаниями, профессиональными умениями и способностями, необходимыми для планирования, создания и сопровождения успешных решений. Дисциплина управления подготовкой MSF описывает фундаментальные принципы MSF и дает рекомендации по применению превентивного подхода к управлению знаниями на протяжении всего жизненного цикла информационных технологий. Эта дисциплина также рассматривает планирование процесса управления подготовкой. Будучи подкрепленной испытанными практическими методиками, дисциплина управления подготовкой предоставляет проектным группам и отдельным специалистам базу для осуществления этого процесса.
Следует отметить, что MSF не навязывает использование других продуктов Microsoft. Например, для организации процесса производства ПО можно использовать MSF и при этом применять инструменты Borland, хотя будущая версия MSF 4.0 будет жестко привязана к Microsoft Team System — новому инструментальному средству Майкрософт для поддержки командной работы.
Версии
Первая версия MSF появилась в 1994 году. Текущая версия — MSF 4.0 была представлена в 2005 году. В данной версии произошло разделение методологии на два направления: MSF for Agile Software Development и MSF for CMMI Process Improvement.
Кроме этого, появилась роль архитектора и поддержка методологии в инструменте — Visual Studio Team System.
Ссылки
- Сайты и порталы
- Microsoft Solution Framework in Visual Studio 2005 Team System (англ.)
- MSF Essentials book (англ.)
- MSF Resources at North Star Analytics (англ.)
- Информация по MOF (англ.)
- Информация по MSF (англ.)
- Статьи
- Введение в методологию Microsoft Solutions Framework (рус.)
- MSF – философия создания IT-решений или голые амбиции лидера (рус.)
Фаза планирования
На фазе планирования (planning) производится основная работа по составлению планов проекта. Она включает в себя подготовку проектной группой функциональной спецификации, разработку дизайнов, подготовку рабочих планов, оценку проектных затрат и сроков разработки различных составляющих проекта.
В начале фазы планирования проектная группа анализирует и документирует проектные требования. Они разделяются на четыре общих категории: бизнес-требования (business requirements), потребительские требования (user requirements), эксплуатационные требования (operational requirements) и системные требования, относящиеся к решению в целом (system requirements). В ходе проектирования решения и создания его функциональной спецификации необходимо следить за соответствием (traceability) между имеющимися требованиями и проектируемой функциональностью. Это соответствие не обязательно будет взаимооднозначным. Оно служит одним из способов контроля корректности дизайна и его пригодности для достижения поставленных перед решением целей.
Процесс проектирования – это систематический способ продвижения от абстрактных концепций к конкретным техническим деталям. Он начинается с методичного анализа профилей пользователей (user profiles, иногда называемых «персонажами» — «personas«), которые описывают различные типы пользователей (включая персонал сопровождения) и их рабочие функции. Значительная часть этой работы часто проводится во время фазы выработки концепции. Затем формируется набор сценариев использования (usage scenarios), в каждом из которых моделируется выполнение какой-либо операции определенным типом пользователя (например, регистрация посетителей в отеле или администрирование паролей пользователей в компьютерной системе). В конце концов, каждый сценарий использования разбивается на последовательность специфических действий, называемых примерами пользования (use cases), которые необходимо выполнить пользователю для осуществления операции. Этот процесс анализа действий пользователей называется стори-боардинг
(«story boarding«).
Существует три уровня процесса проектирования: концептуальный дизайн (conceptual design), логический дизайн (logical design) и физический дизайн (physical design). Работа над логическим дизайном начинается через некоторое время после начала концептуального дизайна, и работа над физическим дизайном стартует через некоторое время после начала работы над логическим.
Результаты процесса проектирования документируются в функциональных спецификациях (functional specifications). Функциональные спецификации детально описывают вид и поведение каждой составляющей решения. Также для всех составляющих описывается их архитектура и дизайн.
Функциональная спецификация служит многим целям:
- Инструкции команде разработчиков о том, что они должны будут создать.
- Основа для оценивания объема работы.
- Четкое соглашение с заказчиком о том, что должно быть сделано.
- Синхронизация работы всей проектной команды.
Как только создана базовая версия функциональной спецификации, может быть начато детальное планирование. Каждый из руководителей ролевых кластеров проектной группы подготавливает план или планы, относящиеся к его роли, и принимает участие в командных сессиях планирования. Примеры планов включают в себя план внедрения, план тестирования, план эксплуатации, план мер безопасности, план обучения.
Затем проектная группа коллективно анализирует планы и выявляет взаимозависимости между ними. Все планы синхронизируются и представляются вместе в виде сводного плана проекта. В зависимости от проекта, число планов, образующих сводный план, может меняться.
Члены проектной группы, представляющие каждый из ролевых кластеров, оценивают необходимое для выполнения запланированных задач время и составляют календарный график сдачи результатов. Затем происходит синхронизация календарных графиков с последующей их интеграцией в сводный календарный график проекта (master project schedule).
Кульминацией фазы планирования является веха «Планы проекта утверждены» (project plans approved). Она знаменует собой достижение детального соглашения между заказчиком и проектной группой о составе поставляемого решения и сроках поставок. Также на этой вехе проектная группа уточняет оценки рисков, корректирует (при необходимости) приоритеты и окончательно оценивает требуемые ресурсы.
Фаза разработки
На фазе разработки проектная группа фокусируется на создании компонент решения (включая как документацию, так и программный код). Однако некоторая часть этой работы может продолжаться также на фазе стабилизации, если такая необходимость выявлена в процессе тестирования. Данная фаза также включает в себя разработку инфраструктуры.
Следует обратить внимание, что активность проектной команды на этом этапе не ограничивается написанием разработчиками кода – все ролевые кластеры принимают деятельное участие в создании и тестировании решения.
Фаза стабилизации
Во время фазы стабилизации производится тестирование разработанного решения. При этом внимание фокусируется на его эксплуатации в реалистичной модели производственной среды. Проектная группа занимается приоритезацией и устранением ошибок, а также подготовкой решения к выпуску.
Обычно в начале фазы стабилизации скорость выявления ошибок командой тестирования превосходит скорость, с которой эти ошибки могут устраняться командой разработчиков. Невозможно предсказать, сколько ошибок будет найдено и как много времени понадобится на их устранение. Однако существует два статистических признака, помогающих проектной группе оценить уровень стабилизации решения. Это точка конвергенции (bug convergence) и точка достижения нуля ошибок (zero bug bounce). Они описываются ниже.
MSF не использует для описания состояния проекта термины «альфа» и «бета». Хотя эти понятия применяются довольно часто, их интерпретация далеко не однозначна. При желании проектная группа может их использовать, но при этом они должны быть четко определены и понятны как членам проектной группы, так и заказчику и другим заинтересованным сторонам.
Как только создана версия, достаточно стабильная для того, чтобы считаться кандидатом для выпуска, производится пилотное внедрение решения.
Фаза стабилизации завершается вехой «Готовность решения утверждена» (Release Readiness Approved). В состоянии, достигнутом к этому моменту, решение уже готово к полному внедрению в производственную среду.
Фаза внедрения
Во время этой фазы проектная группа внедряет технологии и компоненты решения, стабилизирует внедренное решение, передает работу персоналу поддержки и сопровождения и получает со стороны заказчика окончательное одобрение результатов проекта. По завершению внедрения проектная группа производит анализ выполненной работы и удовлетворенности заказчика.
Во время этой фазы по ходу переноса компонент решения из среды тестирования в производственную среду могут продолжаться меры по стабилизации решения.
Модель команды Microsoft Solutions Framework
MSF основан на постулате о шести качественных целях, достижение которых определяет успешность проекта. Эти цели обуславливают модель проектной группы. В то время как за успех проекта ответственна вся команда, каждый из ее ролевых кластеров, определяемых моделью, ассоциирован с одной из упомянутых шести целей и работает над ее достижением.
Шесть ролевых кластеров модели проектной группы – это «Управление продуктом» (product management), «Управление программой» (program management), «Разработка» (development), «Тестирование» (test), «Удовлетворение потребителя» (user experience) и «Управление выпуском» (release management). Они ответственны за различные области компетенции (functional areas) и связанные с ними цели и задачи. Иногда ролевые кластеры называются просто ролями. Но в любом случае суть концепции остается той же – построить основу производственных отношений и связанную с ней модель команды такими, чтобы они были приспосабливаемыми (масштабируемыми) для удовлетворения нужд любого проекта. Одна роль (или один кластер) может быть представлена одним или несколькими сотрудниками, в зависимости от размера проекта, его сложности и профессиональных навыков, требуемых для реализации всех областей компетенции кластера.
Модель проектной группы MSF подчеркивает важность построения ролевых кластеров в соответствии с нуждами бизнеса. Группировка связанных областей компетенции, каждая из которых имеет свою специфику, обеспечивает хорошую сбалансированность команды. Четкое определение целей повышает уровень ответственности и способствует лучшему их восприятию проектной командой, что незамедлительно сказывается наилучшим образом на качестве выпускаемого продукта. Поскольку каждая из целей одинаково необходима для успешности проекта, все роли находятся в равноправных партнерских взаимоотношениях с равной значимостью при принятии решений.
Заметим, что использование ролевых кластеров не подразумевает и не навязывает никакой специальной структуры организации или обязательных должностей. Административный состав ролей может широко варьироваться в разных организациях и проектных группах. Чаще всего роли распределяются среди различных подразделений одной организации, но иногда часть их отводится сообществу потребителей или внешним по отношению к организации консультантам и партнерам. Ключевым моментом является четкое определение работников, ответственных за каждый ролевой кластер, их функций, ответственности и ожидаемого вклада в конечный результат.
Цель | Область компетенции | Функции | |
---|---|---|---|
Управление продуктом | Удовлетворенные заказчики |
Маркетинг Бизнес-отдача (бизнес-приоритеты) Представление интересов заказчика Планирование продукта |
Выступает в роли представителя заказчика Формирует общее видение/рамки проекта Организует работу с требованиями заказчика Развивает сферы применения в бизнесе Формирует ожидания заказчика Определяет компромиссы между параметрами «возможности продукта / время / ресурсы» Организует маркетинг, PR и евангелизацию Разрабатывает, поддерживает и исполняет план коммуникаций |
Управление программой | Достижение результата в рамках проектных ограничений |
Управление проектом Выработка архитектуры решения Контроль производственного процесса Административные службы |
Управляет процессом разработки с целью получения готового продукта в отведенные сроки Формулирует спецификацию продукта и разрабатывает его архитектуру Регулирует взаимоотношения и коммуникацию внутри проектной группы Следит за временным графиком проекта и готовит отчетность о его состоянии Проводит в жизнь важные компромиссные решения Разрабатывает, поддерживает и исполняет сводный план и календарный график проекта Организует управление рисками |
Разработка | Создание продукта в соответствии со спецификацией |
Технологическое консультирование Проектирование и осуществление реализации Разработка приложений Разработка инфраструктуры |
Определяет детали физического дизайна Оценивает необходимые время и ресурсы на реализацию каждого элемента дизайна Разрабатывает или контролирует разработку элементов Подготавливает продукт к внедрению Консультирует команду по технологическим вопросам |
Тестирование | Одобрение выпуска продукта только лишь после того, как все дефекты выявлены и улажены |
Планирование тестов Разработка тестов Отчетность по тестам |
Обеспечивает обнаружение всех дефектов Разрабатывает стратегию и планы тестирования Осуществляет тестирование |
Удовлетворение потребителя | Повышение эффективности пользователя, увеличение потребительской ценности продукта |
Обеспечение технической поддержки Обучение Эргономика Графический дизайн Интернационализация Общедоступность (обеспечение возможности работы для пользователей с ограниченными физическими возможностями) |
Представляет интересы потребителя в команде Организует работу с требованиями пользователя Проектирует и разрабатывает системы поддержки производительности Определяет компромиссы, относящиеся к удобству использования и потребительским качествам продукта Определяет требования к системе помощи и ее содержание Разрабатывает учебные материалы и осуществляет обучение пользователей |
Управление выпуском | Беспроблемное внедрение и сопровождение продукта |
Инфраструктура Сопровождение Бизнес-процессы Управление выпуском готового продукта |
Представляет интересы отделов поставки и обслуживания продукта Организует снабжение проектной группы Организует внедрение продукта Вырабатывает компромиссы в управляемости и удобстве сопровождения продукта Организует сопровождение и инфраструктуру поставки Организует логистическое обеспечение проектной группы |