Jazz kernel components

The Jazz™ technology platform kernel includes the repository and team process components.

Repository component

Most application lifecycle tools store tool-specific information in a central place where it can be made available to all team members. Jazz provides this facility in an extensible repository. The Repository component is in the kernel, so its facilities are available to other components in all client and server configurations.

Each item in the repository has a unique item id, which can be used as a key to retrieve it. In fact, the item ids are universally unique identifiers (UUIDs), so that an item created in one repository can be replicated to another repository and retain its identity. Similarly, item states and content values are assigned universally unique identifiers, so that any state of an item can be replicated to other repositories and retain its identity.

Repository read and write operations are atomic. The server-side APIs also include an operation for explicitly bracketing an arbitrary sequence of read and write operations into a single atomic transaction. Jazz has server-side API for streaming content objects to and from the repository, designed so that the streaming can be done safely outside of a repository transaction.

Team Process component

The Team Process component is the foundation of process support in the Jazz technology platform. In this context, process refers to the collection of practices, rules, guidelines, and conventions that a team uses to organize their work. For a very small team, the process is usually informal and undocumented. As a team grows, parts of the process may get documented on the team's project home page so that new team members can absorb them quickly. A large organization may have written descriptions of the general practices and procedures their project teams are expected to follow; a project team is expected to start with standard process templates and customize them to suit the project and team. Some organizations and teams go one step further, and create formal models covering significant portions of their processes.

Jazz supports process in several ways:
  • The Jazz technology platform is process-aware. In general, a team's process can affect any aspect of the work a team member does. The notion of process is designed in to the Jazz technology platform. The team's process is explicitly represented, and all the work that team members do within the system happens within the context of the process.
  • Jazz components are process-enabled. All Jazz components, including the initial core, have been designed to allow the prevailing process to exert influence over the component's operations and items.
  • The Jazz technology platform represents the process using standard Jazz items which are stored in the repository. This process representation can describe processes of all kinds, and can capture and enact as much (or as little) of the team's process as practical.
  • The Jazz technology platform is process-neutral. Jazz itself has no built in process enforcing what is done on any particular occasion. It's left up to the team to define an appropriate governing process to make such decisions for their project. This release includes several process templates, including a version of the one encapsulating the process used by the Jazz project team itself.

Feedback

Did this help? You can provide feedback at Jazz.net (registration required): Comment in the forums or submit a bug