Microsoft Solutions Framework (MSF) на предприятиях и в вузах

advertisement
Microsoft Solutions
Framework
на предприятиях
и в вузах
В.Л.Павлов, vlpavlov@ieee.org
О докладчике
В.Л.Павлов


Технический директор eLine Software, Inc.
(Днепропетровск / Питтсбург)
Сертификаты
MSF Practitioner
MCT, MCSD for .NET, MCSD, MCAD, MCDBA
CompTIA Certified IT Project+

Опыт опыт руководства ИТ-проектами
Проекты длительностью до 2 лет
Коллективы 100 и более человек
Интернациональные и распределенные команды

Член ACM, IEEE и PMI
О докладе
Обзор MSF






Модель проектной группы
Модель процессов
Дисциплина управления рисками
Дисциплина управления проектами
Дисциплина управления подготовкой
Преимущества MSF
Внедрение MSF




Внедрение на предприятии
Курсы 1846 и 2710
Преподавание MSF в вузах
Исследовательская работа
Подробнее о фазе планирования
(если останется время)

Три типа дизайна
Данный доклад продолжает
доклад В.Л.Павлова и А.А.Терехова
“Как готовить ИТ-менеджеров”
http://www.it-education.ru/reports/pavlov_terekhov.htm
http://www.it-education.ru/reports/presentation/pavlov_terekhov.ppt
Успешные проекты нечасты в ИТ
Проваленные
2000
1998
Успешные
49%
28%
23%
28%
1995
1994
Проблемные
46%
40%
31%
26%
33%
53%
27%
16%
Статистика по 30,000 проектам по разработке ПО в американских компаниях.
Источник: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000
Успешные проекты – вовремя и в рамках бюджета был выполнен весь намеченный фронт работ.
Проблемные – не уложились в сроки, перерасходовали бюджет и/или сделали не все, что требовалось.
Проваленные – не были доведены до конца.
Немного терминологии
Решение (solution) - скоординированная
поставка набора элементов (таких как
программно-технические средства,
документация, обучение и сопровождение),
необходимых для удовлетворения некоторой
бизнес-потребности конкретного заказчика.
Хотя MSF и используется при разработке коммерческих
продуктов для массового потребительского рынка
(коробочного ПО), он ориентирован главным образом
на поставку решений, предназначенных для
определенного заказчика.
MSF и MOF
MSF = Microsoft Solutions Framework

Подход Microsoft к управлению
ИТ-проектами:
Проекты разработки ПО
Проекты развертывания инфраструктуры
MOF = Microsoft Operations Framework

Подход Microsoft к управлению
ИТ-процессами (операциями) на
предприятии
MSF и MOF
Microsoft Solutions Framework
Microsoft Operations Framework
Эволюция MSF
Первоначальная версия MSF увидела
свет в 1994 г.
В 2002 г. была опубликована последняя
версия MSF (v3.0)
MSF “взрослеет” подобно другим
продуктам Microsoft

Windows XP намного более зрелый продукт, чем
Windows 95, аналогичная тенденция наблюдается
и для MSF
Структура MSF
ДВЕ МОДЕЛИ
Модель
Модель
Проектной
Группы
Процессов
ТРИ ДИСЦИПЛИНЫ
Дисциплина
управления
Дисциплина
управления
Дисциплина
управления
Проектами
Рисками
Подготовкой
Структура MSF
MSF состоит из двух моделей и
трех дисциплин
Они подробно описаны в 5 whitepapers

http://www.microsoft.com/rus/msf
Начинать изучение MSF нужно с
моделей, затем переходя к
дисциплинам
Модель проектной группы
Управление проектом
Выработка архитектуры решения
Контроль производственного процесса
Административные службы
Бизнес-приоритеты
Маркетинг
Представление
интересов заказчика
Планирование продукта
Управление
программой
Технологическое консультирование
Проектирование и осуществление реализации
Разработка приложений
Разработка инфраструктуры
Управление
продуктом
Разработка
Удовлетворение
потребителя
Тестирование
Обучение
Эргономика
Графический дизайн
Интернационализация
Обеспечение технической
поддержки
Общедоступность (обеспечение
возможности работы для
пользователей с ограниченными
физическими возможностями)
Управление
выпуском
Инфраструктура
Сопровождение
Бизнес-процессы
Управление
выпуском готового
продукта
Планирование тестов
Разработка тестов
Отчетность по тестам
Характеристики проектной
группы MSF
Команда соратников (команда равных)
Наличие единого видения (shared vision)
Распределение ответственности при
фиксации отчетности
Нацеленность на необходимый заказчику
конечный результат
Наличие у сотрудников необходимых
полномочий
Открытое общение
Установка на отсутствие дефектов
Стремление к самосовершенствованию
Гибкость и готовность к переменам
Заинтересованность и энтузиазм
Еще раз о терминологии
Заинтересованные стороны (stakeholders)
– лица либо организации, чьи интересы
затрагиваются результатами проекта
Спонсоры проекта (project sponsors)
– лица либо организации, которые
инициировали проект, выделяют для
проекта ресурсы и утверждают его
результаты. Иногда “project sponsor”
переводится как “куратор проекта”
Используем UML
для описания
модели
проектной
группы
Разработка
Ролевой
кластер
MSF
Заинтересованное лицо
(stakeholder)
Управление
продуктом
Заказчик
Управление
программой
Спонсор
Удовлетворение
потребителя
Пользователь
Тестирование
Управление выпуском
Сопровождение
Внешнее
заинтерес
ованное
лицо
Масштабирование модели
проектной группы
В одном ролевом кластере может быть
много людей
Один человек может взять на себя
несколько ролей
Большие коллективы:


Создаем группы направлений
Создаем функциональные группы
Малые коллективы:

Используем таблицу совместимости ролей
Большой коллектив
Руководящая
группа
Управление
программой
Лидер
группы
Управление
продуктом
Разработка
Удовлетворение
потребителя
Тестирование
Управление
выпуском
Управление
программой
Удовлетворение
потребителя
(функциональная группа)
Управление
программой
Разработка
Удовлетворение
потребителя
Разработка
Удовлетворение
потребителя
Тестирование
Тестирование
Управление
программой
Разработка
клиентских компонент
(группа направления)
Разработка
Удовлетворение
потребителя
Тестирование
Разработка
средств печати
(группа направления)
Разработка средств
обмена сообщениями
(группа направления)
Таблица совместимости ролей
Управление
продуктом
Управление
продуктом
Управление
программой
Разработка
Тестирование
Удовлетворение
потребителя
Управление
выпуском
-
-
+
+
±
-
±
±
+
-
-
-
+
+
Управление
программой
-
Разработка
-
-
Тестирование
+
±
-
Удовлетворение
потребителя
+
±
-
+
Управление
выпуском
±
+
-
+
+ Допустимо
± Нежелательно
- Нельзя
±
±
Минимальный коллектив
Удовлетворение
потребителя
Управление
программой
Управление
продуктом
Управление
выпуском
Тестирование
Разработка
Модель процессов
Внедрение
завершено
Готовность решения
утверждена
Концепция проекта
утверждена
Планы проекта
утверждены
Разработка
завершена
Разработка
Промежуточные вехи
Внедрение
завершено
Внедренное решение стабилизировано
Внедрение на местах завершено
Ключевые компоненты развернуты
Готовность решения
утверждена
Пилотное внедрение завершено
Контрольное тестирование завершено
Версии-кандидаты
Тестирование приемлемости для
потребителей завершено
Точка достижения нуля
Точка конвергенции
Разработка
завершена
Ядро проектной группы сформировано
Черновой вариант концепции
проекта составлен
Концепция проекта
утверждена
Верификация технологий
осуществлена
Базовая версия функциональной
спецификации создана
Базовая версия сводного плана
проекта создана
Базовая версия сводного календарного
графика проекта создана
Среды разработки и тестирования
развернуты
Планы проекта
утверждены
Концепция подтверждена
Промежуточная версия 1 завершена
Промежуточная версия 2 завершена
Промежуточная версия N завершена
Итеративный подход
Функциональность
Минимизируем риски, разбивая большие проекты на
несколько версий
Версия 3
Версия 2
Версия 1
Время
Для каждой фазы модели
процессов MSF определяет:
Что (какие артефакты) является
результатом этой фазы
Над чем работает каждый из ролевых
кластеров на этой фазе
Дисциплина управления рисками
Итеративный процесс
Осуществляется на протяжении
всего проекта
Базируется на посылке о присутствии
рисков в любом проекте
Нацелена на проведение
профилактических мероприятий
Мы не боремся с рисками – мы ими управляем
Процесс управления рисками
2
1
Анализ и
приоритез
ация
Формулировка
риска
Выявление
5
Коррекция
6
База знаний
о рисках
Извлечени
е уроков
Список
рисков
3
Планировани
е
Глав
ные
риски
Мониторин
г
4
Выявление
рисков
Анализ и
приоритезация рисков
Планирование
Мониторинг
Корректирование
Извлечение уроков
Дисциплина управления
проектами
Проект (project) – ограниченная временными
рамками деятельность, цель которой состоит
в создании уникального продукта или услуги
Управление проектами (project management) –
это область знаний, навыков, инструментария
и приемов, используемых
для достижения целей
проектов в рамках
согласованных параметров
качества, бюджета, сроков
Возможности
и прочих ограничений
Управление изменениями
Мы не можем
избежать изменений
в проекте
Но мы можем заранее
договориться о
приоритетах,
которыми будем
руководствоваться
при реагировании на
изменения
Для этого
используется матрица
компромиссов
Фиксируе
тся
Ресурсы
Время
Возможности
Согласов
ывается
Принимае
тся
Управление ожиданиями заказчика
Конус неопределенности показывает, как меняется точность оценок стоимости
проекта по мере его осуществления. Важно, чтобы заказчик понимал это.
WBS связывает спецификации, планы и
календарные графики проекта
В MSF нет роли
“менеджер проекта”
Деятельность по управлению
проектом распределяется
между лидерами групп
и ролевым кластером
“Управление
программой”
Лидеры групп
Управление программой
Управление продуктом
Разработка
Тестирование
Удовл. потребителя
Управление выпуском
на уровне всего проекта
на уровне подгрупп
Дисциплина управления
подготовкой
Определение
Знания,
умения,
способности
Оценивание
Осмыслени
е
Корректировк
а
MSF не навязывает использование
других продуктов Microsoft
Например, для организации процесса
производства ПО можно использовать
MSF и при этом применять
инструменты Borland
На следующих слайдах приводятся
рисунки с сайтов Borland и Microsoft
Средства Borland для организации
работы над проектом
Сравниваем взгляды Microsoft и
Borland на жизненный цикл проекта
MSF
Процесс от Microsoft,
инструменты от Borland...
MSF
Доступность стандартов, знание
которых требуется от ИТ-менеджера
Есть
русский
перевод
Бесплатный
доступ
Платный
доступ
MSF
некоторые
стандарты ISO,
PMBOK**
MOF, CMMI,
Только
ITIL***, RUP***,
SWEBOK*,
английский
стандарты IEEE,
вариант
стандарты OMG стандарты ISO
MSF и ...
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, однако общую картину этот факт не меняет
Сравнение RUP, MSF и CDM
Цена
Допустимые
технологии и
инструменты
Маркетинг
IBM
Rational
Unified
Process
~ $700
Любые
Ведется
активно
Microsoft
Microsoft
Solutions
Framework
$0
Любые
Практически
не ведется
Oracle
Custom
Development
Method
~ $ 1500*
~ $ 2500**
Oracle
Практически
не ведется
Произво
дитель
Продукт
Материалы по 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
Шаблоны и примеры документов
Есть только на английском языке
Шаблоны доступны бесплатно на
http://download.microsoft.com

Нужно сделать поиск
по ключевому слову MSF
Детальные примеры входят в
студенческий комплект материалов
курса 2710

В т.ч. UML диаграммы (промежуточные
и окончательные версии)
Диск участника конференции
содержит:
1. Русский перевод всех пяти MSF whitepapers
Доступен по адресу http://www.microsoft.com/rus/msf
Перевод делался под редакцией автора
данного доклада
2. Комплект шаблонов документов,
используемых в MSF-проектах
Доступен на http://download.microsoft.com – искать MSF
3. Шаблон календарного графика MSF-проекта
(.mpp файл для MS Project)
По неизвестной причине Microsoft не включила этот
шаблон в вышеописанный комплект
Ньюс-группы
Только англоязычные
Публичный доступ:

news://msnews.microsoft.com/microsoft.public.msf
Доступ только для MCT:

news://privatenews.microsoft.com/microsoft.private.mct.msfmof
Курс 1846
Microsoft Solutions Framework Essentials
3 дня, компьютеры не используются
Изучаются все элементы MSF
Великолепные деловые игры
http://www.microsoft.com/traincert/syllabi/1846Afinal.asp
Курс 2710
Analyzing Requirements and Defining
Microsoft .NET Solution Architectures
5 дней, компьютеры используются
Подробно изучается фаза планирования
для проектов разработки ПО (application
development)
http://www.microsoft.com/traincert/syllabi/2710bfinal.asp
Экзамен 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
IEEE / ACM Computing Curricula 2001
Русский перевод образовательного стандарта
IEEE/ACM Computing Curricula 2001: Computer
Science находится по адресу
http://se.math.spbu.ru/cc2001
Раздел 11.1 стандарта СС2001-CS перечисляет
5 основных характеристик, которыми должны
обладать выпускники компьютерных
специальностей вузов
Одной из этих пяти характеристик является
“опыт участия в большом проекте”
Как сейчас преподают
MSF в вузах СНГ?
Излагаемый здесь материал является
результатом телефонного опроса
практически всех русскоговорящих MSF
Practitioners. Опрос был проведен автором в
первых числах июня 2003 г.
Задавались следующие вопросы:
Знаете ли Вы о примерах преподавания MSF в
отечественных вузах? Как это делалось (делается)?
С какими проблемами приходилось сталкиваться
преподавателям, взявшимся обучать студентов MSF?
Что Вы можете порекомендовать тем, кто хочет
внедрить преподавание MSF в своем вузе?
Как организовано обучение
MSF преподают как минимум в 5-6 вузах СНГ
студентам 3-6 курсов технических
специальностей
Аббревиатура MSF в названиях курсов
обычно отсутствует



“Системный анализ и проектирование
информационных систем”
“Управление проектами”
...
Уже есть как минимум один пример
базирующейся на MSF дипломной работы
Как организована практика
Один или несколько небольших коллективов
студентов, каждый из которых реализует свой проект
В качестве заказчиков выступают кафедра, деканат
или “дружественная” организация
ПО для учета нагрузки преподавателей, посещаемости и
успеваемости студентов и т.п.
Работа и документооборот организуются
по правилам MSF
Два способа синхронизации лекций и практики
лекции по MSF на тему или две опережают практические занятия
лекции по MSF идут в одном семестре, практика – в следующем
На какие грабли наступали
Механизм вовлечения “заказчика” в работу иногда оказывался
недостаточно эффективен и исполнитель роли “заказчика”
начинает уклоняться, не участвуя во всех этапах проекта .
Студенты не всегда чувствуют, что предпосылкой для создания
одних документов является готовность других, и, следовательно,
в одну ночь все документы не сделаешь
За разные документы отвечают разные люди
Студенты нередко боятся писать понятные тексты, при
составлении проектной документации используют многословные
наукообразные трудночитаемые фразы
Низкий уровень знания английского языка может создать
проблемы при работе с шаблонами документов MSF
Студенты, которые учатся ради зачета, а не ради знаний, могут
плохо влиять на командный дух, понижая общий энтузиазм
Таким студентам, наверное, проще сразу поставить зачет, чтобы не
мешали... ;-))
Рекомендации
Преподаватель должен быть Endorsed MSF Practitioner
(экзамен 74-100)
Преподаватель должен иметь практический опыт участия в
разработке ПО большими коллективами
Не имеет смысла пытаться учить студентов MSF, если нет возможности
организовать закрепление материала на практике. Без практического
опыта у студентов не сформируется понимание решаемых MSF
производственных проблем, а ведь это – главная задача
Оптимальный вариант получения опыта и применения знаний MSF –
участие в реальном проекте во время производственной практики на
реальном предприятии
Начинать учить MSF необходимо с модели проектной группы,
а не с модели процессов
Нужно очень подробно разъяснять дисциплину управления рисками,
возможно, стоит привлекать материал из PMBOK
Лекции – плохой способ обучения MSF, нужны активные обсуждения,
деловые игры, постоянный диалог с аудиторией
В вузах можно не только преподавать
MSF, но и вести исследования
ВОЗМОЖНЫЕ НАПРАВЛЕНИЯ ИССЛЕДОВАНИЙ:
Использование (адаптация?) MSF для нестандартных и
узкоспециальных проектов
Проекты внедрения MSF
Проекты локализации (не только ПО)
Software outsourcing
Разработка учебных курсов
Совместное использование MSF и др. подходов
CDM, ГОСТы, etc.
MSF и SPEM (Software Process Engineering Metamodel)
http://www.omg.org/technology/documents/formal/spem.htm
Внедрение MSF на предприятии
MSF whitepapers не содержат рекомендаций,
как внедрять MSF на предприятии
MSF whitepapers содержат
ссылки на MSF Enterprise
Architecture модель/процесс,
которые были частью
прошлых версий MSF,
но не входят в MSF v3.0
Application
Busines
s
EA
Information
Technolog
y
Дальнейший материал является обобщением
личного опыта автора
Внедрение MSF на предприятии
Является проектом, осуществляемым в
соответствии с принципами MSF
Имеет две составляющие
(два параллельных со-проекта):


Обучение людей, внедрение методик MSF и
соответствующего документооборота
Корректировка “поведения” существующих на
предприятии систем автоматизации управления
(если они есть ;-)) либо внедрение новых
Может длиться от 6 недель и более
Включает в себя проведение сотрудниками
предприятия первого “экспериментального”
проекта, использующего MSF
Внедрение MSF на предприятии: 0
Фаза проекта
Специфические особенности
На каждой фазе проекта по
внедрению MSF на предприятии,
помимо “стандартных” шагов и
действий, осуществляются
некоторые дополнительные
мероприятия, специфичные
именно для данного класса
проектов. На последующих
слайдах перечисляются эти
дополнительные мероприятия.
Внедрение MSF на предприятии: 1
Фаза проекта
1
Выработка
концепции
(envisioning)
Специфические особенности
Проводим аудит
существующего процесса
Проводим курс 1846 для
ключевых участников
проекта
Внедрение MSF на предприятии: 2
Фаза проекта
2
Планирование
(planning)
Специфические особенности
Этап планирования для
со-проекта “корректировки
поведения” систем
автоматизации
управления начинается
только после завершения
этапа планирования
дуального ему со-проекта
Внедрение MSF на предприятии: 3
Фаза проекта
3
Разработка
(Developing)
Специфические особенности
Разрабатываем
инструкции
Адаптируем шаблоны
Проводим курсы
1846 и 2710
Внедрение MSF на предприятии: 4
Фаза проекта
4
Стабилизация
(Stabilizing)
Специфические особенности
Осуществляем
“экспериментальный”
проект, в котором
сотрудники предприятия
впервые практически
используют MSF
Исходя из полученной
обратной связи
корректируем процедуры,
документы и шаблоны
Внедрение MSF на предприятии: 5
Фаза проекта
5
Внедрение
(Deploying)
Специфические особенности
Начинается массовое
использование MSF
сотрудниками
предприятия
Внедрение MSF на
предприятии
Если останется время –
подробнее о фазе
планирования модели
процессов MSF
Стоимость исправления ошибок
100
80
Чем больше проект, тем круче кривая
Для малых проектов эта кривая может выродиться
в почти горизонтальную почти прямую
60
40
20
Выработка
концепции
Планирование
Разработка
Стабилизация
Внедрение
Фаза планирования
Детально определяем, что и как мы будем
создавать
Концепция проекта
утверждена
Верификация технологий осуществлена
Базовая версия функциональной спецификации создана
Базовая версия сводного плана проекта создана
Базовая версия сводного календарного графика проекта создана
Среды разработки и тестирования развернуты
Планы проекта
утверждены
Результаты фазы:
Функциональная спецификация, сводный план
проекта, сводный календарный график проекта
Процессы дизайна: концептуальный,
логический, физический
Параллельные, но взаимозависимые
Концепция проекта утверждена
Концептуальный
Логический
Физический
Планы проекта утверждены
Концептуальный дизайн
Концепция проекта
утверждена
Baseline
Планы проекта
утверждены
Концептуальный дизайн
Research Baseline
Analysis Baseline
Optimization Baseline
Логический дизайн
Физический дизайн
Conceptual
Design
Baseline
См. пример http://msdn.microsoft.com/library/en-us/dnrac/html/mracv2_ch04.asp
Логический дизайн
Концепция проекта
утверждена
Analysis
Планы проекта
утверждены
Концептуальный дизайн
Логический дизайн
Физический дизайн
Baseline
Optimization
Refine candidate technologies
Identify business objects & services
Identify attributes & relationships
Analysis Baseline
Refine the logical design
Validate the logical design
Logical Design
Baseline
См. пример http://msdn.microsoft.com/library/en-us/dnrac/html/mracv2_ch05.asp
Физический дизайн
Концепция проекта
утверждена
Research
Research Baseline
Analysis
Rationalization
Планы проекта
утверждены
Implementation
Rationalization Baseline
Implementation Baseline
Концептуальный дизайн
Логический дизайн
Analysis Baseline
Baseline
Physical Design
Baseline
Физический дизайн
См. пример http://msdn.microsoft.com/library/en-us/dnrac/html/mracv2_ch06.asp
Заключение
MSF – подход Microsoft к управлению
ИТ-проектами
Состоит из 2 моделей и 3 дисциплин,
описание которых доступно на
http://www.microsoft.com/rus/msf
Шаблоны документов для MSF-проектов доступны
через Microsoft Download Center
MSF можно и нужно внедрять на
предприятиях – срок внедрения
от 6 недель
MSF можно и нужно преподавать в вузах,
есть много тем для исследований
Как связаться
с автором доклада?
Внедрение MSF на Вашем предприятии
Проведение курсов 1846 и 2710
Совместная исследовательская работа
vlpavlov@ieee.org
Благодарности:







Н.И.Бойко (Днепропетровский национальный университет,
Украина)
С.П.Бусыгин (eLine Software, Украина/US)
А.И.Кораблин (ЦКО “Специалист” при МГТУ им. Баумана,
Россия)
А.В.Машаров (BMS Consulting, Украина)
О.Н.Палий (eLine Software, Украина/US)
А.А.Терехов (Санкт-Петербургский государственный
университет, Россия)
В.В.Шорин (УЦ ИТ, Академия народного хозяйства при
Правительстве РФ, Россия)
Файл опубликован на:
http://research.microsoft.com
http://www.vlpavlov.com
Вопросы?
Доклад был сделан на
научно-практической конференции по
программированию
Технологии Microsoft в научных
исследованиях и высшем
образовании
Москва, 15-17 июня 2003 г.
Download