GeekBrains продолжает рассказывать о методологиях разработки программного обеспечения.
https://gbcdn.mrgcdn.ru/uploads/post/1954/og_image/91de313b77741e61f9845dc5e35735e3.png
GeekBrains продолжает рассказывать о методологиях разработки программного обеспечения. Если вы еще не читали предыдущие тексты о методологиях «Водопад», Scrum и XP, бережливой разработке и Kanban — самое время наверстать упущенное!
Сегодня мы рассмотрим методологию, которую успешно применяет один из самых мощных IT-гигантов — компания Microsoft. Это Microsoft Solutions Framework, или MSF. С ее помощью создано большинство современных решений и проектов «Майкрософт».
Ты помнишь, как все начиналось
История создания MSF берет начало в 1993 году. Компания Microsoft уже была ведущей в IT-сфере и искала способы повысить эффективность и отдачу от своих проектов.
90-е годы стали временем расцвета новых подходов к разработке. Модель «Водопад», которую использовали больше двух десятилетий, уже в полной мере не отвечала требованиям в IT: была слишком жесткой и формализованной, медленно реагировала на новые потребности пользователей.
У Microsoft был обширный опыт в создании программных продуктов и продвижении масштабных IT-проектов: были уже выпущены Windows 3.11, Office 3.0 и многое другое. Компания суммировала накопленные знания и навыки, проанализировала опыт конкурентов и в 1993 году выпустила серию руководств, посвященных организации труда разработчиков — «белые книги» MSF.
Пять лет спустя, в 1998, была выпущена вторая ревизия MSF. В 2001 за ней последовала третья, а в 2005 вышла последняя на данный момент версия — MSF 4.0.
Отличительными чертами Microsoft Solutions Framework стали гибкость и масштабируемость. Эта методология подходит для работы в проектной группе или организации любого масштаба. MSF включает основополагающие принципы, модели и дисциплины управления персоналом, процессами и технологиями. Другим преимуществом методологии стала ее демократичность и отсутствие иерархических отношений «начальник — подчиненный».
Основополагающие принципы MSF
Принципов, на которых базируется MSF, всего восемь.
Способствуйте открытому общению
Модель MSF предусматривает свободный и открытый обмен информацией между всеми членами команды и заинтересованными сторонами. Это помогает исключить недопонимание между заказчиком и исполнителем и снижает вероятность того, что работу придется переделывать. Все этапы разработки обстоятельно описываются, обеспечивается доступность документации для всех участников проекта — так налаживается эффективное взаимодействие.
Работайте над общим видением
Данный принцип Microsoft Solutions Framework подразумевает, что все члены команды должны детально понимать цели и задачи, над которыми работает коллектив. Общий взгляд на то, каким должен быть результат, гарантирует, что усилия разработчиков будут согласованными.
Зачастую к успеху приводит именно умение правильно понять и сформулировать достоинства выработанного решения. Кроме того, эффективность труда в команде повышается, когда все сотрудники видят картину проекта в целом. Это стимулирует их интересоваться даже теми областями проекта, которые не относятся непосредственно к их задачам. Благодаря этому сотрудники глубже вникают в принципы работы программного продукта, обмениваются идеями и решениями, помогают друг другу и нарабатывают новые компетенции и командный опыт.
Расширяйте полномочия членов команды
Каждому члену команды должны быть предоставлены все полномочия, необходимые для выполнения его обязанностей. Если его работа зависит от коллег, он должен быть уверен, что с их стороны не будет задержек и проволочек. Для дисциплины следует использовать графики, в которых будут обозначены сроки для каждой задачи.
Разделяйте ответственность
Все участники проекта принимают и осознают свою ответственность за порученную задачи и собственные решения.
В MSF проект делят на равноценные и уникальные сегменты. За успешную реализацию каждого в равной степени отвечают все специалисты, работающие над ним. Участник подотчетен своей рабочей группе, она — всей организации, а та, в свою очередь, — заказчику. При этом ответственность распределяется на каждом уровне равномерно между всеми сотрудниками.
Такой подход к разделению ответственности обусловлен тем фактом, что в общем решении зачастую сложно выделить вклад отдельного специалиста. Согласно принципу, все успехи и неудачи проекта участники делят поровну. Никто не может приписать себе единоличные заслуги или стать козлом отпущения.
Сотрудничайте с клиентом и сосредоточьтесь на предоставлении бизнес-ценности
Всегда нужно помнить о главном: программное решение должно представлять ценность для бизнеса заказчика. MSF требует от команды ориентироваться на клиента и вовлекать его в работу.
В MSF это значит понимать его цели и проблемы: зачастую заказчик совсем не разбирается в разработке программного обеспечения или даже в компьютерах, но это не мешает ему быть экспертом в своем бизнесе. Только он знает точно, каковы его потребности; какая функциональность жизненно необходима, а какая избыточна; что имеет ценность для бизнеса, а что — нет. Поэтому необходимо, чтобы клиент был вовлечен в работу над проектом, и если он доволен результатами — все идет как надо.
Будьте готовы к переменам и оставайтесь гибкими
Любая разработка программного обеспечения требует времени. Это означает, что на каком-то этапе работы требования заказчика могут измениться — к этому стоит быть готовыми.
Все члены коллектива должны быть вовлечены в принятие решений об изменениях в проекте. Благодаря этому новые задачи и цели будут осмыслены и рассмотрены с учетом всех точек зрения и идей по реализации.
Инвестируйте в качество
Успех команды зависит от того, насколько каждый специалист осознает свою ответственность за продукт. Чтобы обеспечить высокое качество решения, на протяжении всего проекта работает группа тестирования — в ее задачи входит раннее выявление ошибок и недочетов. Обнаруженные баги надо исправлять как можно скорее, чтобы они не повлияли на разработку. Microsoft Solution Framework требует, чтобы в планы и графики изначально вносилось время на устранение недостатков. Только в этом случае можно уложиться в срок.
Учитесь на опыте
Любой коллектив разработчиков, если только он не вчера появился, обладает наработанным опытом. У каждого хорошего специалиста есть свои испытанные временем приемы. Совокупные знания команды выходят далеко за пределы компетенций отдельного сотрудника. Более того, новый проект и каждая его итерация — это источник опыта.
В коллективе важно создать и поддерживать среду, в которой каждый член команды чувствует себя востребованным, полезным и свободным. В психологически комфортных условиях возрастает не только эффективность сотрудника, но и его мотивация к самосовершенствованию и обмену знаниями с коллегами.
В график работы необходимо закладывать время на обучение и общение — для этого в MSF существует дисциплина управления готовностью, о которой речь пойдет ниже. Периодически следует совместно анализировать выполненную работу. Необходимо поддерживать атмосферу доброжелательности и взаимопомощи. Открытость, постоянный обмен информацией и опытом — залог успеха.
Пять «белых книг» MSF
MSF разработана как комплекс отдельных компонентов — моделей и дисциплин. Всего их пять, и они описаны в пяти «белых книгах» (white papers) MSF.
Моделей используется две:
- модель команды;
- модель процесса.
А дисциплин в MSF три:
- управление проектами;
- управление рисками;
- управление готовностью.
Рассмотрим их.
Модель команды MSF
Команда разработчиков — главный стратегический ресурс компании, определяющий успех проекта. В традиционной практике команды организованы иерархически — от руководителя до работников низшего звена, например:
Пример традиционной иерархической организации труда
При такой организации работы вес мнения отдельного сотрудника определяется не его компетенциями и знаниями, а положением в иерархии. MSF предлагает более демократическую модель команды, и поэтому не испытывает проблем классической.
Команда проекта в MSF — это коллектив равноправных сотрудников. Они разделяют ответственность и свободно обмениваются опытом и информацией. Внутри команды есть ролевые кластеры (роли), отражающие функциональные обязанности конкретных специалистов. У каждой роли — свои цели и задачи, и все они считаются равноценными и одинаково важными. Роли дополняют друг друга и вместе служат единой цели — созданию качественного продукта.

Модель команды в MSF
Эту модель можно масштабировать для работы как крупных компаний, так и небольших коллективов.
Примеряем роли
Бизнес-аналитик
Это главный посредник между командой разработчиков и клиентом. Он должен детально разобраться в потребностях заказчика, определить бизнес-ценность продукта и понять, какая именно функциональность необходима в программе. Он трансформирует эту информацию в конкретные определения и требования к качеству и доводит их до разработчика. Можно считать, что бизнес-аналитик — представитель клиента в коллективе. Он управляет продуктом, чтобы тот соответствовал потребностям бизнеса и ожиданиям заказчика.
Менеджер проекта
В модели MSF главная задача менеджера проекта — контролировать график работ и бюджет. Он отвечает за то, чтобы все задачи выполнялись своевременно и не выходили за пределы сметы. Занимается планированием работы и составляет отчеты, оценивает риски и вырабатывает меры по их снижению. Тесное сотрудничество с другими ролями проекта позволяет ему быть в курсе событий и оперативно решать административные проблемы.
Архитектор
Отвечает за архитектуру программного продукта — за основные принципы, по которым будет работать приложение, организационную конфигурацию системы, ее физическую структуру и интерфейсы. Архитектор стремится сделать программное решение проще и удобнее — как для пользователя, так и для разработчика, в том числе на этапе поддержки. Он участвует в обсуждении всех нововведений и изменений в ходе проекта, определяя, как именно новая функциональность будет вписываться в систему.
Разработчик
Кажется, что роль разработчика — самая незатейливая. Рабочая лошадка: создает код и воплощает идеи клиента, трансформированные в техническое задание усилиями бизнес-аналитика и архитектора. И придерживается сроков, установленных проект-менеджером.
Но в MSF разработчик — полноправный участник всех обсуждений. Он определяет, какое время потребуется ему для создания функциональных блоков программы. Помогает архитектору выстраивать удачную структуру проекта с точки зрения его реализации, основываясь на своем глубоком знании языка программирования. Участвует в создании дизайна приложения. В проекте считается экспертом по всем техническим вопросам, и за ним зачастую остается последнее слово в совещаниях о том, «как все это реализовать в рамках используемых технологий».
Тестировщик
Задача тестировщика — выявить в продукте баги, проблемы и неудачные решения, которые могут негативно сказаться на качестве и снизить ценность приложения для клиента. Тестировщик обязан понимать и учитывать контекст применения программного продукта: кто, как и для чего будет его использовать на стороне заказчика. Если функция X выполняется корректно и выдает правильный результат, но его получение занимает в среднем час, тестировщик может признать ее работу неудовлетворительной — зная, что клиенту требуется выполнять эту функцию 20–30 раз в день.
Ошибки и отклонения от заданных параметров фиксируются и документируются, после чего тестировщик передает их разработчику для исправления. Тестировщик также участвует в выработке стандартов качества и создании тестовых задач, нагрузочных тестов и подобного.
Релиз-менеджер
В Microsoft Solutions Framework, что касается выпуска готового продукта или любой его работоспособной версии, — на релиз-менеджере. Он создает план выпуска версий, сертифицирует готовый продукт и следит за тем, чтобы программа дошла до клиента. Кроме того, в его обязанности входит информационное сопровождение версий, например описание новых функций, изменений и нововведений.
Администратор баз данных
Если в составе продукта есть база данных, то команде не обойтись без администратора БД. Он следит за порядком в базе, ее целостностью и состоянием данных, работоспособностью серверов. В его обязанности входят все рутинные операции, обеспечивающие безопасность и сохранность информации, например регулярное создание бэкапов.
В отдельных проектах может принимать участие и разработчик баз данных. Он несет ответственность за создание структуры БД и функциональности, обеспечивающей ее работу. Частично этот специалист может пересекаться по задачам с разработчиком проекта. Есть смысл выделить эту роль, если проект сложный и базы данных играют в нем значительную роль.
Несмотря на множество ролей, модель MSF подходит не только большим коллективам, но и маленьким командам: в этом случае каждый участник берет на себя несколько ролей.
Методология MSF подчеркивает, что все роли — равноправны, и ни один член команды не может считаться более влиятельным или принимать решения единолично.
Модель процесса MSF
Еще один важный компонент методологии MSF — модель процесса, то есть последовательность действий, необходимых для построения IT-решения. Модель не предписывает конкретных процедур и не содержит жестких формализованных требований к процессу — при создании MSF компания Microsoft стремилась сделать ее гибкой и адаптируемой к условиям любого проекта. В MSF объединились две концепции разработки: «Водопад» и спиральная модель.
От «Водопада» MSF досталась система вех (milestones) — особых точек в конце каждой фазы процесса, отвечающих заданным критериям завершения фазы. В этих точках команда рассматривает результаты своего труда и отвечает на вопросы «Сделали ли мы все, что планировали?», «Работает ли решение так, как нужно заказчику?», «Готовы ли мы двигаться дальше или необходимо уделить внимание доработкам?». Чтобы перейти на следующий этап, необходимо дать большинство положительных ответов.
От спиральной модели MSF унаследовала фокусировку на уточнениях требований к проекту. Разработчик должен постоянно быть готов к тому, что задачи, а порой и цели клиента могут измениться на любом этапе работы.
Тем не менее MSF — это не просто компиляция двух систем. Инновационность методологии заключается в том, что она охватывает жизненный цикл решения от начала проекта до развертывания в реальном времени. Это помогает проектным группам сосредоточиться на бизнес-ценности приложения, поскольку она не будет реализована до тех пор, пока решение не развернуто и не запущено в эксплуатацию.
Весь процесс разработки в MSF разбит на отдельные итерации. Каждая проходит несколько этапов (фаз).

Модель процесса MSF
1. Выработка концепции (Visioning)
Команда вырабатывает единое видение проекта или его части. Совместными усилиями коллеги решают, какая именно функциональность будет разрабатываться в ходе итерации, определяют основные концепции, которые лягут в основу разработки. Этап завершается вехой «Концепция утверждена».
2. Планирование (Planning)
Задачи, которые необходимо выполнить в ходе итерации, разбиваются на подзадачи, определяется сложность их реализации, устанавливаются сроки и назначаются ответственные. В планы закладывается время на тестирование и исправление дефектов, а также предварительно намечается, как именно будет проходить тестирование.
3. Разработка (Developing)
На данном этапе MSF создается программный код новой функциональности в соответствии с концепцией и утвержденными планами.
4. Стабилизация (Stabilizing)
К делу подключаются тестировщики. После тестирования выявленные баги и недочеты возвращаются разработчикам для исправления.
5. Внедрение (Deploying)
Очередной релиз программного продукта передается заказчику и устанавливается на клиентских компьютерах.
В конце каждой итерации клиент должен получить работоспособную версию приложения. По завершении этапа внедрения и итерации в целом немедленно начинается новая итерация.
Дисциплины MSF
Управление проектом
В MSF это целый набор навыков и компетенций, в том числе:
- комплексное планирование всех этапов и аспектов проекта;
- управление бюджетом, расходами и ресурсами;
- подготовка графиков и контроль за их соблюдением;
- ведение административной документации.
Роль, ответственная за выполнение этого сегмента работы, — менеджер проекта (программы). По мере того как масштаб проекта растет, управление проектом может разделиться на две специализированные ветви: одна будет связана с архитектурой программного решения и спецификациями, а другая — собственно с управлением проектом.
Когда большие коллективы разрабатывают крупные проекты, управление может выполняться на нескольких уровнях: задачи распределяются между руководителями рабочих групп (команд, каждая из которых отвечает за ту или иную роль в проекте), а роль управления программой отвечает за координирование руководителей и в целом курирует проект.
MSF стремится избавиться от иерархической структуры. Поэтому и при управлении проектом нет диктатуры. Демократичные обсуждения, при которых рассматриваются все точки зрения и достигается консенсус, способствуют выработке наиболее удачных решений. Когда члены команды не могут прийти к соглашению, менеджер проекта выступает арбитром: он обязан принять решение, максимально удовлетворяющее клиента и ориентированное на его бизнес-ценности.
Управления рисками
Риски — это факторы и события, которые могут оказать негативное влияние на проект в перспективе. В MSF есть специальный процесс, который помогает выявлять, отслеживать и минимизировать риски. Он состоит из шести шагов.

1. Определение рисков
Любой член команды в любое время может (и должен) сообщать о рисках, которые он выявил. Например, если обнаружил ошибку в сторонней библиотеке кода, которая на данный момент не беспокоит, но грозит привести к проблемам, когда будет использоваться соответствующая функциональность библиотеки.
2. Анализ и расстановка приоритетов
Насколько серьезную угрозу представляет выявленный риск для проекта? Возможно ли избежать проблем? Требуются немедленные действия или время терпит? Необходимы ли дополнительные ресурсы, например время на поиск решения?
Все эти вопросы обсуждаются коллегиально.
3. План и график
Информация, собранная при анализе рисков, должна быть преобразована в конкретные планы, стратегии и действия. Следует сформулировать четкие руководства, что необходимо делать и что запрещено, чтобы снизить или исключить риски.
4. Отслеживание и отчет
Придерживаться принятого плана неукоснительно — половина дела в MSF. Любое изменение в проекте может повлечь новые риски или рецидив старых. Отслеживание рисков помогает держать их под контролем и своевременно пересматривать тактику борьбы с ними.
5. Контроль
Контроль — это исполнение планов в отношении рисков и связанных с ними отчетов.
6. Знание
Изучая риски, команда получает новую информацию о них и о способах преодоления сопутствующих сложностей. Эти знания необходимо фиксировать и помещать в базу данных, чтобы иметь к ним доступ в будущем.
Управления готовностью
Эта дисциплина занимается вопросами профессионального роста и подготовки специалистов.
С точки зрения организации, знания и навыки сотрудника — это ценный ресурс, так что обучение и повышение квалификации можно рассматривать как улучшение качества ресурса. В MSF под готовностью понимается отношение текущего объема знаний и навыков к тому уровню, который желателен или необходим для конкретного специалиста. От готовности зависит, например, способность сотрудника выполнять ту или иную роль в команде.
Для небольших или краткосрочных проектов подход к управлению готовностью может быть простым — просто оценить знания сотрудников и затем распределить роли в команде. Но организации, занимающиеся долгосрочными проектами, могут извлечь из этой дисциплины наибольшую выгоду, поскольку она предлагает комплексную программу подготовки и повышения квалификации.
Процесс управления готовностью включает четыре этапа:
1. Определение
На этом этапе выстраивается структура команды. Для каждой роли определяются уровни квалификации и компетенции, необходимые для успешной работы специалистов. Кроме того, вырабатываются сценарии — типичные виды деятельности, которые потребуются для разработки проекта.
2. Оценка
Здесь внимание сосредоточено на каждом члене команды. Проводится анализ компетенций и навыков, связанных с должностными обязанностями, и определяется, насколько они соответствуют желаемым показателям для каждой конкретной роли. Это позволяет выявить разницу между текущим уровнем знаний и требуемым. В результате можно разработать планы индивидуального обучения для каждого сотрудника, которые позволят ему приобрести нужный уровень компетенций.
3. Изменение
В процессе обучения специалисты совершенствуют знания, чтобы преодолеть разрыв между нынешним и желаемым уровнем квалификации. При этом используются учебные планы со списками ресурсов и учебных материалов — учебников, технических документов. Учебный план может предусматривать и самостоятельное изучение, и под руководством наставника.
4. Подведение итогов
На этом этапе проводится повторная оценка знаний и компетенций, чтобы определить, были ли планы обучения эффективными и не требуются ли дополнительные занятия. Рассматриваются не только теоретические знания, но и способность сотрудника использовать их на практике.
Управление готовностью — процесс, в идеале не завершающийся на протяжении всего проекта. Непрерывное совершенствование знаний и умений каждого члена команды — путь к повышению качества и успешности проекта в целом.
В заключение
Пять «белых книг» описывают MSF в мельчайших деталях, давая точные определения ее компонентам, а также подробные описания процессов.
Тем не менее методология MSF остается гибкой и может легко масштабироваться для использования в корпорациях или стартап-проектах. Она очень демократична по своей сути, но категорически требует одного — отказаться от иерархии и диктатуры в управлении. Любое решение должно быть выработано в коллективе коллегиально, а ответственность распределяется между всеми. Кроме того, MSF поощряет постоянный обмен информацией и накопление коллективного опыта, а также подталкивает каждого члена команды к совершенствованию знаний и повышению квалификации.
Методология не требует применять специализированные средства компании Microsoft. Существуют системы, «заточенные» под MSF, например Visual Studio Team System — и Microsoft прямо призывает организации, использующие ее, следовать MSF. Но ничто не мешает применять MSF с любыми другими средствами организации производства.
Microsoft Solutions Framework используется уже более четверти века, помогая компании Microsoft разрабатывать новые решения и развиваться. И это аргумент в пользу методологии.
Аннотация: Понятие «ИТ решение». Модель процессов MSF. Фазы и вехи проекта внедрения. Модель команды проекта. Ролевые кластеры команды проекта. Масштабирование проектной команды. Организация исполнения проекта
Рассмотренные в предыдущем разделе методологии ориентированы на внедрение готовых информационных систем, построенных на базе определенных программных продуктов. В отличие от них методология Microsoft Solutions Framework (MSF) носит универсальный характер и может использоваться для внедрения произвольной разрабатываемой в ходе проекта системы.
Особенностью этой методологии является глубокая проработка различных аспектов организации проекта внедрения (определение этапов и контрольных точек проекта, состава команды проекта, распределения задач и пр.), что может оказаться весьма полезным при проектировании собственных корпоративных процедур управления проектом.
Состав работ проекта — модель процессов MSF
Модель процессов MSF отражает интегрированную (общую) методологию разработки и внедрения ИТ-решений.
Под ИТ-решением в MSF понимается скоординированная поставка набора элементов (таких как программно-технические средства, документация, обучение и сопровождение), необходимых для удовлетворения некоторой бизнес потребности конкретного заказчика. Основными компонентами решения являются:
- программно-технические средства, которые могут быть как новыми, так и усовершенствованными версиями разработанных ранее;
- внедрение — включает в себя процедуры установки/удаления аппаратного и программного обеспечения;
- обучение — процедуры, которые распространяются на всех участников использования и сопровождения решения;
- документация — вся информация, необходимая для установки, поддержки, сопровождения и использования решения;
- сопровождение — процедуры развития, восстановления, действий в нештатных ситуациях и поддержки пользователей;
- внешние коммуникации — информирование заинтересованных сторон о ходе внедрения решения и его влиянии на их интересы.
В отличие от решений, программные продукты разрабатываются для нужд массового рынка, поставляются в качестве дистрибутивных пакетов или загружаемых файлов и не требуют организации процесса внедрения.
Универсальность модели MSF определяется тем, что благодаря своей гибкости и отсутствию жестко установленных связей и процедур она может быть применена при разработке весьма широкого круга систем: традиционного программного обеспечения, ERP-систем, решений в области электронного бизнеса, распределенных сетевых приложений и пр.
Эта модель сочетает в себе свойства двух стандартных
[
8
]
производственных моделей: каскадной и спиральной (см.
рис.
3.1).
Рис.
3.1.
Модель жизненного цикла решения MSF
В основе методологии MSF лежит итеративный интегрированный подход к созданию и внедрению решений, базирующийся на фазах и вехах.
Итеративность подхода предусматривает поэтапное создание всех элементов проекта: программного кода, документации, дизайна, планов. Реализацию проекта рекомендуется начинать с построения, тестирования и внедрения базовой функциональности системы. Затем к решению добавляются все новые и новые возможности. Такой подход к процессу разработки подразумевает достаточную гибкость в ведении документации. Проектные документы должны изменяться по мере эволюции проекта. Их пересмотр не прекращается до конца проекта и производится после каждой итерации. Такой подход существенно отличается от принципов ведения документации в каскадной модели, где процесс разработки начинается лишь после того, как готовы и зафиксированы все требования и спецификации.
Интеграция в рамках одного проекта процедур разработки и внедрения системы позволяет более полно сосредоточиться на нуждах Заказчика (даже если разработка решения прошла удачно, заказчики не увидят отдачи до тех пор, пока оно не запущено в эксплуатацию), улучшить взаимодействие с командой сопровождения.
Фазы проекта определяют последовательно решаемые задачи, а вехи (milestones) — ключевые точки проекта, характеризующие достижение какого-либо существенного результата.
В MSF используются два вида вех: главные и промежуточные. Они имеют следующие характеристики:
- главные вехи служат точками перехода от одной фазы к другой и определяют изменения в текущих задачах ролевых кластеров проектной команды ; в MSF главные вехи являются в достаточной степени универсальными для применения в любом ИТ проекте;
- промежуточные вехи показывают достижение определенного прогресса в исполнении фазы проекта и расчленяют большие сегменты работы на меньшие, обозримые и управляемые участки; промежуточные вехи могут варьироваться в зависимости от характера проекта.
Изменения в задачах ролевых кластеров проектной команды происходят по мере смены фаз проекта. Переход от одной фазы к другой включает в себя также перенос основной ответственности от одних ролевых кластеров к другим, как показано в таблице 3.1.
Веха | Ведущие ролевые кластеры |
---|---|
Концепция утверждена | Управление продуктом |
Планы проекта утверждены | Управление программой |
Разработка завершена | Разработка, удовлетворение потребителя |
Готовность решения утверждена | Тестирование, управление выпуском |
Внедрение завершено | Управление выпуском |
План
ответа на вопрос 7.
— методология,
разработанная на основе практического
опыта Microsoft. Это скорее, даже целая
система управления проектами разработки,
состоящая из множества моделей и
правил. Она сочетает в себе каскадную
и спиральную модели разработки,
универсальна, поскольку не включает
в себя жёсткие процедуры. MSF ориентирована
на вехи, учитывает изменения проектных
требований, основана на коротких
итеративных циклах всей системы
разработки: дизайна, кода, документации.
Методология охватывает все стадии
разработки продукта, включая внедрение,
в результате которого и формируется
бизнес-ценность. MSF во многих крупных
компаниях как для внешней (заказной)
разработки, так и для разработки по
техническим заданиям внутренних
заказчиков.
-
Методология Microsoft Operations Framework
состоит из набора
взаимосвязанных «рекомендованных
практик», основополагающих принципов
и процедур, которые вместе предоставляют
полные руководства по достижению
надежности ИТ-решений и услуг. В составе
MOF вы найдете инструкции в форме
вопросов, помогающие определить, что
необходимо вашему ИТ-подразделению
сегодня, а также мероприятия, которые
позволят ему эффективно и результативно
работать в будущем.
Цель MOF
заключается в предоставлении
ИТ-подразделениям руководств, помогающих
создавать, эксплуатировать и поддерживать
ИТ-услуги, обеспечивая получение
ожидаемых коммерческих преимуществ
от конкретных инвестиций в ИТ с
приемлемым уровнем риска.
-
Microsoft
Dynamics Sure Step
Методология
Microsoft Dynamics
Sure Step
(MDSS) представляет собой комплексную
методологию внедрения, содержащую в
себе рекомендации, стратегии управления
проектами, инструменты и шаблоны,
которые партнеры корпорации
Microsoft могут использовать для внедрения
продуктов Microsoft Dynamics для своих клиентов.
Данная методология
выделяет 6 основных этапов внедрения:
диагностика,
анализ, дизайн, разработка, развертывание,
эксплуатация.
Инструменты и рекомендуемые методологией
подходы помогают улучшить качество и
повышают вероятность успешного
внедрения.
MDSS определяет
ключевые процессы, задачи и результаты
для каждого из этапов проекта, а также
процессы, которые проходят через все
этапы, включая процесс управления
проектом.
У Microsoft
есть 2 ключевые схемы — для разработки
софта и управления общими проектами
(MSF+MOF) и для управления проектами по
развертыванию собственных корпоративных
продуктов серии Dynamics (это SureStep)
Microsoft
Solutions Framework
— это набор концепций и рекомендуемых
моделей, которые позволяют разрабатывать
и внедрять распределенные информационные
системы масштаба предприятия на основе
технологий и инструментальных средств
фирмы Microsoft. MSF базируется на практических
результатах организации распределенных
вычислений и применения клиент-серверных
технологий, полученных как в самой
фирме Microsoft, так и ее партнерами, и
заказчиками. Многие концепции MSF хорошо
известны, однако основное достоинство
MSF — это систематизация и структуризация
информации в форме базы знаний, удобной
для ознакомления и использования.
MSF
предлагает использовать эту базу знаний
для решения различных проблем, касающихся
планирования, создания и внедрения
новых информационных технологий и
программных продуктов.
Модель,
рекомендуемая SDD, предусматривает для
выполнения проектов организовать
команду специалистов по шести
направлениям:
-
Управление
продуктом; -
Управление
программой; -
Разработка;
-
Тестирование;
-
Обучение
пользователей; -
Сопровождение
(логистика).
Каждое
из этих направлений называется ролью.
В зависимости от размеров проекта либо
один человек может совмещать несколько
ролей, либо каждая роль выполняется
группой людей. Т.е. группа д.б. небольшой,
не более 6 человек. Назначается
руководитель (лидер) группы, который
выполняет руководство и согласование
по всем работам, члены же группы являются
исполнителями.
Очень
важно, что для каждой роли четко
определены: задачи, обязанности
(ответственность) и требуемые
профессиональные качества.
Эта
модель очень демократична, поскольку
в ней нет явно выделенного центра.
Модель команды MSF — это команда равных.
Схематически ее принято изображать в
виде круга, где все роли равноправны и
связаны друг с другом.
Преимущества
модели команды MSF
-
Высокая
производительность, поскольку
непроизводительные трудозатраты на
поддержание формальных и субординационных
связей сведены к минимуму. -
Сравнительно
легкая масштабируемость. Каждый элемент
в схеме команды может быть в свою
очередь циклом. -
Сильная
положительная мотивация труда и равно
высокая заинтересованность всех
участников в конечном успехе.
Модель
процессов MSF представляет
общую методологию разработки и внедрения
IT решений. Модель процессов учитывает
постоянные изменения проектных
требований. Она исходит из того, что
разработка решения должна состоять из
коротких циклов, создающих поступательное
движение от простейших версий решения
к его окончательному виду.
-
Envisioning
(предвидим идею, какая задача будет
решаться) -
Planning
(планирование) -
Developing
(разработка, проектирование) -
Stabilizing
(стабилизация) -
Deploying
(размещение решение, обучение,
сопровождение)
Цикл
(виток спирали) разработки включает
четыре фазы и завершается выпуском
версии продукта. Каждая фаза представляет
собой определенную последовательность
действий и завершается вехой (milestone).
• Первая
фаза —
Анализ (Envisioning).
На данном этапе формируется представление
о продукте на данном витке спирали. Это
гарантирует, что разрабатываемый
продукт будет соответствовать как
текущим, так и перспективным целям
компании, а также поможет скорректировать
направление развития компании. Данная
стадия требует глубокого осмысления
целей проекта. Формирование представления
позволяет избежать, например,
инвестирования в незначительные или
неэффективные проекты. В результате
этой стадии составляется представление
о продукте, определяются его функциональные
возможности и оцениваются результаты.
Если новый продукт получает одобрение,
то составляется группа разработки
проекта, задача которой — выработать
концепцию продукта. На этом этапе
фиксируются цели и определяется четкое
направление разработки. Здесь же
устанавливаются возможности конкретной
версии продукта или службы и оцениваются
тенденции развития продукта в следующих
версиях. Вехой данной фазы является
утверждение представления.
• Вторая
фаза — Планирование
(Planning).
С точки зрения Microsoft, планирование —
это процесс согласования требований
потребителей и группы проекта, касающихся
конечного продукта и направления
разработки продукта. Это метод
прогнозирования рисков, выработки
приоритетов и оценки графика работ и
необходимых ресурсов. Фаза планирования
завершается одобрением плана проекта,
который включает функциональную
спецификацию — комбинированные планы
для каждого члена группы в соответствии
с требованиями модели команды и график
работ. Функциональная спецификация
достаточно детализирована, чтобы
позволить группе проекта определить
потребности в ресурсах и ее обязательства.
Вехой данной фазы является утверждение
плана проекта.
• Третья
фаза — Разработка
(Developing). Стадия разработки завершается
реализацией возможностей продукта и
проверкой их на практике. Группа
разработки определяет промежуточные
этапы выпуска продукта, каждый из
которых включает полный цикл тестирования,
отладки и внесения исправлений. На этом
этапе потребители и группа разработки
оценивают функциональные возможности
продукта и проверяют оптимальность
планов развертывания и поддержки.
Разработка в целом завершается, а все
нереализованные возможности
документируются для включения в
следующие версии. Вехой данной фазы
является завершение разработки,
альфа-версия (передается тестерам,
пользователям, начинается устранение
ошибок).
• Четвертая
фаза — Стабилизация
(Stabilizing). На этой стадии акцент переносится
с разработки решения на проверку его
работоспособности в реальных условиях
и на полномасштабное тестирование.
Стадия стабилизации завершается
выпуском продукта, который передается
группам развертывания и сопровождения.
Группе проекта поручают создание
следующей версии либо подключают к
работе над другими проектам. Вехой
данной фазы является релиз продукта.
Статья
про MSF:
http://www.studfiles.ru/preview/5611891/page:23/
https://msdn.microsoft.com/ru-ru/library/jj161047.aspx
Контрольными
точками процесса являются вехи
(milestones).
Microsoft
Operations Framework (MOF)
— это набор рекомендаций, на основе
которого можно разрабатывать процедуры,
элементы управления и роли, необходимые
для эффективной работы ИТ-инфраструктуры.
MOF основан на стандарте ITIL (IT Infrastructure
Library) и учитывает специфику платформы
Майкрософт.
Модель
процессов MOF
MOF
предоставляет рекомендации по
планированию, развертыванию и обслуживанию
ИТ-процессов для поддержки решений,
критически важных для организации. MOF
является общей моделью, поэтому многие
рекомендации необходимо адаптировать
для конкретной организации. При
упоминании «ролей» в модели MOF необходимо
понимать, что одному лицу можно назначить
несколько ролей, особенно в небольших
организациях. Но даже если весь ИТ-отдел
представлен одним человеком, процедуры
и рекомендации этой модели по-прежнему
применимы.
Модель
процессов MOF состоит из квадрантов,
анализов управления операциями и
анализов управления службами, таких
как изменение,
функционирование, поддержка, оптимизация.
Изменение.
На этапе изменения происходит планирование
и тестирование изменений. После анализа
готовности выпуска изменение
развертывается в производственной
среде и переходит на этап функционирования.
Анализ готовности выпуска не должен
быть первой оценкой выпуска; он должен
быть последним контрольным анализом
перед фактическим развертыванием.
Использование функций управления
службами определяет схему выполнения
процессов и задач и гарантирует успешное
развертывание и развертывание управляемых
выпусков.
Функционирование. Целью
анализа операций является предоставление
процессов, процедур и средств,
предназначенных для максимального
упрощения и повышения эффективности
поддержки системы. Функции управления
службами в данном квадранте являются
типичными действиями для центров
данных, такими как системное
администрирование, наблюдение и пакетная
обработка. Эти действия гарантируют
стабильное и предсказуемое функционирование
выпуска.
Поддержка.
Этап поддержки представляет собой
процесс обслуживания системы с помощью
соответствующих средств и процедур.
Этот квадрант содержит функции управления
службами, необходимые для обеспечения
постоянной поддержки пользователей
ИТ-решений. Как и для любого процесса,
системы, приложения или службы проблемы
могут возникнуть одновременно с началом
работы. Персонал службы технической
поддержки должен быстро определять
проблемы, назначать лиц, ответственных
за решение, и устранять их, чтобы
соответствовать требованиям соглашений
об условиях обслуживания. Анализ
соглашений об условиях обслуживания
определяет эффективность работы
системы. Проблемы, обнаруженные при
анализе соглашений об условиях
обслуживания, могут указывать на
области, нуждающиеся в улучшении.
Оптимизация.
Целью службы для этого квадранта
является сокращение затрат при
поддержании повышении уровня обслуживания.
Улучшение системы может потребовать
изменения оборудования, программного
обеспечения или процедур. Анализ
утвержденного выпуска служит для оценки
предложений изменений с учетом таких
аспектов, как затраты, риски и выгоды.
Утвержденные изменения переходят в
квадрант изменений, и процесс повторяется.
Этот итеративный процесс происходит,
как правило, естественно по мере
внедрения различными группами изменений
в систему в целях ее улучшения.
Статьи
про MOF:
http://unifiedpeople.ru/exchhelp.ru/html/5428d2e4-a2ec-430e-9520-0a88bff6d782.htm
https://technet.microsoft.com/ru-ru/library/cc543224.aspx
Структура
MOF формально
описывает действия, выполняемые в
рамках данного цикла операций по
улучшению, определяя ответственных за
каждое действие и позволяя управлять
процессом в целом. В конце каждого этапа
существует контрольная точка. При
наличии крупного ИТ-отдела она чаще
всего представляет собой собрание
людей или групп, ответственных, например,
за управление выпуском, операции и
безопасность. В небольшой организации
контрольная точка может просто указывать
на то, что работу можно продолжить.
Microsoft
Dynamics
Sure
Step
Методология
Microsoft Dynamics Sure Step представляет собой
комплексную методологию внедрения,
содержащую в себе рекомендации, стратегии
управления проектами, инструменты и
шаблоны, которую партнеры корпорации
Майкрософт могут использовать для
внедрения продуктов Microsoft Dynamics для
своих клиентов. Методология Sure Step
определяет стандартизованный поэтапный
подход к проектам внедрения. Она призвана
помочь партнерам Майкрософт внедрять
решения Microsoft Dynamics в последовательной
и повторяемой форме. Модель методологии
Sure Step разделяет проект внедрения
Microsoft Dynamics на шесть основных: диагностика,
анализ, проектирование, разработка,
развертывание, эксплуатация
и два дополнительных этапа, которые
можно реализовать после запуска решения
Microsoft Dynamics в производственной среде
клиента: оптимизация
и обновление.
Каждый этап методологии Sure Step включает
набор определенных операций и задач.
Результат выполненной работы в рамках
операции, как правило, отражается в
конечных результатах с рекомендациями
и указаниями по дальнейшим шагам
процесса внедрения.
Этап |
Цели |
Выполняемые |
Диагностика |
Анализ |
Организация |
Анализ |
Организация |
Открытие |
Дизайн |
Описание |
Разработка |
Разработка |
Реализация |
Настройка |
Развертывание |
Подготовка |
Проведение |
Начальное |
Сопровождение |
Осуществление |
Методологии разработки программного обеспечения
Введение
Основные компоненты и модели 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
Шаблон:Реклама
Шаблон:Нет сносок
Шаблон:Разработка программного обеспечения
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 • 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-решений или голые амбиции лидера (рус.)