В статье описаны возможности интеграции продукта IBM Rational ClearQuest с продуктами IBM Rational Team Concert и IBM Rational Quality Manager для взаимодействия в рамках управления жизненным циклом приложений (Application Lifecycle Management, ALM).
Данная статья представляет собой руководство для корпоративных групп, которые внедряют новые инструменты на базе платформы IBM Jazz для повышения своей продуктивности. Во многих случаях таким группам необходимо сохранять интеграцию с существующими потоками работ по управления изменениями на уровне проекта или организации, поэтому им требуются средства взаимодействия, которые обеспечивали бы интеграцию нового инструмента управления изменениями с существующими инструментами.
Варианты развертывания новых Jazz-инструментов и их интеграции с существующими потоками работ по управлению изменениями могут быть обобщены в форме двух ситуаций, каждая из которых предъявляет определенные требования к выбору надлежащей стратегии взаимодействия для вновь развернутого и интегрированного решения:
- Первая ситуация. Группы, внедряющие инструменты на базе Jazz, такие как IBM Rational Team Concert и IBM Rational Quality Manager, способны принимать полномасштабное участие в формальной практике управления изменениями, реализованной в рамках общекорпоративного развертывания решения для управления изменениями, основанного на IBM Rational ClearQuest. В этой ситуации рекомендуется применять подход "интеграция посредством синхронизации".
- Вторая ситуация. Группы, внедряющие подход Collaborative Application Lifecycle Management (C/ALM) с практикой группового управления изменениями, могут выбрать стратегию интеграции, основанную на установлении отслеживаемости посредством связывания с корпоративными активами по управлению изменениями.
В обеих ситуациях реализация решения для обеспечения взаимодействия дает пользователям Rational ClearQuest возможность более тесной коллективной работы.
Данная статья описывает вышеупомянутые ситуации более подробно и объясняет, как выбрать и реализовать стратегию взаимодействия для каждого интеграционного сценария.
Подходы к управлению изменениями
В следующих разделах подробно рассматриваются все значимые факторы, что позволяет читателю определить, какой метод обеспечения взаимодействия будет работать в его условиях наилучшим образом.
Традиционный "формальный" подход к управлению изменениями
Формальное управление изменениями - это установившаяся практика, принятая большинством организаций, которые занимаются поставками программного обеспечения. Указанный подход иллюстрируется на рис. 1. При этом подходе устанавливается сквозной поток работ, гарантирующий управление запросами на изменения на протяжении заданного жизненного цикла. Жизненный цикл начинается с представления запроса на изменения, за которым следуют этапы реализации (разработки) изменений и их валидации. На заключительном этапе производится удовлетворение запроса (представленного на начальном этапе).
Рисунок 1. Этапы формального процесса управления изменениями
Во многих случаях такой формальный процесс управления изменениями охватывает несколько групп и ролей. К примеру, ответственное лицо представляет запрос на изменения, руководитель проекта ставит этот запрос в очередь, разработчик реализует запрос, тестировщик осуществляет валидацию реализации, владелец продукта удовлетворяет запрос на изменение и утверждает его включение в продукт или в поставляемое приложение.
Общий подход к реализации формального процесса управления изменениями состоит в использовании т.н. "записи" (record) продукта ClearQuest (имеющей тип "адаптированная запись о запросе на изменения"), которая последовательно проходит через все состояния запроса. Владение этой записью передается от одного участника группы к другому, что обеспечивает т.н. "оркестровку" последовательности работ. Запись ClearQuest специфицирует значения свойств запроса и ссылается на другие обеспечивающие записи. На рис. 2 показана обобщенная последовательность состояний для записи (record) запроса на изменения.
Рисунок 2. Формальный поток работ, реализованный в ClearQuest
При внедрении стратегии взаимодействия в рамках традиционного подхода к управлению изменениями важно поддержать и интегрировать эту стратегию посредством управляющего потока, реализованного в Rational ClearQuest.
На протяжении жизненного цикла конкретного запроса ClearQuest разные участники группы вносят свой вклад в удовлетворение этого запроса посредством Jazz-инструментов.
К примеру, разработчик, которому поручен дефект, направляет соответствующие изменения в продукт Rational Team Concert, а тестировщик выполняет валидацию исправлений в продукте Rational Quality Manager.
Для конфигурирования взаимодействия при традиционном подходе к управлению изменениями требуется, чтобы запрос на изменения вместе со своими ключевыми свойствами и состоянием был синхронизирован во всех репозитариях. Взаимодействие можно оптимизировать, выполняя синхронизацию только с теми записями, владение которыми передается между участниками группы с помощью инструмента на базе технологии Jazz.
Подход Collaborative Application Lifecycle Management
Альтернативой вышеописанному подходу является подход Collaborative Application Lifecycle Management (C/ALM). В подходе C/ALM поток работ не реализуется в виде единственного потока работ, оркестрованного на основе одиночной записи. Вместо этого создается интегрированный набор артефактов, который участвуют в потоке работ и обеспечивают его оркестровку. Состояния связанных артефактов и их зависимостей определяют структуру жизненного цикла.
К примеру, на рис. 3 отдельный запрос на усовершенствование может быть представлен в виде двух "единиц работы" (work item), каждая из которых принадлежит своей группе и отслеживается этой группой. Каждая из этих групп планирует работу, связанную с разработкой (реализацией) запроса и валидацией этой реализации.
Рисунок 3. Пример потока работ при использовании подхода Collaborative Application Lifecycle Management
При этом разные группы вполне могут применять несколько разные процессы разработки - например, подход, при котором одной из групп необходимо проверять программный код перед передачей изменений в интеграционный поток.
Такой подход к Collaborative Application Lifecycle Management может быть реализован в ClearQuest посредством использования т.н. "ALM-схемы". Кроме того, это фундаментальный принцип интеграции Collaborative ALM на основе архитектуры Jazz Integration Architecture.
Использование схемы ClearQuest ALM - это хороший подход для разделения потока работ между нескольких записями ClearQuest (ALMRequests, ALMTasks, ALMActivities) с целью охвата всего жизненного цикла. Владение записями распределяется по функциям или по ролям.
При использовании подхода Collaborative Application Lifecycle Management с Jazz-инструментами поток работ оркеструется посредством связывания и завершения соответствующих единиц работы, например, задач и дефектов в Rational Team Concert. Продукт Rational Quality Manager осуществляет управление артефактами валидации, например, тестовыми сценариями (test case) и записями исполнения тестов (test execution). Продукт Rational Quality Manager представляет дефекты в виде т.н. "записи дефекта" в ClearQuest или в Rational Team Concert (в зависимости от применяемого инструмента). На рис. 4 показана принципиальная схема активов при использовании подхода Collaborative Application Lifecycle Management.
Рисунок 4. Связанные активы C/ALM
При внедрении подхода Collaborative Application Lifecycle Management полезно выбирать решение для поддержки взаимодействия, допускающее связывание артефактов между инструментом ClearQuest и Jazz-инструментами.
Варианты стратегии взаимодействия
Rational ClearQuest предоставляет два типа технологий для взаимодействия с Jazz-инструментами:
- Связывающее решение, которое интегрирует инструмент ClearQuest Bridge со спецификацией Open Services Lifecycle Collaboration Change Management (OSLC-CM) с целью связывания записей продукта ClearQuest с единицами работы продукта Rational Team Concert или продукта Rational Quality Manager. Это решение соответствует подходу Collaborative ALM.
- Синхронизирующее решение, которое использует инструмент ClearQuest Connector для передачи данных между записями продукта ClearQuest и единицами работы продукта Rational Team Concert или продукта Rational Quality Manager. Это решение соответствует традиционному подходу к управлению изменениями.
Эти методы дают рабочим группам возможность выбора одного из вариантов: 1) передача данных между записями и единицами работы; 2) связывание записей и единиц работы. Какая стратегия будет работать в вашей ситуации лучше - зависит от баланса между моделью использования ClearQuest и объемом данных, подлежащих передаче между продуктом ClearQuest и Rational Team Concert либо Rational Quality Manager.
ClearQuest Bridge
Компонент ClearQuest Bridge реализует т.н. "слабое связывание" (loose coupling) между записями ClearQuest и единицами работы Rational Team Concert. Между записями не передаются никакие данные записей. ClearQuest Bridge реализован как сервис продукта IBM Rational Jazz Team Server и конфигурируется с помощью консоли администратора (Admin). Никакой дополнительной установки не требуется.
ClearQuest Bridge хранит информацию только в Jazz-единицах работы и не требует никаких модификаций схемы ClearQuest, сконфигурированной для управления изменениями. Это упрощает рабочим группам освоение инструмента ClearQuest Bridge, поскольку связывание записей может быть использовано без каких-либо модификаций в схеме ClearQuest, развернутой в производственной среде в масштабе всего предприятия. Кроме того, ClearQuest Bridge можно использовать для связывания записей любого типа и любого количества типов записей, что обеспечивает дополнительную гибкость.
Для конфигурирования ClearQuest Bridge выполните следующие шаги:
- Войдите в Web-интерфейс администратора Admin и откройте настройки Advanced Server Settings в продукте Rational Team Concert или в продукте Rational Quality Manager.
- В разделе ClearQuest Bridge введите имя хоста (рекомендуется) или IP-адрес компонента ClearQuest Change Management Server.
- Введите соединение, которое по умолчанию будет использоваться со схемой ClearQuest ( опция ).
- Выберите настройку, активирующую вкладку ClearQuest Records в Web-клиенте Rational Team Concert ( опция ).
После конфигурирования Jazz-сервера Вы сможете связать записи ClearQuest с единицами работы Rational Team Concert или Rational Quality Manager (Jazz). При обновлении записи ClearQuest или Jazz-единицы работы связанная единица работы или запись не обновляется, поскольку никакой синхронизации данных между записями не производится. Связь сохраняет свою целостность на протяжении всего жизненного цикла запроса, однако для того, чтобы увидеть изменения состояний и значений в связанной записи, пользователь должен пройти по связи.
Дополнительную информацию можно получить в Информационном центре по Rational Team Concert в разделе Конфигурирование и использование Rational ClearQuest Bridge.
OSLC-сервисы для управления изменениями
Продукты ClearQuest и ClearQuest Bridge могут быть сконфигурированы в качестве поставщиков сервисов управления изменениями для интеграции с инструментами Rational Team Concert и Rational Quality Manager, а также с другими инструментами, которые пользуются OSLC-сервисами управления изменениями. Такая интеграция позволяет создавать дефекты в продукте ClearQuest по результатам исполнения теста в продукте Rational Quality Manager. Применение OSLC для управления изменениями - это стандартный подход, поэтому такую интеграцию можно сконфигурировать и для других программных инструментов на базе сервисов управления изменениями, таких как Rational Team Concert и IBM Rational Change software.
Для конфигурирования сервиса управления изменениями в программном продукте Rational Quality Manager выполните следующие шаги:
- С помощью URI-идентификатора Root Services установите в настройках Jazz Server Administration коммуникационные отношения между сервером Rational Quality Manager и сервером ClearQuest.
- Установите связь между репозитарием Rational ClearQuest и областью проекта Rational Quality Manager.
- При представлении нового дефекта из Rational Quality Manager выберите Rational ClearQuest в качестве поставщика сервиса управления изменениями.
Дополнительную информацию можно получить в Информационном центре по Rational Quality Manager в разделе Настройка интеграции при использовании Rational ClearQuest Bridge.
ClearQuest Synchronizer
Компонент ClearQuest Synchronizer реализует т.н. "сильное связывание", обеспечивая передачу данных между ClearQuest и Rational Team Concert или Rational Quality Manager. Компонент ClearQuest Synchronizer устанавливается отдельно и требует дополнительного конфигурирования продукта ClearQuest и продукта Rational Team Concert или продукта Rational Quality Manager. Компонент ClearQuest Synchronizer повышает степень контролируемости, но при этом он требует более сложной настройки при разработке и большего объема технического сопровождения при использовании в производственной среде.
Для конфигурирования ClearQuest Synchronizer выполните следующие шаги:
- Схема ClearQuest, реализующая формальный поток работ по управлению изменениями, должна быть адаптирована к ClearQuest Synchronizer. Это обуславливает необходимость применения пакета JazzInterop.
- Должен быть развернут сервер ClearQuest Connector. Этот сервер будет осуществлять синхронизацию между записями ClearQuest и записями Jazz-инструмента.
- Должны быть созданы правила синхронизации с отображением типов записи на типы единиц работы и свойств записи на свойства единиц работы. При создании или обновлении записи ClearQuest или Jazz-единицы работы (Rational Team Concert или Rational Quality Manager) соответствующая единица работы или запись обновляется.
- Может возникнуть необходимость применения рефакторинга к записям запросов на изменения в ClearQuest и Jazz-инструментах. Следите, чтобы в Rational Team Concert и Rational Quality Manager были включены дополнительные атрибуты, необходимые потоку работ по управлению изменениями. Также следите, чтобы все инструменты использовали согласованные нумерационные значения. Устраните несогласованность значений перечислительных типов (напр., High и high).
- При разработке и тестировании развертывайте ClearQuest Synchronizer в изолированной "песочнице" (sandbox).
Дополнительную информацию по конфигурированию ClearQuest Synchronizer можно получить в Информационном центре по Rational Team Concert в разделе Конфигурирование и использование Rational ClearQuest Connector.
Дополнительные аспекты конфигурирования
В этом разделе приводится информация, помогающая оценить и сбалансировать сложность и возможности стратегии взаимодействия с учетом желаемого объема передаваемых данных.
Использование ClearQuest Connector для традиционного управления изменениями
Необходимо учитывать следующие аспекты:
- Необходимо смоделировать и реализовать отображение типа записи запроса на изменения в ClearQuest на Jazz-единицы работы.
- Модель состояния запроса на изменения в ClearQuest должна быть интегрирована с моделью состояния Jazz-единицы работы. Проследите за тем, чтобы были смоделированы состояния записи ClearQuest, используемые для передачи запроса владельцу в Jazz-инструменте. Кроме того, проследите, чтобы при выходе из владения соответствующее состояние возвращалось в ClearQuest.
- Отобразите ключевые атрибуты в запросе на изменения ClearQuest на Jazz-единицу работы. Обратите внимание, что перечислительные значения могут быть преобразованы в правило синхронизации между перечислительными значениями ClearQuest и Jazz. Использование перечислений снижает риск ошибок синхронизации и уменьшает объем технического обслуживания решения.
- Смоделируйте и отобразите дополнительные типы записи ClearQuest, на которые ссылается тип записи запроса на изменения. Каждый тип записи требует своих индивидуальных правил синхронизации.
- Для упрощения конфигурирования старайтесь использовать взаимно однозначные отображения записей на единицы работы и полей на значения.
Рисунок 5. ClearQuest Connector передает данные
При моделировании потока работ необходимо учитывать следующие факторы.
- При изменении записи ClearQuest единица работы Rational Team Concert автоматически обновляется через ClearQuest Connector.
- При изменении единицы работы Rational Team Concert запись ClearQuest автоматически обновляется через ClearQuest Connector.
- Создание новой записи может породить волновые эффекты. Создание новой записи дефекта в ClearQuest может привести к тому, что при посредстве ClearQuest Connector будет создана единственная единица работы Rational Team Concert для группы разработки.
При развертывании ClearQuest Connector необходимо учитывать следующие аспекты.
- При использовании продукта IBM® Rational® ClearQuest Multisite® действует следующее ограничение: управление записями, которые обновляются коннектором ClearQuest Connector, должно выполняться на сервере, на котором осуществляется интеграция этого коннектора. Это вынуждает учитывать дополнительные обстоятельства при проектировании схемы и ограничивает поддержку многосайтовых установок. Централизованная установка ClearQuest снимает эти ограничения.
- Учитывайте необходимость модифицирования сложившегося процесса формального управления изменениями с целью ограничения ошибок синхронизации. Обязательно проведите рефакторинг текстовых полей записи ClearQuest в перечислительные значения с целью ограничения ошибок синхронизации.
- При разработке схемы ClearQuest применяйте методики управления изменениями и конфигурациями, которые обеспечивали бы совместную разработку и развертывание схемы и правил синхронизации.
- Разрабатывайте решение для ClearQuest Connector в "песочнице". Обязательно тестируйте изменения правил синхронизации до развертывания в производственной среде.
- Обязательно выполняйте анализ первопричин ошибок синхронизации с целью совершенствования правил синхронизации и устранения несогласованности значений данных.
Использование ClearQuest Bridge для традиционного управления изменениями
При использовании ClearQuest Bridge для интеграции традиционного управления изменениями с инструментами Rational Team Concert и Rational Quality Manager необходимо учитывать следующие аспекты.
- Тестировщики могут использовать компонент ClearQuest Bridge в среде Rational Quality Manager для создания запросов на изменения, например, отчетов о дефектах в ClearQuest.
- Связи записей ClearQuest и Jazz-единиц работы доступны только в Web-интерфейсе пользователя платформы Jazz (вкладки Work Items и ClearQuest Records) и в Eclipse-клиенте Rational Team Concert. В Web-клиенте ClearQuest или в Eclipse-клиенте ClearQuest доступа к связям нет.
- Связь между записью ClearQuest и Jazz-единицей работы сохраняется только в единице работы.
- Запись запроса ClearQuest может быть отображена на несколько Jazz-единиц работы в нескольких репозитариях.
- Jazz-единица работы может быть связана с одной записью ClearQuest или с несколькими записями ClearQuest. Это избавляет от необходимости проектирования отображений между типами записей и типами единиц работы.
Пример.
- Тестировщик создает одиночную запись дефекта ClearQuest.
- Разработчик создает единицу работы Rational Team Concert для отслеживания работы, подлежащей выполнению с целью устранения вышеуказанного дефекта, сведения о котором содержатся в записи ClearQuest. Разработчик связывает единицу работы с записью ClearQuest посредством ClearQuest Bridge.
- При изменении записи ClearQuest единица работы Rational Team Concert не обновляется.
- При изменении единицы работы Rational Team Concert запись ClearQuest не обновляется.
- Нет необходимости в создании каких-либо отображений для полей и значений записей.
Рисунок 6. Традиционное управление изменениями с использованием ClearQuest Bridge
Использование схемы ClearQuest ALM
При осуществлении проектов с использованием схемы ClearQuest ALM для интеграции с группами поставки, применяющими продукт Rational Team Concert и продукт Rational Quality Manager с механизмом ClearQuest Connector, необходимо учитывать следующие аспекты.
- Для каждого типа записей должно быть сконфигурировано свое правило синхронизации.
- Каждый тип записи должен быть отображен на уникальный тип единицы работы. Таким образом, поскольку ALM-схема специфицирует записи Request (запрос), Tasks (задачи) и Activity (действие) как записи соответствующих типов, для каждого из этих типов должны существовать отображения на уникальные типы единиц работы.
- Каждое поле каждого типа записи ClearQuest, подлежащей обновлению через ClearQuest Connector, должно быть отображено на соответствующее поле в Rational Team Concert или в Rational Quality Manager.
- Каждое ссылочное поле, используемое каким-либо из типов записей ClearQuest ALM, должно быть реализовано как отдельное правило синхронизации, вызов которого будет осуществляться родительским правилом синхронизации. ALM-схема часто пользуется ссылочными типами, что дополнительно повышает сложность отображения.
- При представлении новой записи многие поля в ALM-схеме являются обязательными. Это усложняет создание новых задач и действий ALM на основе единиц работы, еще не синхронизированных с записью ClearQuest.
- Средства планирования в ClearQuest ALM и в Rational Team Concert используют различные подходы при моделировании проекта, групп, фаз и итераций. Отображение двух различных моделей не может быть эффективно реализовано с помощью компонента ClearQuest Connector, который был разработан для отображения значений и полей по принципу "один к одному". Это порождает необходимость реализации специальной логики отображения в схеме ClearQuest.
Пример:
- Тестировщик создает запись ClearQuest ALMRequest.
- С помощью решения ClearQuest ALM создается одна или несколько задач ALMTasks.
- С помощью решения ClearQuest ALM создается одно или несколько действий ALMActivities.
- Для каждого элемента ALMTasks и ALMActivities создаются единицы работы Rational Team Concert.
- При изменении записи ClearQuest соответствующая единица работы обновляется через ClearQuest Connector.
- При изменении единицы работы Rational Team Concert соответствующая запись ClearQuest обновляется через ClearQuest Connector.
Использование ClearQuest MultiSite вместе с ClearQuest Connector
При использовании Rational ClearQuest MultiSite с ClearQuest Connector необходимо учитывать следующие аспекты.
- Управление записями ClearQuest, обновляемых коннектором ClearQuest Connector, должно выполняться на сервере, на котором осуществляется интеграция этого коннектора.
- Настройте запросы отбора ClearQuest Connector для проверки многосайтового владения с целью избежания ошибок синхронизации.
- Попытайтесь автоматизировать настройки владения на основе владения записями и пользовательских настроек владения.
- Рассмотрите возможность централизованной установки ClearQuest для устранения ограничений владения ClearQuest для ClearQuest Connector.
Рисунок 7. Решение ClearQuest ALM, соединенное с Rational Team Concert или с Rational Quality Manager посредством ClearQuest Connector
Использование схемы ClearQuest ALM с компонентом ClearQuest Bridge
При использовании схемы ClearQuest ALM с ClearQuest Bridge необходимо учитывать следующие аспекты.
- Jazz-единица работы может быть связана с одной или с несколькими записями ClearQuest. Это избавляет от необходимости проектировать отображения между типами записей и типами единиц работы.
- Единицы работы могут быть связаны с ALM-запросами, ALM-задачами или ALM-действиями согласно требованиям принятого процесса управления изменениями.
- Единицы работы могут быть связаны с записями других типов, например, с записью типа BTBuild, которая задается в схеме Build Tracking для отслеживания ошибок сборок и их устранения.
- Единицы работы могут быть связаны с записями, которые не относятся к управлению изменениями, а используются для распределения и отслеживания работ. Например, связь с записью Enhancements позволяет осуществить распределение и отслеживание работ по созданию требований.
- При конфигурировании поставщика сервисов OSLC Change Management (OSLC-CM) в Rational Quality Manager обратите внимание, что в качестве принимаемого по умолчанию типа дефекта будет выбран тип записи по умолчанию из ClearQuest. Измените тип записи по умолчанию в ClearQuest в соответствии с типом записи, которая применяется для представления дефектов в конкретной конфигурации вашей схемы.
Рисунок 8. Решение ClearQuest ALM, соединенное с Rational Team Concert или с Rational Quality Manager посредством ClearQuest Bridge
Выбор варианта
Ниже приведены рекомендации по выбору метода обеспечения взаимодействия при развертывании в зависимости от способа реализации ClearQuest и потребности в передаче данных между продуктами.
Рекомендации по применению ClearQuest Bridge
- Начните исследование возможностей взаимодействия с конфигурирования ClearQuest Bridge и OSLC Change Management в своих Jazz-инструментах. Этот подход обеспечивает быстрое получение результатов, а также гарантирует открытость и гибкость для всех продуктов Rational. Кроме того, он позволяет исследовать интеграцию с программным обеспечением для управления изменениями от других поставщиков, которое поддерживает спецификацию OSLC.
- Используйте ClearQuest Bridge, если хотите внедрить Collaborative Application Lifecycle Management с использованием связей с потоком работ по управлению изменениями в ClearQuest.
- Кроме того, ClearQuest Bridge рекомендуется использовать, если вы хотите интегрировать свой традиционный поток работ по управлению изменениями в ClearQuest с продуктом Rational Team Concert или Rational Quality Manager, но вам не требуется синхронизация состояния или передача данных атрибутов между репозитариями.
Рекомендации по применению ClearQuest Connector
- Выбирайте ClearQuest Connector для традиционного потока работ по управлению изменениями на основе отдельных записей запросов на изменения, в котором записи ClearQuest и Jazz-единицы работы синхронизированы и совместно используют состояния и атрибуты. Также рекомендуется использовать Connector в случае, когда владение записью запроса на изменения передается между членами группы, использующими разные платформы.
- Мы рекомендуем использовать ClearQuest Connector только в ситуациях, когда необходимость передачи данных между ClearQuest и Rational Team Concert или Rational Quality Manager оправдывает работу по реализации и техническому сопровождению сложной конфигурации.
- Мы не рекомендуем использовать ClearQuest Connector для ClearQuest Application Lifecycle Management вследствие сложности конфигурирования и необходимости технического сопровождения, которое заключается в отображении полей и значений ALMRequests, ALMTasks и ALMActivities на единицы работы.