Overview

TeamForge Orchestrate is a TeamForge add-on that provides traceability for product lifecycle activities such as work items, SCM commits, continuous integration (CI) builds, and code reviews.

Problem statement and Solution

Organizations currently tend to have modern mixed-vendor, heterogeneous environments with complex lifecycles including work item, commit, review, build/test, deploy, and other tasks that are monitored or managed by stand-alone tools. The tools may be vendor-supplied or open-source, and may reside on-premises or in private, public, or hybrid clouds. These tools, however, lack the ability to associate with one another and do not lend themselves to end-to-end traceability: organizations cannot easily see the connections between activities derived from disparate lifecycle tools. Yet to achieve traceability, organizations are often forced to use an all-in-one, monolithic solution that excludes popular point tools. TeamForge Orchestrate offers a traceability solution that preserves the advantages of your best-of-breed tools.

While TeamForge Orchestrate is extensible, this version provides the following packaged adapters for connecting lifecycle activities:
Table 1. TeamForge Orchestrate Packaged Adapters
Type of service Products
SCM/Version Control Git, Subversion
Code Review ReviewBoard, Gerrit, Atlassian Crucible
Build/Test Jenkins, JetBrains TeamCity
Issue Tracker CollabNet TeamForge, Atlassian JIRA

TeamForge Orchestrate Vision

In a modern and frequently fractured development environment employing tools from different vendors, TeamForge Orchestrate aims to provide:
  • Aggregation — Using packaged adapters and an extensible architecture, TeamForge Orchestrate obtains and stores metadata about key lifecycle activities like work items, commits, builds/tests, and code reviews across vendors and platforms.
  • Traceability — TeamForge Orchestrate draws associations between activities across the entire lifecycle and enables traceability through the various steps or stages of the lifecycle.

Feature overview

TeamForge Orchestrate aims to aggregate lifecycle metadata across various tools and establishes networks of associations across those lifecycle activities. The use cases for TeamForge Orchestrate include visibility into development activities, visibility into associations between lifecycle activities, and requirements traceability for auditing purposes.

Pipelines: TeamForge Orchestrate uses the "pipeline" concept made popular by continuous delivery to represent a team or group's lifecycle process including work items, SCM, code review, and build/test. A pipeline is made up of "steps" representing a team's specific sequence of lifecycle events when moving from requirements to finished, working software. In TeamForge, many pipelines can be associated with a single TeamForge project; hence, multiple processes can be defined for each TeamForge project. The TeamForge Orchestrate "Project Info" page shows the pipelines associated with a given project. See User Interface for an example of pipelines and pipeline navigation.

A pipeline step gets data from "sources" such as work item trackers, CI jobs, SCM repositories, or review servers. For example, if a build step is configured with a specific Jenkins job as a source, TeamForge Orchestrate will be notified of each build for that Jenkins job. A single step can be configured with several sources. See Configuring Build, SCM, and Review Sources for information on source configuration.

Activity Stream: Once you have defined a pipeline and its steps and sources, you may view the chronological sequence of events associated with that pipeline using the "Activity Stream" view. This view is essentially a "team chronology" showing the most recent activities at the top of the page and the oldest at the bottom. See Activity Stream for more information.

Activity Details: Each activity has an "activity details" page that displays more detailed metadata related to the activity. For example, a commit detail page has information on the SCM repository name, committer information, commit comments, etc. The detail page also has an "Associations" section that shows all associated activities. These associations are created automatically either by the source systems or explicitly through special notation in a commit message. See Activity Details for details on the different activity pages.

Interface to TeamForge: If a TeamForge work item is seen on the Associations section in a TeamForge Orchestrate activity detail page, the "tracker" view for that work item in TeamForge will reflect those activities in its Associations tab. Clicking on those associations from the TeamForge tracker takes you back to the corresponding activity detail page in TeamForge Orchestrate.

Extensibility

While TeamForge Orchestrate ships with some adapters, its extensibility ensures that users can write custom adapters to extend TeamForge Orchestrate to other work item trackers, version control, CI, and code review systems. New product classes may also be extended using Extensible Data Sources (XDS). See Extending TeamForge Orchestrate for more information.