Behind the Demo: Part 1 – Keep C(a)LM and Link On

Recently, Island Training was challenged to create a live demonstration of an end-to-end DevOps process for the IBM InterConnect 2015 conference where most attendees would be unfamiliar with IBM Rational tools. Showcasing DOORS Next Generation (DNG), Rational Team Concert (RTC), Rational Quality Manager (RQM) and UrbanCode Deploy (uDeploy), the demo had to be FAST—no longer than 10 minutes. And, being Island Training, the demo needed to be interactive, and, it needed an island theme.

This story (in several parts) describes the evolution of that demo and an overview of the features that allowed us to perform the amazing 10-minute sprints. This article (Part 1) shows you how we leverage links between DNG and RTC to quickly create work items. Part 2 will show how we automatically create our deliverable using the RTC REST API. Part 3 features uDeploy and how easy it is to set up and integrate a deployment process.

Birth of a Tiki

After much discussion, we settled on a tiki bar theme. Each person attending the demo would use DNG to create a requirement for a tropical beverage, then follow that Drink Order requirement through the process, ultimately becoming a drink ticket at the end of the demo. Our DevOps demo partners at IBM graciously offered to provide the tropical beverages.

Great idea—but what’s going on behind the grass curtain?

DNG: Using a simple template, each attendee enters their name to create their Drink Order requirement.

RTC: From DNG we create work items in RTC. These stories link to the original requirement, carrying the name the attendee entered. We prioritize the stories that represent names, and assign them to the current sprint. (We would perform multiple sprints per presentation.) We create a text file containing all the names as a deliverable in the current sprint. We put the deliverable in RTC source control, and use that deliverable as the basis for a build.

uDeploy: Once the build succeeds, we use uDeploy to update a web page with the names in the text file, and use the same text file to automate printing of a personalized drink ticket for each attendee.

RQM: Due to time constraints, we omit testing. We assume that attendees will test their own beverages.


Our premise is set. But can we do it in 10 minutes?

Keeping C(a)LM

We need a simple Drink Order requirement template in DNG. We first looked at what data we need to capture in either the description of the requirement or in an attribute. For the sake of simplicity (and to keep the demo short), we decided to capture only the attendee name, and that name would be the Name or Title of the Drink Order requirement. Below is our very simple DNG Drink Order requirement.


With requirement in hand, we take advantage of the link between DNG and RTC to easily and efficiently create work items in RTC. By placing the requirements in a Release Collection and linking that collection to a Release Backlog plan in RTC, we use the links to create individual work items (stories) from the individual requirements inside the collection.

To use this feature, we display the Release Backlog plan, and click the Links tab to see the referenced Release Collection. We hover over that Release Collection and click on its Action menu. The Release 1 Backlog plan is below.


From the Action menu we select Create Work Items from Requirements.

A popup appears that loads the requirements inside the collection. We click on Add all and make sure to check Hide requirements that are already implemented by a work item. This popup is shown below.


In a second popup that appears, we select the attributes for the work items we want to create. After selecting, we click Apply to All to begin the creation process. This second popup is shown below.


After the process completes, we have one RTC work item for each Drink Order requirement in DNG, and each pair is linked.

In Part 2, we’ll use the REST API to generate our deliverable text file. Part 3 will detail how we use build management in RTC and UrbanCode Deploy to take our deliverable and finish our demo in 10 minutes.


About the author

Robert Wen

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

© Island Training Solutions, Inc. All Rights Reserved. Please see our trademark information.

All information on this website is published in good faith and for general information purposes only. The Island Training Blog does not represent or endorse the accuracy or reliability of any information or content contained on, distributed through, or linked, downloaded or accessed from any of the services contained on this website, nor the quality of any products, information or any other material displayed, purchased, or obtained by you as a result of any information or offer on this website or in connection with the services herein.You hereby acknowledge that any reliance upon any information contained herein shall be at your sole risk. The Island Training Blog reserves the right, in its sole discretion and without any obligation, to make improvements to, or correct any error or omissions in any portion of the blog.Unless otherwise indicated, Island Training Solutions, Inc. is the legal owner of all material on The Island Training Blog. No material appearing on The Island Training Blog may be reprinted, reproduced or published without prior written consent from Island Training Solutions, Inc.THE MATERIALS ON THE ISLAND TRAINING BLOG ARE PROVIDED ON AN “AS IS” BASIS, AND THE ISLAND TRAINING BLOG EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, WITHOUT LIMITATION OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, WITH RESPECT TO THE SERVICE OR ANY MATERIALS AND PRODUCTS. IN NO EVENT SHALL THE ISLAND TRAINING BLOG BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, PUNITIVE, OR CONSEQUENTIAL DAMAGES OF ANY KIND WHATSOEVER WITH RESPECT TO THE SERVICE, THE MATERIALS, AND THE PRODUCTS.