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 г.