IBM Rational Team Concert
Дмитрий А. Лесин, сертифицированный специалист IBM, компания "Финэко Софт"
IBM Rational Team Concert является полноценной средой, предназначенной для организации разработки информационных систем в мультипроектном окружении, в котором участвует множество разработчиков. Инструмент позволяет объединить усилия специалистов в области разработки, организовать их эффективное взаимодействие и сохранить высочайший уровень контроля над всей проектной деятельностью на всем протяжении проекта.
IBM Rational Team Concert является базовым инструментом линейки Jazz и обладает всеми достоинствами Jazz Integration Architecture (JIA). Например, можно определить списки проектов и проектные роли в соответствии с выбранной или выстроенной «с нуля» методологией ведения проектов. В дальнейшем Вы просто подключаете специалистов к этим проектам, определяя для них роли, что гарантирует специалистам соответствующие права доступа на выполнение тех или иных операций в ходе разработки. Надо отметить, что ролевые права могут быть также тщательно настроены и зависеть не только от конкретного проекта, но даже от некоторой выделенной в нем области или предопределенного промежутка времени.
Инструмент обеспечивает живой обмен проектной информацией между участниками проекта по мере их продвижения в проекте и выполнения ими своих задач. В основе инструмента лежит механизм управления рабочими заданиями (workitems). На этом строится вся дальнейшая проектная работа. Каждое рабочее задание принадлежит к некоторому заранее заданному типу, в рамках которого определены специфические атрибуты для хранения данных, а также набор состояний и правила перехода между этими состояниями. Рабочие задания могут поступать от любых заинтересованных лиц (конечных пользователей, представителей и непосредственных участников проекта). Ответственные лица рассматривают их и при необходимости изменяют их состояния, назначая ответственных и направляя задания для дальнейшей обработки и производства проектных артефактов на их основе. При этом специалисты, имеющие соответствующие права доступа, в любой момент могут контролировать, в каком состоянии находится любое из таких заданий, и предпринимать необходимые действия на основе полученной информации при необходимости. Таким образом, можно непосредственно подключить к процессу разработки конечных пользователей системы, что обычно благотворно сказывается на ходе самого проекта и позволяет заблаговременно предотвратить серьезные проблемы в будущем, если проект неожиданно начнет отклоняться в сторону от поставленных ранее целей.
Ключевыми возможностями инструмента являются
Обеспечение «прозрачности» разработки, поскольку в IBM Rational Team Concert фиксируется вся информация о составе проектных команд, их внутренней структуре, входящих в эти команды специалистах и о том, каким образом эти специалисты должны выполнять свои обязанности и что конкретно они должны производить. Сюда можно отнести возможности подписываться на те или иные ленты новостей (feeds), фильтровать задания по различным атрибутам (состояниям, ответственным, итерациями и т.д.), вести дискуссии по конкретным вопросам разработки, получать оповещения по Email о происшедших событиях и т.д.
Управление рабочими заданиями (workitems), которое, как уже было сказано, является базовым механизмом IBM Rational Team Concert. В рамках данного механизма обеспечивается эффективная работа с рабочими заданиями различных типов. Например, это могут быть запросы на улучшение или заявки, инциденты, дефекты и ошибки (для организации дефект-трэкинга), задачи (для низкоуровневого управления проектом) и т.д. При этом рабочие задания могут быть привязаны к наборам изменений (change sets) в проектных артефактах, что гарантирует высочайший уровень контроля над этими изменениями. В этом случае, если кто-то изменил проектные артефакты, то всегда можно узнать, для какой задачи это было сделано и кто является ответственным за выполнение этой задачи.
Рис.1. Работа с дефектом в IBM Rational Team Concert
Управление версиями и конфигурациями, выстроенное на понятиях «компонент» (component) и «контрольная версия» (snapshot). При этом все артефакты хранятся в компонентах, там же выполняются изменения в этих артефактах. В соответствующие моменты времени в ходе проекта создаются контрольные версии компонент, фиксируя их текущее состояние для возможности возврата к этому состоянию в любой момент в будущем. А такие элементы, как потоки (streams) и рабочие области (workspaces) позволяют организовать эффективную параллельную работу множества участников разработки с любыми артефактами проекта.
Гибкое (Agile) планирование, которое является мощным средством для распределения работ в проекте и контроля над их выполнением. Основываясь на определении групп проектных работ в течение некоторых предопределенных промежутков времени (итераций) становится возможным равномерно загружать специалистов и контролировать состояние проекта в любой момент жизненного цикла.
Рис.2. План итерации в IBM Rational Team Concert
Организация потоковой сборки, которая становится возможной, благодаря дополнительному функционалу Jazz Build Engine, тесно интегрированному с IBM Rational Team Concert. При этом можно задействовать движки Ant, Maven и другие, вызов которых осуществляется через командную строку; связать процедуры сборки с конкретными рабочими заданиями и отслеживать результаты сборок прямо в IBM Rational Team Concert. Кроме того, результаты сборок могут быть привязаны через рабочие задания к конкретным итерациям и релизам системы, из чего становится возможным отследить историю сборок.
Мониторинг текущего состояния проекта, который возможен через использование встроенных отчетов на базе движка Business Intelligence and Reporting Tools (BIRT) и дашборда (dashboard) из Web интерфейса IBM Rational Team Concert. При этом отчеты могут быть созданы с помощью бесплатного инструмента, распространяемого в соответствии с одной из лицензий для систем Open Source, а затем эти отчеты могут быть импортированы в IBM Rational Team Concert. Что касается дашборда, то он может быть настроен наиболее удобным для Вас образом с отображением самой актуальной проектной информации.
Рис.3. Пример дашборда из Web-интерфейса IBM Rational Team Concert
Механизм конфигурирования проектного пространства (project area), позволяющий выполнить детальную настройку проекта на соответствие условиям организации-разработчика. Здесь можно отметить создание и настройку прав ролей, задание автоматических действий при создании новых проектов, определение и уточнение типов рабочих заданий, их атрибутов и состояний, разработку триггеров для выполнения автоматических операций («pre-conditions» и «follows-up actions») и т.д. Настроенный таким образом проект может быть сохранен в виде шаблона проектного пространства и в дальнейшем использован для создания новых пространств и старта новых проектов.
Огромные возможности в области интеграции IBM Rational Team Concert делают данный инструмент абсолютно уникальным. Среди существующих интеграций следует отметить:
- Интеграцию с IBM Rational Requirements Composer в рамках совместной разработки приложений (Collaborative application lifecycle management или CALM), которая позволяет связывать рабочие задания с требованиями, порожденными или измененными на основе этих заданий, и наоборот, требования с заданиями, созданными для планирования работ по реализации данных требований
- Интеграцию с IBM Rational Quality Manager в рамках совместной разработки приложений (Collaborative application lifecycle management или CALM), на основе чего становится возможным организовать дефект-трэкинг по результатам выполненных тестов в ходе тестирования выпускаемых программных продуктов
- Интеграцию с IBM Rational ClearQuest для синхронизации рабочих заданий и запросов на изменения, определенных в классическом средстве управления разработкой IBM Rational ClearQuest
- Интеграцию с IBM Rational ClearCase для синхронизации артефактов версионного и конфигурационного управления между двумя указанными средствами
Открытая архитектура Jazz Integration Architecture (JIA), лежащая в основе IBM Rational Team Concert позволяет вести дополнительную разработку новых механизмов интеграции с другими системами, которые могут быть развернуты и активно использоваться в организации. Одним из вариантов интеграции с данными системами может являться использование продукта RTC Email Reader от компании «Финэко Софт», который обеспечивает синхронизацию рабочих заданий IBM Rational Team Concert в соответствии с Email сообщениями предопределенного формата. При этом возможна и обратная синхронизация, благодаря встроенной подсистеме оповещений IBM Rational Team Concert.
Надо также отметить, что управление версиями и конфигурациями на базе IBM Rational Team Concert может быть организовано практически в любом проекте, даже если среда разработки (IDE) не имеет непосредственной интеграции с этим инструментом. Это становится возможным, благодаря совместному использованию «толстого клиента» IBM Rational Team Concert и неинтегрируемого IDE. Так, если для Eclipse IDE, IBM Rational Software Architect, IBM Rational Application Developer и Microsoft Visual Studio такие интеграции существуют, то уже, например, с Delphi придется дополнительно использовать «толстый клиент» IBM Rational Team Concert, что не представляет больших трудностей.
Также следует отметить, что существует бесплатная версия IBM Rational Team Concert ExpressC для небольших групп разработчиков (не более 10 человек), обладающая достаточно большими функциональными возможностями при выполнении небольших проектов.
***
В Каталоге Центра IT обучения "Institutio" представлено несколько программ обучения по IBM Rational Team Concert, отличающихся друг от друга включенными в них модулями:
- PCCM0001, Введение в IBM Rational Team Concert (начальный обзор инструментального средства с целью максимально быстро научиться применять его на практике), 1 день
- PCCM0002, Возможности IBM Rational Team Concert (начальный обзор инструментального средства и его расширенные интеграционные возможности для организации командной разработки), 2 дня
- PCCM0003, Автоматизация командной разработки ПО с помощью IBM Rational Team Concert (введение в дисциплину управления версиями и конфигурациями, начальный обзор RTC и его расширенные интеграционные возможности для организации командной разработки), 3 дня