Jazz Jazz Community Blog My Top 4 Favorite Team Concert Features

I am a software developer on the Jazz Team Build Component team. The Jazz project has been self-hosting on Rational Team Concert since before it was called Rational Team Concert . :-) It’s easy to get so used to the tool that I fail to notice how convenient some operations are and how much I’ve come to rely on features that didn’t exist in the tooling I used previously. To combat that complacency and replace it with a renewed appreciation, I offer here a list of my favorite features.

To get on this list of favorites, it couldn’t just be cool or useful; it must have caused me to pause and wonder how I developed software in a team environment without it. A few of these features have even saved my bacon in the past few weeks. Most of my day is spent developing features and fixing work items. This list reflects my everyday usage of Rational Team Concert.

The Top 4

My Top 4 features are:

  • 4 Process Support for Preconditions
  • 3 Streams and Workspaces
  • 2 Annotate
  • 1 Suspend Change set

The following sections describe each of my favorites in more detail.

4 Process Support for Preconditions

preconditions-sm.png

These handy little pieces of code run before an operation, such as “Save work item” or “Deliver baseline”, takes place. If the preconditions for an operation are not met, the operation does not occur and the description of the failing conditions AND possible automated quick fixes shows up in the Team Advisor view. Fixing the problem can be just as easy as clicking a hyperlink.

For example, my team has a standard that no unused imports should be in the Java code we deliver to the stream. Still, in the heat of refactoring I sometimes forget to use the handy Eclipse “Organize Imports” before I deliver and attempt to deliver code with bogus imports. The Process framework immediately bongs me when I try to deliver and shows the problem in the Team Advisor. No problem, I just click the “Organize Imports” link and then re-run the deliver operation — right from the view!!

preconditions_fix-sm.png

3 — Streams and Workspaces

streams_1.png

streams_2.png

Before the Jazz SCM component was available, delivering to a communal build was a nightmare of tags and map files. Occasionally a cut and paste error or a forgotten text edit would wreak havoc on the build and take a while to find. With Jazz’s support for structured streams and workspaces, delivering to a build is as easy as accepting from one flow target and delivering to another. Not to mention you can create workspaces from other workspaces and from build results.

2 — Annotate

annotate-sm.png

Some people call this the “blame” feature. I prefer to think of it as the “credit” feature. :-) Many times I’m reading code in the editor and wonder “how did these lines get here?” (or, “who the heck wrote this?”). It is a pleasure to right-click on the file, choose Team> Annotate and see colors appear indicating which lines belong to what change. Even better, if I hover on the edge of the editor, a handy tooltip with the name of the change author and the reason for the change appears. I use this all the time.

1 — Suspend Change Set

suspend-sm.png

Suspending a change set removes the changes from the workspace, but keeps them available to be resumed at a later time. The changes still exist, but they are no longer part of the code in your workspace. It is a temporary “undoing” of code changes.

This one got the number one spot in part because I use it so often. For instance, the other day I was working away on some new code when a colleague pinged me for some help testing. Quickly, I suspended what I was working on and was able to run the test he requested. When it was finished, I simply resumed the change set and went back to writing my new code. I also use this when I start making changes in one way and decide there might be a better way I want to try. I can suspend the change set with my original attempt and know that I will be able to resume it if my “better way” turns out not to be better.

There you go, my top 4. Do you have any favorite features? Feel free to add them in the comments section.


Martha Andrews
Jazz Team Build

1 Star2 Stars3 Stars4 Stars5 Stars (6 votes, average: 4.33 out of 5)
Loading...
7 Comments
  1. Bill Higgins June 14, 2008 @ 11:06 am

    I think probably my favorite features is the ability to share change sets with other users before delivering to the team. We used this a lot during the end game where each code change required two reviews. It was very easy for teammates to both inspect the code but also accept it into their local development environment and run it and perhaps walk through it in the debugger before making a decision about whether or not the code was ready to be delivered to the team and put on a path to the project integration stream.

    – Bill Higgins, Jazz Web UI Foundation Team

  2. Bill Grant June 14, 2008 @ 12:40 pm

    Great post, Martha… Since I’m not in a development role, my favorite features are:
    (1) The Dashboard – the ability to combine feeds, work item queries, bookmarks, etc. all on one page is very nice. It can truly become my homebase.
    (2) Subscribing to work items – a feature that is missing in ClearQuest, along with the ability to access work items using feeds. This is nice to be able to see the items I’m interested in without having to hunt.

    Now if I can just figure out why my profile on jazz.net won’t let me modify my dashboard I’ll be all set. :-)

  3. Darin Swanson June 14, 2008 @ 3:22 pm

    I like the ability to trigger my own build when I want, how I want and with the change set composition that will compile and test what I have been working on.
    As well the ease of following the progression of the build via the events and the build results editor and associating bugs with the build result. Or abandoning a build that is not quite right.

    And don’t get me started on all the cool process features…but doc and blog entries are forthcoming this summer.

    Darin Swanson, Jazz Process Team

  4. Seth Packham June 14, 2008 @ 9:49 pm

    Many of my favorite features actually have to do with your component: the team build. Before I worked on Jazz, I manually kicked off a handful of slightly different Ant scripts for different conditions or desired output of our DITA docs. Now, with the Jazz team build, we can easily define different builds on different workspaces that take different variables and properties – but they all run the same build script. It’s also great how build results and status are immediate and transparent, linking to work items and change sets in the build.

    I also like the My Work view, dragging around my planned items to schedule my time.

    – Seth Packham, Jazz User Assistance Team

  5. Carol Yutkowitz June 26, 2008 @ 3:45 pm

    Suspend is my favorite too!

    Speaking of Annotate, did you know that the darkness/lightness of the colors you see are correlated to how old the change is? Old changes have that kind of faded look; newer changes are very dark.

    I also like the integration of components with Eclipse Working Sets, so you can sort your Package Explorer view by component.

    Carol Yutkowitz, Jazz CC Connector Team

  6. Eric Lee July 3, 2008 @ 3:35 pm

    I like all of the features mentioned so far, here are my personal favorites:

    1. The all-you-need-to-do-is-unzip setup for the Express-C edition. In about 15 minutes or so you can be up and running; really a great out of the box experience!

    2. I love the integrated IM experience; I particularly like that you can comment a work item with an IM conversation

    3. The iteration plans are great; it’s so easy to balance work from one team member to another

    4. The integrated screen shot capturing tool is really handy. It’s a simple thing, but it’s something that I think developers will really appreciate

    5. The team events log is really a nice way to see what is going on; it is aesthetically very well done also.

  7. Joachim Nilsson June 1, 2009 @ 9:48 am

    I am not a Jazz user so that may disqualify my input, but…

    In some projects I have seen a problem with concurrent editing (refactoring) of code. Especially if there are 100+ distributed developers active on the same product. One thing that might help communication between the developers would be an extension of the Annotate function: extended to display ongoing changes in code together with email/IM link to that user. Then it would be a simple thing to send off a message to the developer editing the same code as you are and ask for the reason for his/her change.

    -Joachim Nilsson, Managing consultant at Capgemini

You must be logged in to post a comment.