Презентацию к данной лекции Вы можете скачать здесь.
Цель лекции:
Получить представление о методологии компании Microsoft для создания ИТ-решений.
Microsoft Solutions Framework (MSF) является методологией разработки ПО, которая представляет собой обобщение лучших проектных практик, которые использовались командами разработчиков Microsoft. Данная методология описывает управление людьми и рабочими процессами при разработке ИТ-решений.
ИТ-решение - понимается как скоординированная поставка набора элементов (таких как программные средства, документация, обучение и сопровождение), необходимых для удовлетворения бизнес-потребности конкретного заказчика.
Концепция управления жизненным циклом приложений, принятая разработчиками ПО, привела к тому, что методология MSF стала составной часть продукта Visual Studio Team System (VSTS), который реализовывал подходMicrosoft в плане - ALM. В продукт VSTS вошли шаблоны процессов для реализации положений модели CMMI - MSF for CMMI и моделей гибкой разработки ПО - MSF for Agileи Scrum. Таким образом, VSTSявляются инструментарием управления жизненным циклом приложений, который позволяет создавать программные системы различного назначения в командах, придерживающихся различных подходов к управлению процессами разработки ПО.
Основными являются следующие принципы MSF.
Универсальность модели MSF определяется тем, что благодаря своей гибкости и отсутствию жестко установленных связей и процедур она может быть применена при разработке различных программных приложений, которые могут использоваться в бизнесе и повседневной жизни.
Модель MSF базируется на сочетании двух моделей жизненного цикла программных систем: каскадной и спиральной (см. рис 2.1).
(рис 2.1) Модель жизненного цикла решения MSF
В основе методологии MSF лежит итеративный интегрированный подход к созданию и внедрению решений, базирующийся на фазах и вехах.
Итеративность подхода предусматривает поэтапное создание работоспособной программной системы с определенной функциональностью, отражающей требования к конечному продукту на данном этапе разработки. Каждый виток спирали состоит из идентичных фаз, на которых выполняются этапы работ по формированию концепции фазы, планированию, разработке, стабилизации и внедрению. Набор требований программной системы и соответствующих им задач, которые реализуются на заданном витке спирали, определяется менеджером проекта на основе ранжирования требований к системе. Каждый последующий виток спирали добавляет к программной системе функциональность, отражающую требования заказчика.
Интеграция в рамках одного проекта процедур разработки и внедрения системы позволяет представлять заказчику различные промежуточные работоспособные версии программного продукта, оперативно вносить изменения, отражающие видение заказчиком функциональности и дизайна проектируемой системы, снизить риски проекта за счет раннего выявления проблем и возможности своевременного их устранения.
Фазы проекта определяют последовательно решаемые задачи, а вехи (milestones) - ключевые точки проекта, характеризующие достижение какого-либо существенного результата.
В MSF используются два вида вех: главные и промежуточные. Они имеют следующие характеристики:
Главная особенность модели команды в MSF является то, что она не имеет официального лидера. Все отвечают за проект в равной степени, уровень заинтересованности каждого в результате очень высок, а коммуникации внутри группы четкие, ясные, дружественные и ответственные.
Такое возможно при высоком уровне самосознания и заинтересованности каждого члена команды, а также при достаточно высоком уровне профессионализма.
Одной из особенностей отношений внутри команды является высокая культура дисциплины обязательств:
Ролевые кластеры MSF основаны на семи качественных целях, достижение которых определяет успешность проекта. Эти цели обуславливают модель проектной группы и образуют ролевые кластеры (или просто роли) в проекте. Каждый кластер может включать одного или нескольких специалистов. Каждый ролевой кластер представляет уникальную точку зрения на проект, и в то же время никто из членов проектной группы в одиночку не в состоянии успешно представлять все возможные взгляды, отражающие качественно различные цели.
В MSF следующие ролевые кластеры:
| Управление продуктом | Основная задача кластера- обеспечить, чтобы заказчик остался довольным в результате выполнения проекта. Этот ролевой кластер в проекте представляет интересы заказчика. Он представляет бизнес-сторону проекта и обеспечивает его согласованность со стратегическими целями заказчика. |
| Управление программой | Кластер обеспечивает управленческие функции - отслеживание планов и их выполнение, ответственность за бюджет, ресурсы проекта, разрешение проблем и трудностей процесса, создание условий, при которых команда может работать эффективно, испытывая минимум бюрократических преград. |
| Разработка | Кластер обеспечивает разработку кода приложения. |
| Тестирование | Кластер отвечает за тестирование ПО. |
| Удовлетворение потребителя | Кластер решает задачи пользовательского дизайна приложения и обеспечения удобства эксплуатации ПО, обучение пользователей работе с ПО, создание пользовательской документации. |
| Управление выпуском | Кластер отвечает за внедрение проекта и его функционирование, берет на себя связь между разработкой решения, его внедрением и последующим сопровождением, обеспечивая информированность членов проектной группы о последствиях их решений. |
| Архитектура | Кластер отвечает за организацию и выполнение высокоуровневого проектирования решения, создание функциональной спецификации ПО и управление этой спецификацией в процессе разработки, определение рамок проекта и ключевых компромиссных решений. |
Изменения в задачах ролевых кластеров проектной команды происходят по мере смены фаз проекта. Переход от одной фазы к другой включает в себя также перенос основной ответственности от одних ролевых кластеров к другим, как показано в таблице 2.1.
| Веха | Ведущие ролевые кластеры |
|---|---|
| Концепция утверждена | Управление продуктом |
| Планы проекта утверждены | Управление программой |
| Разработка завершена | Разработка, удовлетворение потребителя |
| Готовность решения утверждена | Тестирование, управление выпуском |
| Внедрение завершено | Управление выпуском |
В зависимости от размера и сложности проекта модель команд MSF допускает масштабирование. Для небольших и несложных проектов один сотрудник может объединять несколько ролей. При этом некоторые роли нельзя объединять. В таблице 2.2 представлены рекомендации MSF относительно совмещения ролей в рамках одним членом команды. "+" означает, что совмещение возможно, "+-" - что совмещение возможно, но нежелательно, "-" означает, что совмещение не рекомендуется.
| Управление продуктом | Управление программой | Разработка | Тестирование | Удовлетворение потребителя | Управление выпуском | Архитектура | |
|---|---|---|---|---|---|---|---|
| Управление продуктом | - | - | + | + | +- | - | |
| Управление программой | - | - | +- | +- | + | + | |
| Разработка | - | - | - | - | - | + | |
| Тестирование | + | +- | - | + | + | +- | |
| Удовлетворение потребителя | + | +- | - | + | +- | +- | |
| Управление выпуском | +- | + | - | + | +- | + | |
| Архитектура | - | + | + | +- | +- | + |
В частности, нельзя совмещать разработку и тестирование, поскольку необходимо, чтобы у тестировщиков был сформирован свой, независимый взгляд на систему, базирующийся на изучении требований.
Для больших команд (более 10 человек) модель проектной группы MSF предлагает разбиение на малые многопрофильные группы направлений. Эти малые коллективы работают параллельно, регулярно синхронизируя свои усилия, каждая из которых устроена на основе модели кластеров. Такие команды имеют четко определенную задачу и ответственны за все относящиеся к ней вопросы, начиная от проектирования и составления календарного графика.
Кроме того, когда ролевому кластеру требуется много ресурсов, формируются так называемые функциональные группы, которые затем объединяются в ролевые кластеры. Они создаются в больших проектах, когда необходимо сгруппировать работников внутри ролевых кластеров по их областям компетенции. Часто функциональные группы имеют внутреннюю иерархическую структуру. Например, менеджеры программы могут быть подотчетны ведущим менеджерам программы, которые в свою очередь отчитываются перед главным менеджером программы. Подобные структуры могут также появляться внутри областей компетенций.
.
(рис 2.2) Треугольник компромиссов
После достижения равновесия в этом треугольнике изменение на любой из его сторон для поддержания баланса требует модификаций на другой (двух других) сторонах и/или на изначально измененной стороне.
В проектной практике может фиксироваться один из ресурсов, тогда в процессе проектирования системы измерению подлежат только два оставшихся ресурса. Данная ситуация задается матрицей компромиссов, которая приведена на рис 2.3. Так, если фиксируются ресурсы, то время выполнения проекта согласовывается, а функциональные возможности подлежат изменению.
(рис 2.3) Матрица компромиссов
| скоординированная поставка набора элементов, необходимых для удовлетворения бизнес-потребности конкретного заказчика. | |
| поэтапное создание работоспособной программной системы с определенной функциональностью, отражающей требования к конечному продукту на данном этапе разработки. | |
| позволяет представлять заказчику различные промежуточные работоспособные версии программного продукта, оперативно вносить изменения, снизить риски проекта. | |
| последовательно решаемые задачи проекта. | |
| ключевые точки проекта, характеризующие достижение какого-либо существенного результата. | |
| ролевой кластера модели MSF, предназначенный для обеспечения удовлетворения заказчика результатом выполнения проекта. | |
| ролевой кластера модели MSF, предназначенный для отслеживания выполнения планов, бюджета, ресурсов проекта. | |
| ролевой кластера модели MSF, предназначенный для обеспечения разработки кода приложения. | |
| ролевой кластера модели MSF, предназначенный длятестирования ПО. | |
| ролевой кластера модели MSF, предназначенный обеспечения удобства эксплуатации ПО. | |
| ролевой кластера модели MSF, который отвечает за внедрение проекта и его функционирование. | |
| ролевой кластера модели MSF, который отвечает заорганизацию и выполнение высокоуровневого проектирования решения. |
Microsoft Solutions Framework является методологией разработки ПО, которая представляет собой обобщение лучших проектных практик, которые использовались командами разработчиков Microsoft. ИТ-решение представляет собой скоординированную поставку набора элементов, необходимых для удовлетворения бизнес-потребности конкретного заказчика. Методология MSF является составной часть продукта Visual Studio Team System. Модель MSF базируется на сочетании двух моделей жизненного цикла ПО: каскадной и спиральной. В основе методологии MSF лежит итеративный интегрированный подход к созданию и внедрению ИТ-решений, базирующийся на фазах и вехах. В модели команды MSF нет официального лидера, а все отвечают за проект в равной степени. Ролевые кластеры MSF основаны на семи качественных целях, достижение которых определяет успешность проекта. В зависимости от размера и сложности проекта модель команд MSF допускает масштабирование. Управление компромиссами основано на балансе функциональности, времени и ресурсах проекта.
Вопросы
Упражнения
Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.