Концепция: Тонкая настройка RUP
В этом разделе приведены инструкции по тонкой настройке Rational Unified Process (RUP) для оптимизации разработки программного обеспечения.
Взаимосвязи
Основное описание

Введение

В среде Rational Unified Process (RUP) можно найти указания по широкому спектру принципов разработки программного обеспечения. Эти указания подходят для разработки проектов различного размера и различной сложности, а также для различных сред разработки и и предметных областей программного обеспечения. Поэтому вся среда RUP не может понадобиться для какого бы то ни было отдельно взятого проекта. Попытка применения всех возможностей RUP, скорее всего, приведет к снижению эффективности проектной среды и неоправданному усложнению задач разработчиков. Поэтому мы рекомендуем настраивать RUP под нужды конкретных проектов.  В данном разделе приведены общие сведения о настройке RUP.

Процесс можно настраивать на двух уровнях:

  • На уровне организации, когда разработчики процессов меняют, оптимизируют или настраивают общий процесс, применяемый в масштабах всей организации. Оптимизация на уровне организации применяется для более точного описания предметной области приложения, унификации практики выполнения задач и базовых технологий, применяемых в компании. В организации могут быть несколько общих процессов, адаптированных для различных типов разработки. В некоторых случаях в качестве централизованного общего процесса применяется стандартная начальная конфигурация RUP.  
  • На уровне проекта, когда разработчики процессов оптимизируют, улучшают или адаптируют общий процесс для применения в конкретном проекте.   Если существует общий процесс на уровне организации,   на уровне проектов он уточняется для отдельных проектов. На уровне проекта тонкая настройка заключается в оптимизации среды под масштабы проекта, оптимизации утилизации ресурсов организации и настройке среды для нужного жизненного цикла разработки ("разработка с чистого листа" как противоположность эволюции уже разработанного продукта) и т.д.

Общий принцип тонкой настройки RUP не зависит от того, на каком уровне она выполняется (хотя преследуются разные задачи).   В целом применяется следующий подход к тонкой настройке проекта:

  1. Определите рамки тонкой настройки.   Выберите способ добавления и изменения содержания RUP.   Определите, какие методы будут включены в адаптированный процесс. Например, могут быть включены примеры, шаблоны и рекомендации на уровне отдельных проектов и организации в целом.   Выберите процессы, роли, задачи, продукты работы, указания, процессы и все прочие объекты, нуждающиеся в настройке.  Дополнительные сведения об определении рамок тонкой настройки можно найти в разделе Рекомендация: Тонкая настройка RUP.
  2. Выберите уровень проведения тонкой настройки.  Тонкую настройку RUP можно выполнять на различных уровнях, требующих различных усилий и приносящих различные результаты.  Описание уровней тонкой настройки можно найти в разделе уровни тонкой настройки.
  3. Выполните тонкую настройку процесса. Измените заранее отобранные компоненты RUP на том уровне, на котором выполняется тонкая настройка.
    Независимо то выбранного уровня, в большинстве случаев процесс тонкой настройки RUP состоит из трех ключевых шагов (хотя некоторые шаги не обязательны и их наличие зависит от уровня, на котором выполняется тонкая настройка).
    1. Разработка элементов методов.  Эта процедура заключается в разработке нового и изменении существующего содержания методов.
    2. Настройка содержания методов.  На этом этапе необходимо решить, какие материалы подлежат включению, а какие - исключению, а также выбрать оптимальные представления для материалов (например, представления на основе ролей или предметных областей).   Настройка содержания методов сводится к подгонке размера процесса к потребностям конкретной организации или отдельного проекта.
    3. Разработка процесса для выбранной конфигурации.  На этом этапе нужно выбрать тип жизненного цикла разработки (например, водопадный или итерационный) и сформулировать процесс, идеально соответствующий потребностям организации или проекта.  Полученный процесс будет главным входным параметром при планировании проекта.     
    4. Сделайте процесс доступным.  Опубликуйте конфигурацию  (и сопутствующий процесс) в форме сайта или экспортируйте процесс в среду планирования проектов.

Объем и глубина адаптации зависят от различных факторов. Эти факторы описаны в разделе Рекомендация: Дискриминанты процесса.  Кроме того, рекомендуется ознакомиться с RUP как с точки зрения содержания процесса, так и с точки зрения поддержки адаптации. Дополнительные сведения приведены в разделе Введение в RUP.

Адаптация процесса в целом - это лишь одна из составляющих адаптации процесса для конкретного проекта.  После адаптации процесса руководитель проекта создает и выполняет экземпляр процесса для отдельно взятого проекта. Экземпляром процесса в данном случае называется практически план операций, итераций и проекта в целом (включая фактические операции и рабочие продукты для конкретного проекта). Создание экземпляра процесса выполняется в ходе планирования проекта. Дополнительные сведения о планировании проекта приведены в разделах Задача: Этапы и итерации плана и Задача: Разработка плана итерации.  

В остальных разделах данного указания обсуждаются уровни адаптации, предусмотренные в RUP, и приведены описания распространенных схем адаптации для различных уровней.    

Дополнительные сведения о тонкой настройке RUP приведены в следующих разделах:


Уровни адаптации

В следующей таблице перечислены уровни тонкой настройки (адаптации) RUP, начиная с самого простого и заканчивая самым сложным. Каждый следующий уровень содержит уровень, находящийся непосредственно перед ним.  

Уровень 1 Опишите адаптированный процесс во внешнем документе. В этом документе должна быть информация о базовом процессе и всех адаптированных ресурсах.

Этот уровень применяется в ситуациях, когда процесс, подлежащий адаптации, по каким-либо причинам нельзя изменить (например, он находится под строгим контролем), либо когда у вас нет доступа к Rational Method Composer.   Адаптация на этом уровне затрагивает только оформление сайта, но не его содержание.

Уровень 2 Измените существующий сайт процесса с помощью приложения Мой RUP и внешних документов.

Этот уровень предназначен для тех, кто пользуется собственной копией сайта процесса, и в целом его не рекомендуется применять для изменения процесса в масштабах всего проекта или даже всей организации.  Однако персонализация может быть неплохим компромиссом в ситуациях, когда нужно незначительно изменить оформление сайта в отсутствие доступа к Rational Method Composer.  Адаптация на этом уровне затрагивает только оформление сайта, но не его содержание.

Уровень 3

Настройте сайт процесса на основе существующего метода с помощью Rational Method Composer.

Этот уровень иногда называют разработкой конфигурации метода

Уровень 4

Добавьте указание к существующей инфраструктуре методов с помощью Rational Method Composer.

Этот уровень иногда называют разработкой "легких" модулей метода.  Легкие методы добавляют только указания (например, концепции, рекомендации, шаблоны, примеры или руководства по инструментам). Легкие модули представляют собой механизм упаковки ресурсов организации, включая шаблоны рабочих продуктов, рекомендации, примеры и другие многоразовые ресурсы, подлежащие использованию в конкретном проекте. Создание легких модулей не требует больших затрат и с этой точки зрения подходит для организаций любого размера и, как правило, умещается в бюджет даже небольших проектов. Кроме того, создание легких модулей не оказывает влияния на процессы (шаблоны возможностей и   процессы поставки), входящие в конфигурацию, поскольку не добавляются и не изменяются никакие роли, задачи и рабочие продукты.  

Уровень 5

Разработка нового  процесса поставки (в идеале - на основе доступного шаблона возможностей) с помощью Rational Method Composer.

Этот уровень иногда называют разработкой процесса поставки

Уровень 6

Добавьте в существующую инфраструктуру методов новые объекты (задачи, рабочие продукты, роли) с помощью Rational Method Composer.

Этот уровень иногда называют разработкой структурных модулей.  Структурными называются модули, расширяющие RUP за счет добавления или изменения ролей, задач или  рабочих продуктов.  

На создание структурных модулей уходит больше ресурсов, чем на создание легких модулей, поскольку для добавления роли, задачи или рабочего продукта может потребоваться создание или изменение других элементов метода и  процессов (шаблонов возможностей  и процессов поставки).  Например, для создания рабочего продукта может потребоваться создание роли, которая будет отвечать за него, а также задачи, которую нужно будет выполнить для создания рабочего продукта.   Затем нужно будет добавить задачу в существующий процесс (или создать новый процесс).

Структурные модули обычно разрабатываются в  организациях, пользующихся сравнительно зрелым процессом разработки и уделяющих основное внимание получению максимальной отдачи от унификации процесса для различных проектов, особенно если организация выполняет несколько проектов в одной предметной области на основе одной и той же технологии, либо в схожих средах разработки. Структурные модули RUP редко создаются для использования в отдельных проектах, если только это не настолько большие проекты, что стоимость разработки модуля будет оправданной для бюджета проекта. Структурные модули схожи с другими многоразовыми ресурсами в том смысле, что нет смысла предпринимать дополнительные усилия и нести дополнительные затраты на обеспечение их многоразовости до тех пор, пока не будет виден потенциал многоразового использования ресурса вне текущего проекта.

В целом новых ролей, задач и других аналогичных объектов в форме многоразовых модулей - нетривиальная задача, и в большинстве случаев целесообразно сначала свести этот вид адаптации к минимуму и сфокусироваться на создании указаний (уровень 4) и добавлении только "недостающих" элементов процесса поставки (уровень 5) вместо того, чтобы пересматривать, переделывать и переименовывать задачи, роли и рабочие продукты RUP. Хотя стоит отметить, что добавление задач и операций, изолированных в конкретном процессе поставки, равно как добавление небольшого числа новых шаблонов возможностей, сопряжено с относительно незначительным риском.


Настраивать RUP с рекомендуется с помощью Rational Method Composer (RMC).   RMC обеспечивает сохранение набора функций и оформления классического сайта RUP при адаптации.   Кроме того, RMC позволяет создавать экземпляры   процесса поставки путем экспорта процесса из RMC с последующим импортом в инструмент управления проектами   (например, Rational Portfolio Manager), в котором можно идентифицировать фактические рабочие продукты, назначить роли фактическим ресурсам и т.п.    Дополнительные сведения об экспорте процессов поставки приведены в разделе Руководство по инструменту: Экспорт процессов в инструмент планирования с помощью Rational Method Composer.

Во избежание "изобретения колеса" рекомендуем ознакомиться с существующими модулями перед началом разработки своих модулей. В руководстве developerWorks:IBM Sponsored RUP Plug-Ins приведен полный список модулей, которые можно загрузить и включить в конфигурацию RUP.

Сценарии тонкой настройки

В этом разделе обсуждаются распространенные сценарии адаптации RUP. Во всех сценариях описано выполнение ключевых шагов настройки на разных уровнях.

Список сценариев:

Все перечисленные сценарии обсуждаются ниже.


Настройка RUP с помощью внешнего документа

При настройке RUP с помощью внешнего документа выполняются следующие ключевые шаги:

  1. Разработайте элементы метода (например, шаблоны, рекомендации и примеры) с помощью любых известных вам инструментов.
  2. Настройте содержание метода.
  3. Разработайте процесс настройки путем создания одного или нескольких документов с информацией о том, какие элементы RUP должны быть включены в измененный процесс, как в процессе будут использоваться элементы метода, созданные на предыдущем шаге, и в какой точке жизненного цикла будет применяться измененный процесс. Данный документ может быть текстовым файлом, электронной таблицей, сайтом и т.д. Создайте столько документов, сколько необходимо для достаточного информирования заинтересованных лиц о различных аспектах процесса.
  4. Сделайте внешний документ и упомянутые в нем элементы доступными для конечных пользователей. В данном сценарии больше не требуется ничего публиковать и экспортировать.

Например, можно создать набор страниц в формате HTML с описанием экземпляра процесса. Эти страницы можно опубликовать на сайте организации и проекта и указать в них ссылки на соответствующий сайт RUP (т.е. для получения дополнительной информации читатель страницы может перейти по ссылке на сайт RUP).


Настройка RUP с помощью приложения Мой RUP

При настройке RUP с помощью приложения Мой RUP выполняются следующие ключевые шаги:

  1. Разработайте элементы метода с помощью любых подходящих инструментов (текстового редактора, электронной таблицы, редактора HTML и т.п.).
  2. Измените  содержание метода путем добавления новых элементов в существующие представления процессов на сайте RUP. В результате будут созданы новые или изменены существующие представления процессов.   
  3. Разработайте процесс настройки. Для этого нужно создать документ с описанием жизненного цикла процесса и, при необходимости, со ссылками на сайт измененного процесса.  
  4. Сделайте сайт измененного процесса и упомянутые в нем элементы доступными для конечных пользователей.   В данном сценарии больше не требуется ничего публиковать, поскольку адаптация осуществляется на опубликованном сайте, равно как не требуется ничего экспортировать.  

Примечание: Данный сценарий очень похож на сценарий Настройка RUP с помощью внешнего документа. Основное различие между этими сценариями заключается в том, что внешние документы являются частью опубликованного сайта.  

Дополнительные сведения о настройке сайта RUP с помощью приложения Мой RUP приведены в разделе Руководство по инструменту: Персонализация сайта RUP с помощью персонального представления процессов или приложения Мой RUP.


Настройка RUP путем изменения существующих объектов

При изменении существующих элементов метода с помощью Rational Method Composer (RMC) выполняются следующие основные шаги:

  1. Поскольку вы изменяете существующие элементы метода, не требуется предпринимать никаких действий по разработке новых элементов.
  2. Для настройки элементов метода создайте конфигурацию метода с нужными пакетами элементов инфраструктуры RUP (включая соответствующие модули методов) и без ненужных пакетов элементов, а затем создайте представления конфигурации для различных заинтересованных лиц.  Если это возможно, воспользуйтесь одной из предопределенных конфигураций RMC в качестве отправной точки.  Дополнительные сведения о создании и настройке RMC приведены в разделе Руководство по инструменту: Создание конфигурации метода с помощью Rational Method Composer.
  3. Поскольку вы изменяете существующие элементы метода, не требуется предпринимать никаких действий по разработке новых процессов (можно воспользоваться одним из предопределенных процессов поставки).   
  4. Опубликуйте конфигурацию на сайте процесса или экспортируйте процесс поставки в инструмент планирования проектов.  Дополнительные сведения приведены в разделе Руководство по инструменту: публикация конфигурации метода с помощью Rational Method Composer и Руководство по инструменту: экспорт процессов в инструмент планирования с помощью Rational Method Composer.

Настройка RUP путем добавления указаний к существующим элементам метода

При добавлении указаний  для существующих элементов метода с помощью Rational Method Composer (RMC)  выполняются следующие ключевые шаги:

  1. Создайте модуль метода,  в котором будет храниться указание.   Модуль метода будет содержать не только указание, но еще и взаимосвязи между указанием и  элементами метода, на которые оно распространяется.  Модуль, который содержит только указание, иногда называют "легким" модулем.   Дополнительные сведения о работе с модулями приведены в разделах Руководство по инструменту: Создание модуля метода с помощью Rational Method Composer и Руководство по инструменту: Разработка элементов метода с помощью Rational Method Composer.
  2. Создайте конфигурацию метода с модулем, созданном на предыдущем шаге.   В качестве отправной точки лучше всего взять одну из стандартных конфигураций RMC, в которой есть все необходимые элементы метода.   При необходимости включите новые указания в представления конфигурации.   Дополнительные сведения о работе с конфигурациями приведены в разделе Руководство по инструменту: Создание конфигурации метода с помощью Rational Method Composer.
  3. Поскольку вы добавляете указания только к существующим элементам метода, не требуется предпринимать никаких действий по разработке новых процессов (можно воспользоваться одним из предопределенных процессов поставки).   
  4. Опубликуйте конфигурацию на сайте процесса или экспортируйте процесс поставки в инструмент планирования проектов.  Дополнительные сведения приведены в разделе Руководство по инструменту: публикация конфигурации метода с помощью Rational Method Composer и Руководство по инструменту: экспорт процессов в инструмент планирования с помощью Rational Method Composer.

Настройка RUP путем определения нового процесса поставки

При создании нового процесса поставки с помощью Rational Method Composer (RMC) выполняются следующие основные шаги:

  1. Поскольку вы создаете новый процесс поставки, вам потребуется новый модуль метода для него.  Дополнительные сведения приведены в разделе Создание модуля метода с помощью Rational Method Composer.
  2. Настройка процесса заключается в создании конфигурации метода, в состав которой входит модуль, созданный на предыдущем шаге, а также создании всех необходимых дополнительных модулей (например, модулей с элементами метода, используемыми в процессе поставки).   Лучше всего в качестве отправной точки взять одну из стандартных конфигураций (особенно если в ней есть  процесс поставки, схожий с нужным вам).  Дополнительные сведения приведены в разделе Руководство по инструменту: Создание конфигурации метода с помощью Rational Method Composer.
  3. Для того чтобы разработать процесс настройки, создайте новый процесс поставки, лучше всего - на основе одного из существующих процессов поставки или шаблонов возможностей.  Дополнительные сведения приведены в разделе Руководство по инструменту: Разработка процессов с помощью Rational Method Composer.
    Если во время разработки процесса поставки выяснится, что требуются дополнительные элементы метода, эти элементы можно будет добавить в модуль метода, который был включен в конфигурацию.  Дополнительные сведения приведены в разделах Создание модуля метода с помощью Rational Method Composer и Руководство по инструменту: Создание элемента метода с помощью Rational Method Composer.
  4. Опубликуйте конфигурацию на сайте процесса или экспортируйте процесс поставки в инструмент планирования проектов.  Дополнительные сведения приведены в разделе Руководство по инструменту: публикация конфигурации метода с помощью Rational Method Composer и Руководство по инструменту: экспорт процессов в инструмент планирования с помощью Rational Method Composer
     

Настройка RUP путем создания элемента метода, отличного от указания

При создании нового элемента метода, отличного от указания (например, роли, задачи или рабочего продукта) с помощью Rational Method Composer (RMC) выполняются следующие основные действия:

  1. Создайте модуль метода с новым элементом метода и всеми дополнительными элементами.   Например, для создания рабочего продукта может потребоваться создать роль, которая будет отвечать за этот продукт, а также задачу, которую нужно будет выполнить для создания рабочего продукта.     Дополнительные сведения приведены в разделе Создание модуля метода с помощью Rational Method Composer.
  2. Настройте элементы метода путем создания конфигурации метода с модулем, созданным на предыдущем шаге, и всеми прочими необходимыми модулями (например, модулями с элементами метода, необходимыми для применения нового элемента метода).  Дополнительные сведения приведены в разделе Руководство по инструменту: Создание конфигурации метода с помощью Rational Method Composer.
  3. Для того чтобы разработать процесс настройки, создайте новый процесс поставки, лучше всего - на основе существующего процесса поставки или шаблона возможностей.   Добавьте новый элемент метода и все связанные с ним элементы метода в процесс поставки.  Дополнительные сведения приведены в разделе Руководство по инструменту: Разработка процессов с помощью Rational Method Composer.
  4. Опубликуйте конфигурацию на сайте процесса или экспортируйте процесс поставки в инструмент планирования проектов.  Дополнительные сведения приведены в разделе Руководство по инструменту: публикация конфигурации метода с помощью Rational Method Composer и Руководство по инструменту: экспорт процессов в инструмент планирования с помощью Rational Method Composer.

Применение вариантов разработки

Как обсуждалось ранее, один из вариантов настройки RUP заключается в изменении содержания внешних документов с описанием требований к процессу.   Примером такого документа может служить вариант разработки.   Дополнительные сведения о применении вариантов разработки при адаптации процесса приведены в разделе Задача: создание варианта разработки и соответствующих указаниях.