Blogs about Jazz

Blogs > Jazz Team Blog >

The Team Concert User Workshop: behind the scenes

Tags:

Recently, the Jazz Jumpstart team published a Rational Team Concert User Workshop on Jazz.net. Our small team of Paul, Steve, Philippe, and I work with Team Concert beta customers who are learning how to do serious work with this new platform. We developed the workshop to help these customers get up to speed on the technology.

Creating the Team Concert User Workshop was an interesting experience because it demonstrated to us that the collaborative nature of Team Concert is fundamentally different from past products, which focused on making an individual more productive.

Prior to working on the user workshop for Team Concert, I developed and delivered Eclipse user workshops for customers, other companies, universities, and the public. The Eclipse user workshops followed a typical workshop format of a series of instructor lectures and participant exercises. Our first attempt at a Team Concert workshop used this format. We lectured on the features of a particular component like Jazz Work Items or Jazz Source Control and the participants, using their own local Jazz Repository, would perform the related exercise. These initial Team Concert workshops failed miserably (fortunately, it was a trial run with a friendly audience). The issue was that the participants worked in isolation and did not experience Team Concert as a team collaboration platform. They came away knowing more about the functional “speeds and feeds” of Team Concert but nothing about how it helps teams collaborate better. Back to the drawing board!

We needed to move away from the functional approach and instead teach collaborative software development using Team Concert as the enabler. We had a team: our workshop participants. We needed a reasonable application development scenario that the instructor and the participants could work on together as a team. It was reasonable to expect that the participants would not know each other and their development skills might vary significantly, yet we wanted them to be a team for a day and complete the delivery of a full application milestone! The application needed to be dead simple so we could focus on collaborative development and not programming skills. Yet it had to be rich enough to experience Team Concert’s collaboration features as you might with a real software application by a real development organization. And lastly, it had to be open-ended to support any size workshop.

From these needs, the “Squawk” application was born. Jumpstart colleague Paul VanderLei created it as the simplest collaborative application you can imagine – it consists of a set of “squawker” classes that output or “squawk” some text to the console. For example, a lion squawks with a roar and Fred squawks with “Wassap?” Each participant authors his or her own squawkers to say whatever the participant wants them so say. A few lines of code and you are done. The application UI aggregates all the squawkers into a squawk party and the output is a cacophony of unusual noise. One creative participant even managed to squawk with a real audio recording!

To make this feel real, we defined a full release cycle with two development milestones and appropriate development plans. We also wanted the workshop participants to experience the challenges of component-based development and to learn how Team Concert helps you gracefully manage code dependencies. The Squawk application team structure organizes teams by component and the participants are members of two teams, Core and Documentation. Two builds were defined: one for the Core component and an integration build of all the components. In one (very full) day the participants experience a complete development milestone in which they plan, author, test, and document their squawkers. As the milestone nears completion they enter an end game phase and experience a stricter process enforced using the Team Process component.

Here is a screen shot of the team organization with some predefined users. The teams are organized around the application components.

Squawk Team Organization

Here is an image of the Squawker project as seen in the Team Artifacts view. It has working builds, plans, and a set of code streams that map closely to the team structure. Note that the User Interface team has a stream with a dependency on the Core team’s work. In the workshop you learn how to properly deliver changes to APIs through a managed adoption process so that upstream components aren’t left broken which might upset your teammates.

Squawk Team Artifact Navigator

What’s fun is to see the collaboration in action. The workshop participants are all connected to a Jabber-based chat session allowing the participants and instructor to easily chat or share links to Team Concert development artifacts. You can see a plan blossom before your eyes as participants create work items for their squawkers. As code gets delivered you can watch incoming work arriving for acceptance to your development workspace. Everyone immediately sees the results of builds as the notifications arrive.

This approach has worked out very well. The participants immediately become fully engaged in the workshop because they are working together (there is no chance to sleep in the back of the room!). But most importantly, they use Team Concert in the way it was intended and experience best practices that the Jazz development team has learned using Team Concert as their development platform.

This was validated again recently when my Jumpstart colleague Steve Wasleski did a workshop at a Java user’s group in Stuttgart, Germany where about 18 folks from a variety of organizations came together for a day and completed a milestone of application development the Jazz way. The workshop participant feedback was very positive.

Now that we have some proof points like Stuttgart and elsewhere we have improved the material and the Squawk database and published the workshop on Jazz.net for you or your teams to experience. Our hope is the material is rich enough for self-study or to help teams learn together. There is undoubtedly room for improvement and we look forward to your feedback on the forums or contact us directly by creating a work item with category “Workshop”.


Jim D’Anjou
Jazz Jumpstart Team