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?
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.