Слайд 1Обзор методологии разработки программного обеспечения
Microsoft Solutions Framework
Андрей А. Терехов
Московское представительство
Microsoft
e-mail: andreyte@microsoft.com
Слайд 2План доклада
Обзор MSF
Модель команды MSF
Модель процесса в MSF
Дисциплина управления рисками
Дисциплина управления
проектами
Дисциплина управления подготовкой
Краткое сравнение с другими методологиями (RUP, CMM, …)
Вопросы/ответы
Слайд 3Успешные проекты нечасты в ИТ
Статистика по 30,000 проектам по разработке ПО
в американских компаниях.
Источник: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000
Успешные проекты – вовремя и в рамках бюджета был выполнен весь намеченный фронт работ.
Проблемные – не уложились в сроки, перерасходовали бюджет и/или сделали не все, что требовалось.
Проваленные – не были доведены до конца.
Слайд 4Эволюция MSF
Причиной появления MSF стало осознание в Microsoft проблем в собственном
процессе разработки ПО
Первоначальная версия MSF увидела свет в 1994 г.
В 2002 г. была опубликована последняя версия MSF (v3.0)
MSF является частью более широкого набора методологий от Microsoft
Слайд 5MSF и MOF
MSF = Microsoft Solutions Framework
Подход Microsoft к управлению
ИТ-проектами:
Проекты
разработки ПО
Проекты развертывания инфраструктуры
MOF = Microsoft Operations Framework
Подход Microsoft к управлению
ИТ-процессами (операциями) на предприятии
Слайд 6MSF и MOF
Microsoft Operations Framework
Microsoft Solutions Framework
Эксплуатируем
Внедряем
Создаем
Планируем
Слайд 7Структура MSF
Модель
Процессов
Модель
Проектной
Группы
Дисциплина
управления
Проектами
ДВЕ МОДЕЛИ
ТРИ ДИСЦИПЛИНЫ
Дисциплина
управления
Рисками
Дисциплина
управления
Подготовкой
Слайд 8Модель проектной группы
Бизнес-приоритеты
Маркетинг
Представление интересов заказчика
Планирование продукта
Управление проектом
Выработка архитектуры решения
Контроль производственного
процесса
Административные службы
Технологическое консультирование Проектирование и осуществление реализации
Разработка приложений
Разработка инфраструктуры
Планирование тестов
Разработка тестов
Отчетность по тестам
Инфраструктура
Сопровождение
Бизнес-процессы
Управление выпуском готового продукта
Обучение
Эргономика
Графический дизайн
Интернационализация
Обеспечение технической поддержки
Общедоступность (обеспечение возможности работы для пользователей с ограниченными физическими возможностями)
Слайд 9Характеристики проектной группы MSF
Команда соратников (команда равных)
Наличие единого видения проекта (shared
vision)
Распределение ответственности при одновременной фиксации отчетности
Нацеленность на необходимый заказчику конечный результат
Наличие у сотрудников необходимых полномочий
Открытое общение
Установка на отсутствие дефектов
Стремление к самосовершенствованию
Гибкость и готовность к переменам
Заинтересованность и энтузиазм
Слайд 10Замечание по терминологии
Заинтересованные стороны (stakeholders) – лица либо организации, чьи интересы
затрагиваются результатами проекта
Спонсоры проекта (project sponsors)
– лица либо организации, которые инициировали проект, выделяют для проекта ресурсы и утверждают его результаты. Иногда “project sponsor” переводится как “куратор проекта”
Слайд 11Масштабирование модели проектной группы
В одном ролевом кластере может быть много людей
Один
человек может взять на себя несколько ролей
Большие коллективы:
Создаем группы направлений
Создаем функциональные группы
Малые коллективы:
Используем таблицу совместимости ролей
Слайд 12Большой коллектив
Управление программой
Управление выпуском
Управление продуктом
Удовлетворение потребителя
Разработка
Тестирование
Руководящая группа
Разработка клиентских компонент
(группа направления)
Управление программой
Удовлетворение
потребителя
Разработка
Тестирование
Разработка
средств печати
(группа направления)
Управление программой
Удовлетворение потребителя
Разработка
Тестирование
Разработка средств обмена сообщениями
(группа направления)
Управление программой
Удовлетворение потребителя
Разработка
Тестирование
Удовлетворение потребителя
(функциональная группа)
Лидер
группы
Слайд 13
+ Допустимо
± Нежелательно
- Нельзя
Управление продуктом
Управление программой
Управление выпуском
Управление продуктом
Управление программой
Разработка
Тестирование
Удовлетворение
потребителя
Управление выпуском
Разработка
Тестирование
Удовлетворение потребителя
Таблица совместимости ролей
Слайд 14Минимальный коллектив
Управление
выпуском
Слайд 15Модель процессов
Планы проекта утверждены
Разработка завершена
Готовность решения утверждена
Внедрение завершено
Концепция проекта утверждена
Выработка
концепции
Внедрение
Разработка
Планирование
Стабилизация
Слайд 16Промежуточные вехи
Планы проекта утверждены
Разработка завершена
Готовность решения утверждена
Внедрение завершено
Концепция проекта утверждена
Тестирование приемлемости
для потребителей завершено
Верификация технологий осуществлена
Базовая версия функциональной спецификации создана
Базовая версия сводного плана проекта создана
Базовая версия сводного календарного графика проекта создана
Среды разработки и тестирования развернуты
Внедренное решение стабилизировано
Внедрение на местах завершено
Ключевые компоненты развернуты
Ядро проектной группы сформировано
Черновой вариант концепции
проекта составлен
Концепция подтверждена
Промежуточная версия 1 завершена
Промежуточная версия 2 завершена
Промежуточная версия N завершена
Слайд 17
Итеративный подход
Время
Функциональность
Минимизируем риски, разбивая большие проекты на несколько версий
Версия 1
Слайд 18Для каждой фазы модели процессов MSF определяет:
Что (какие артефакты) является результатом
этой фазы
Над чем работает каждый из ролевых кластеров на этой фазе
Слайд 19Дисциплина управления рисками
Мы не боремся с рисками – мы ими управляем
Итеративный
процесс
Осуществляется на протяжении
всего проекта
Базируется на посылке о присутствии
рисков в любом проекте
Нацелена на проведение
профилактических мероприятий
Слайд 20Процесс управления рисками
Формулировка риска
База знаний
о рисках
1
2
3
4
5
6
Список рисков
Главные риски
Анализ и приоритезация
Планирование
Мониторинг
Коррекция
Извлечение
Слайд 21Дисциплина управления проектами
Проект (project) – ограниченная временными рамками деятельность, цель которой
состоит в создании уникального продукта или услуги
Управление проектами (project management) – это область знаний, навыков, инструментария и приемов, используемых
для достижения целей
проектов в рамках
согласованных параметров
качества, бюджета, сроков
и прочих ограничений
Слайд 22Управление изменениями
Фиксируется
Согласовывается
Принимается
Ресурсы
Возможности
Время
Мы не можем избежать изменений
в проекте
Но мы можем
заранее договориться о приоритетах,
которыми будем руководствоваться при реагировании на изменения
Для этого используется матрица компромиссов
Слайд 23Управление ожиданиями заказчика
Конус неопределенности показывает, как меняется точность оценок стоимости проекта
по мере его осуществления. Важно, чтобы заказчик понимал это.
Слайд 24В MSF нет роли
“менеджер проекта”
на уровне всего проекта
на уровне подгрупп
Деятельность по управлению проектом распределяется между лидерами групп
и ролевым кластером
“Управление
программой”
Слайд 25Определение
Дисциплина управления подготовкой
Знания, умения, способности
Корректировка
Оценивание
Осмысление
Слайд 26MSF как концепция
Например, для организации процесса производства ПО можно использовать MSF
и при этом применять инструменты Borland
Более того, MSF не навязывает даже конкретную методологию разработки программного обеспечения (как, например, RUP)
MSF – это концепция (framework), применимая в самом широком наборе случаев
Слайд 27Доступность стандартов, знание которых требуется от ИТ-менеджера
Слайд 28MSF и ...
PMI PMBOK
Whitepaper “MSF and the Project Management Body of
Knowledge”
http://www.webster.edu/~dlorenc/PMPStudy/Library/MSFandthePMBOK.doc
RUP
Whitepaper “Microsoft Solutions Framework and The Rational Process”
http://www.rational.com/media/whitepapers/msfratprcs.rtf
CMM
Whitepaper “Microsoft Solutions Framework and the Capability Maturity Model”
http://www.aurelian.ro/MSF/RESOURCE_KIT-PAD/papers/MSFAndTheCapMaturityModel.doc
Перечисленные документы ссылаются на предыдущие версии MSF, однако общую картину этот факт не меняет
Слайд 30Материалы по MSF
На английском языке
http://www.microsoft.com/msf
http://www.microsoft.com/traincert/mcp/msf
MCT могут получить доступ
к учебникам и презентациям курсов 1846 и 2710 через
MCT Download Center:
https://partnering.one.microsoft.com/mct
Не MCT могут прослушать эти курсы в СТЕС.
В стоимость курса входит комплект материалов
На русском языке
http://www.microsoft.com/rus/msf
Слайд 31Шаблоны и примеры документов
Есть только на английском языке
Шаблоны доступны бесплатно на
http://download.microsoft.com
Нужно сделать поиск
по ключевому слову MSF
Детальные примеры входят в студенческий комплект материалов курса 2710
В т.ч. UML диаграммы (промежуточные
и окончательные версии)
Слайд 32Курс 1846
Microsoft Solutions Framework Essentials
3 дня, компьютеры не используются
Изучаются все элементы
MSF
Великолепные деловые игры
http://www.microsoft.com/traincert/syllabi/1846Afinal.asp
Слайд 33Курс 2710
Analyzing Requirements and Defining Microsoft .NET Solution Architectures
5 дней, компьютеры
используются
Подробно изучается фаза планирования для проектов разработки ПО (application development)
http://www.microsoft.com/traincert/syllabi/2710bfinal.asp
Слайд 34Экзамен 74-100
Microsoft Solutions Framework Practitioner Endorsement Exam
70 вопросов
90 минут
Проходной балл –
70% (49 вопросов)
Язык - английский
Не является частью программы MCP
Можно сдавать только через Prometric
http://www.2test.com
В СНГ стоимость экзамена - $50, в США - $125
В мире сегодня – 266 MSF Practitioners
В России – 4
На Украине – 2
http://www.microsoft.com/technet/itsolutions/tandp/innsol/banmsfpro/default.asp
Слайд 35Заключение
MSF представляет собой обобщение опыта управления ИТ-проектами, накопленного в Microsoft
MSF состоит
из двух моделей и трех дисциплин, описание которых доступно на русском языке на сайте http://www.microsoft.com/rus/msf
MSF – это набор рекомендаций, которые можно применять выборочным образом
Наиболее революционная часть MSF – это модель команды равных
Слайд 38Как организовано обучение
MSF преподают как минимум в 5-6 вузах СНГ студентам
3-6 курсов технических специальностей
Аббревиатура MSF в названиях курсов обычно отсутствует
“Системный анализ и проектирование информационных систем”
“Управление проектами”
...
Уже есть как минимум один пример базирующейся на MSF дипломной работы
Слайд 39Как организована практика
Один или несколько небольших коллективов студентов, каждый из которых
реализует свой проект
В качестве заказчиков выступают кафедра, деканат или “дружественная” организация
ПО для учета нагрузки преподавателей, посещаемости и успеваемости студентов и т.п.
Работа и документооборот организуются
по правилам MSF
Два способа синхронизации лекций и практики
лекции по MSF на тему или две опережают практические занятия
лекции по MSF идут в одном семестре, практика – в следующем
Слайд 40На какие грабли наступали
Механизм вовлечения “заказчика” в работу иногда оказывался недостаточно
эффективен и исполнитель роли “заказчика” начинает уклоняться, не участвуя во всех этапах проекта .
Студенты не всегда чувствуют, что предпосылкой для создания одних документов является готовность других, и, следовательно, в одну ночь все документы не сделаешь
За разные документы отвечают разные люди
Студенты нередко боятся писать понятные тексты, при составлении проектной документации используют многословные наукообразные трудночитаемые фразы
Низкий уровень знания английского языка может создать проблемы при работе с шаблонами документов MSF
Студенты, которые учатся ради зачета, а не ради знаний, могут плохо влиять на командный дух, понижая общий энтузиазм
Таким студентам, наверное, проще сразу поставить зачет, чтобы не мешали... ;-))
Слайд 41Рекомендации
Преподаватель должен быть Endorsed MSF Practitioner
(экзамен 74-100)
Преподаватель должен иметь
практический опыт участия в разработке ПО большими коллективами
Не имеет смысла пытаться учить студентов MSF, если нет возможности организовать закрепление материала на практике. Без практического опыта у студентов не сформируется понимание решаемых MSF производственных проблем, а ведь это – главная задача
Оптимальный вариант получения опыта и применения знаний MSF – участие в реальном проекте во время производственной практики на реальном предприятии
Начинать учить MSF необходимо с модели проектной группы,
а не с модели процессов
Нужно очень подробно разъяснять дисциплину управления рисками, возможно, стоит привлекать материал из PMBOK
Лекции – плохой способ обучения MSF, нужны активные обсуждения, деловые игры, постоянный диалог с аудиторией
Слайд 42В вузах можно не только преподавать MSF, но и вести исследования
ВОЗМОЖНЫЕ НАПРАВЛЕНИЯ ИССЛЕДОВАНИЙ:
Использование и адаптация MSF для нестандартных и узкоспециальных проектов
Проекты внедрения MSF
Проекты локализации (не только ПО)
Software outsourcing
Разработка учебных курсов
Совместное использование MSF и других подходов
CDM, ГОСТы, etc.
MSF и SPEM (Software Process Engineering Metamodel)
http://www.omg.org/technology/documents/formal/spem.htm