Mike MacDonagh's Blog

Somewhere in the overlap between software development, process improvement and psychology

Tag Archives: practice

First Look: CLM 2011 RTC + RRC + RQM 3.0.1 review and screenshots

What is it?

CLM 2011 is a suite of tools making up IBM Rational Team Concert, Rational Requirements Composer and Rational Quality Manager properly integrated for what is arguably the first time. In my opinion this release is the closest to my interpretation of the original Jazz vision that IBM have delivered yet. It’s not perfect but I like the direction it’s heading in.

It’s taken me a while to write this, mainly because I’ve been very busy but also because it seemed to take some deep magic to get all of this stuff installed and running properly. But I’ve done it a couple of times now so I thought I’d post some screenshots and comments. Of course if you look back on my posts of the original RTC review you’ll see that life is harder these days already. With RTC 1 and 2 you could just download a zip, extract, run a script and you were off and away. Installation isn’t too bad… it’s not great and simple but this is a big complex suite of tools so I don’t really expect it to be trivial.

Lifecycle Project Administration

To start with, the management of projects across these separate tools has been significantly improved by the introduction of Lifecycle Project Administration which allows you to create an integrated cross tool project in one step and simply manage members and roles across them. This is a big step forward although there are still some problems in that it’s not easy to do these kind of things at scale. For example if I want to add 3 people with a set of roles to 40 projects I’m going to be doing a lot of manual clicking. In fact generally it’s not so easy to deal with project areas at scale in the Jazz toolset and that hasn’t significantly improved yet although Lifecycle Project Administraton is an important step in that direction.

Creating a new Lifecycle Project

Creating a new Lifecycle Project

A Lifecycle Project

A Lifecycle Project

Editing roles accross tool project areas

Editing roles accross tool project areas

I’m not a big fan of the navigation between project areas (linked or unlinked) as the user needs to understand the architectural relationship between personal dashboards, Change and Configuration Management (which has the RTC bits like plans, work items, source control, builds etc.), Quality Management (which has the RQM bits like test plans, cases, scripts etc.) and Requirements Management (which has the RRC bits like diagrams, UI sketches, docs, requirements etc.) to navigate the stuff in their single project. I think it’s a mistake to build the UI navigation around the architecture, I would prefer to see a unified project interface and navigation structure with the extra products adding to the project mass like aspects on a foundation. As before this becomes even more of an issue when you scale up to hundreds of projects. Incidentally, aspect orientation is how we apply practices to process kernels while still providing a seamless user experience of composed practices.

Cross (linked) project navigation

Cross (linked) project navigation

So although the three products are closer together than ever before, sharing a UI and a common architecture they still are separate products and that’s clear in terms of navigation, UI differences  and linking items between them. This is a shame for many reasons but one of the most important is that it’s still providing niche tools for separate roles, building walls between people in development teams and making cross-functional teams harder to create as individuals have to learn specific skills. These differences are not a strength, they make the whole game of software development harder.

To be fair though I’m yearning for an ideal perfect solution, CLM 2011 isn’t that idealised perfect solution but it’s a lot closer to it than anything else I’ve used!

Let’s start with IBM Rational Requirements Composer

RRC 3.0.1 is a totally different beast than RRC 1 (see my original 2008 review here) and shouldn’t be thought of in the same light as RRC1. The old version was eclipse only, badly integrated, dependent on IE and full of bugs – this version is entirely web based, deeply integrated into the Jazz platform and not dependent on IE! As for bugs, I don’t know yet but it’s actually usable which v1 wasn’t!

What it does:

  • Tracks requirements of different types with different attributes and links
  • Web based diagram editing (via browser plugin for FireFox or MSIE ), although someone used Microsoft CAB technology inside the FireFox xpi so don’t expect to do any diagram editing from linux or a mac 😦
  • Ability to produce use case diagrams, UI prototypes, UI storyboards

For me this is the first time RRC has lived up to some of my early hopes for it. I see this as a replacement for ReqPro, and indeed a replacement for DOORS in time.

Creating Requirements Artifacts

Creating Requirements Artifacts

Linking a requirement to a new implementation story

Linking a requirement to a new implementation story

Unfortunately I only use linux at home so I couldn’t take screenshots of the RRC web editor, even in a virtual machine running windows on an explicitly supported browser I can’t get the plugin to work. When I’ve used it my office environment I’ve really quite liked it though, although it’s got quite a lot of basic usability problems. I’m looking forward to when it’s more mature.

There is also a dependency/traceability tree viewer but that’s a separate download at the moment.

Next Implement something in IBM Rational Team Concert

RTC hasn’t changed that much from a user perspective, it’s still a great tool for tracking work items, making atomic multi-file change sets in parallel with continuous integration and build management. I’ve been using RTC in anger for 3 years now and still like it and think it can help drive agile benefits in development teams. Granted it’s got some issues like any tool, enterprise scalability issues and annoyances the biggest of which is the lack of cross-project queries which is practically unforgivable from my perspective. See this work item on jazz.net and demand cross-project queries from IBM!

With that said, working in Eclipse from workitems, fully using Jazz SCM and continuous build is awesome.

Edit a work item in RTC

Edit a work item in RTC

Sprint plan in RTC

Sprint Plan in RTC

Making code changes in RTC Eclipse

Making code changes in RTC Eclipse

Looking at build results in Eclipse

Looking at build results in Eclipse

Looking at Build results in the web

Looking at Build results in the web

Then Test via IBM Rational Quality Manager

I’ll admit it, I’m not a cross-functional ideal. I’m a typical developer, I’m not a tester, nor am I a test manager so I’ll leave the finer points of testing theory to others. However I do have some things to say about RQM from a cohesive logical process perspective.

In this example I’ve created a Test Case based on the pizza requirement I entered in RRC (in exactly the same way that I created the implementation story). At this point frankly I’m a little disappointed because my Test Case has been created and is linked to the requirement (good) but it has no knowledge of the implementation story that I also created from RRC.

Test Case in RQM

Test Case in RQM

Test Case link back to requirement

Test Case link back to requirement

No pre-existing link to development items

No pre-existing link to development items

The Missing Link

For me this is the missing link. I realise it’s not as a simple as their always being a related triangle of 1-1 associations between these different types of artifacts, but the link between the test and the development items should at least be suggested as the odds are fairly strong that if a requirement is developed by an bit of code the test for the requirement is likely to need to test the aforementioned bit of code. Obviously I can manually create this link but that’s not the point.

In fact this is symptomatic of the fact that these CLM tools are still separate and then integrated. There is a separation between requirements in RRC, development plan items and tasks in RTC and test plan items and tests in RQM. I have to create work items /artifacts  in each tool to represent these different things and link them all together. Which is not really what I want to do.

I don’t want to spend a lot of my time creating at least 2 items for every requirement in my product (1 dev story+tasks and 1 test case+scripts).

What I want to do is elaborate a set of requirements in a simplistic user friendly UI with nice diagrams (RRC can do this) then view that candidate backlog immediately in my planning tool and further refine it – not copy it (even in bulk) to RTC but to actually manipulate the same work items, albeit a different aspect of them, in RTC. I want testing to be an inherent part of development with quality management and assurance being just another aspect of the system. Every requirement should have quality dimensions and be a test case although I might want to add more of course.

I want to have requirements with dev tasks and tests hanging off them.

Basically I want to define something that needs to be done, plan it, do it and test it all as one high level thing. I might drop off loads of tasks, different types of tests, supporting sketches etc. but I want a holistic understanding of a development item with the ability to project different views to different types of stakeholders (customer requirements views, test professional views, management views, development views).

Some conclusions

CLM2011 is a serious step in the right direction from IBM. In my opinion Jazz always has been but it’s been suffering from too many silly little problems and a lack of meaningful deep integration (ironic considering the original mission). If I had a magic wand I would do the following feats of greatness to the Jazz platform which I believe are all necessary to turn what is a good suite of tools into a true killer software development environment.

  • all jazz tools to apply new aspects to projects rather than creating seperate project areas which then need linking and administration via LPA
  • all artifacts and workitems to be viewable as native items in any tool interface
  • all artifacts and workitems created by all three tools (and other future ones) be instantiated and linked with truly consistent UI, all taggable and commentable
  • all artifacts, scm/build elements and work items queryable via a single query engine (across linked and un-linked project areas)
  • the ability to self serve projects (without granting massive impractical rights), finer grained security and permissions control
  • parent-child change sets
  • smoother flow of work items between tool aspects rather than creating new ones with links between them
  • make RRC diagram editing work on linux – things that only work on Windows are not enterprise deployable, and if they’re browser based and only work on windows someone needs shouting at. Even a much maligned school boy shouldn’t be making this error
  • a decent reporting solution and technology

Finally , being able to capture and elaborate requirements, plan iteratively, develop code, continuously integrate with unit tests, system test and manage test plans (amongst other things!) in what feels close to a single tool is extremely powerful. If only navigation wasn’t architecturally focused this strength would be much stronger and be a killer feature for IBM and Jazz.

If they sort out cross-project querying.

Advertisements

Microsoft VSTS, Camano and UML

I recently had the pleasure of going to visit the Microsoft Technology Centre to learn about all things MS for software engineering. Having long been a Visual Studio user and a VSTS (Visual Studio Team System) user since it turned up I was really pleased to see VSTS 2008 and some interesting stuff coming in 2010.

VSTS seems to be really maturing and now has a nive new non-sharepoint web UI. It will be interesting to see what happens in terms of Microsoft VSTS vs. IBM Jazz. I’ve written about Jazz before on this blog and haven’t gotten around to a detailed comparison yet but I was excited to see how mature VSTS is now looking and how nice it is to use. It’s designed to make developing easier and use the tools people already have in many cases. For example, using MS Project, Excel, Word, SharePoint etc.

Things of special note were the automated testing support (including coming soon recording and playback of GUIs other than web), the upcoming cool manual test runner, Camano for test management and test execution by proper testers not just developers doing unit tests etc. etc. Also checking out the project + project server for portfolio and project management views was interesting.

What I really really liked are the VSTS 2010 architecture tools. Microsoft has seen the light and embraced UML + DSLs (or DSLs + UML if you prefer) as the pragmatic modelling solution. I really like the idea of being able to do just enough  modelling, using the most appropriate language such as a high level architecture diagram that then imposes constraints on the code through things like check in policies!

I think this stuff is going to be really powerful and I can’t wait to get my hands on it properly (and somehow conjure the time from somewhere) to do some detailed analysis and also a comparison against competing products/toolsets.

Of course if you are using Visual Studio (or Eclipse) you can still use EssWork to use practices and processes directly inside your IDE

EssWork in Visual Studio

EssWork in Visual Studio

When can you get the Jazz based Rational Tools?

I’ve seen some comments about the fact that at the RSDC2008 Rational announced 22 products. I think many bloggers and article writers may have got a little confused by all the hype. Rational certainly made some very important product announcements and the Rational Labs in the exhibition centre were fantastic in terms of showing us some previews of what’s coming in the future. These announcements and lab previous are the primary reason why I said it was the best RSDC in years. However there weren’t 22 new products announced! It breaks down like this in terms of what the analysts have been writing/bloggin:

IBM Rational announced pricing and availability for a swath of 22 products:

  • There are 6 new IBM Rational products that are native Jazz products (6)
  • Updates to five existing Rational tools that add Jazz enablement/capabilities (5)
  • plans for certified add-in products from 11 Rational partners (11)

6+5+11 = 22

Personally I’ve struggled to put these numbers in context. I think I’m fairly aware of the new Rational stuff that’s coming along but I can’t quite get the numbers to add up, so the rest of this post is about what I’m aware of, please comment if you have any more/contrary information: (Edit: see the comments on this post for a clarification on the numbers from IBM)

New Jazz based tools:

  1. IBM Rational Team Concert (may not count as it’s been announced for 2 years)
  2. IBM Rational Quality Manager
  3. IBM Rational Requirements Composer
  4. IBM Rational Financier
  5. IBM Rational Governor
  6. IBM Rational Tempo
  7. IBM Rational Ensemble (not to be confused with the IBM Rational Ensemble that is a business partner collective!)
  8. IBM Rational Enterprise Reporting
  9. IBM Rational Project Management

I’m counting 9 not 6

As for the 5 updated, these will be ClearQuest, ClearCase, ReqPro, RPM (arguably) and…? I’m not sure where AppScan fits in with this stuff. It’s great tool and will clearly integrate with Rational Quality Manager but I don’t know where it fits in with the 22? announcements. Similar questions can be asked about the Telelogic tools.

Anyway here’s what I’m tracking in terms of the new IBM Rational Jazz tools:

Rational Team Concert

Release Candidate 4(Jazz.net registration required) is currently available for downloading, the production release is sceduled for mid 2008 with the enterprise release scheduled for October 2008 (that’s the one I’d use for piloting)

Also

IBM Rational are running a number of open betas for some of the new tools that were announced at last weeks RSDC. They’re not generally available yet but will be soon. Specifically:

Rational Quality Manager

This open beta program includes two new Rational products and three enhanced versions of Rational products that you already know:

  • NEW* IBM® Rational® Quality Manager v8.0
  • NEW* IBM® Rational® Test Lab Manager v8.0 Extension**
    **This extension is included in Rational Quality Manager for the open beta but will be available under separate license for GA.
  • ENHANCED* IBM® Rational® Performance Tester v8.0
  • ENHANCED* IBM® Rational® Functional Tester v8.0
  • ENHANCED* IBM® Rational® Service Tester for SOA Quality v8.0

Open Beta pre-registration – get emailed when the open beta gets released on (currently) June 24th 2008

There will also be some open web demos on June 24th so you can get an overview without pre-registering for the beta if you wish.

Rational Requirements Composer

This Beta features the latest version of Rational RequisitePro for managing your requirements, as well as a new offering, Rational Requirements Composer, enhancing your abilities to elicit and define requirements for business driven-development.

NEW* IBM Rational Requirements Composer Beta focuses on the following capabilities for requirements definition and management:

  • Leverage multiple sources for requirements and organize them in rich documents for context
    • Create requirements and link to supporting documents and external sources
    • Supplement textual content with embedded views of diagrams and sketches
  • Develop robust use cases
    • Create simple, informative use-case diagrams
    • Elaborate use cases with rich document descriptions, user interfaces sketches, storyboards, and activity flows
  • Build comprehensive business glossaries
    • Interact with rich documents to define and share new terms
    • Link to and verify the usage of existing terms
  • Sketch business processes
    • Sketch business processes using a widely recognizable and easily understandable subset of the BPMN notation
    • Link business tasks and decision points to use cases, user interface sketches, and requirements
  • Visualize results with user interface sketches and storyboards
    • Elaborate the user experience to further elicit and validate requirements
    • Refactor sketches into reusable parts to quickly build storyboards
    • Easily maintain storyboards as sketch changes are propagated throughout
    • Link requirements to any user interface part
  • Collaborate in context to validate and clarify requirements
    • Attach comments to virtually any textual or graphical element
    • Maintain comment threads for conversational context
    • Create requirements from comment content
    • Host reviews within the collaborative environment to facilitate requirements validation and approval
  • Integrate Rational Requirements Composer Beta and Rational RequisitePro v7.1 Beta
    • RequisitePro integrations provide requirements traceability across the application lifecycle
    • Enhance requirements content to overcome perception, communication, and information gaps across functions, organizations, and geographies.

ENHANCED* Rational RequisitePro® v7.1 Beta focuses on the following new and improved capabilities:

  • RequisitePro client for Web enhancements, including:
    • Improved Microsoft® Word integration: create and edit requirements without taking documents offline
    • Additional project administration capability
    • View rich-text requirements content
    • Run and share BIRT-based reports
  • Enhanced security model for enterprise deployments
    • Set permissions on package hierarchies and views
  • New BIRT-based reporting option
    • Report designer for custom report design
    • Sample report templates aid in report design
  • Baseline Manager improvements
    • Explore baseline contents to gain context beyond baseline comparisons

Open Beta pre-registration – get emailed when the open beta gets released (currently) planned for late June/July 2008

Other tools

Some other tools I’m aware of but don’t have any information on dates (some of these are part of the rational labs research and may never make final products):

  • IBM Rational Financier – gives project and program managers insight into the financial value of one ore more projects to help identify and manage risks
  • IBM Rational Governor – helps IT organisations manage project roles and associates decision rights including managing the polices that constrain decisions and promote compliance with processes
  • IBM Rational Tempo – lets project managers understand and mange the variability of schedule overruns, a key source of risk in software development projects
  • IBM Rational Ensemble – reduces risks incurred by communication failures by promoting communication between developers doing related work (see here for info on the business partner group called IBM Rational Ensemble)
  • IBM Rational Enterprise Reporting – a reporting interface that sits across all of the Jazz tools, more than just a jazz version of SoDa this tool can replace a lot of the executive dashboard features of tools like RPM
  • IBM Rational Project Management – a replacement for Microsoft Project???
  • IBM Rational Self Check (see MCIF)

Conclusions

There’s clearly a lot going on in this space and the next few years will be critical in the Rational space as Jazz takes it’s ascendency. It seems obvious to me that the “classic” Rational tools (ReqPro, ClearCase, ClearQuest etc.) will converge with the new Jazz based tools in each area and Rational will provide an upgrade path for each tool so eventually more everyone from the classic tools to the Jazz tools. In my opinion this is a good thing for a number of reasons:

  • Rather than purchases of point products integrated point to point, the Jazz project is an architectural focus on the needs of the industry. I’d argue this is long overdue and extremely valuable.
  • Distributed teams are accepted as the norm not the exception
  • The “classic” tools have needed a facelift for a while
  • And more importantly there is a growing trend from Rational towards Practice based process and tooling, something that my company, and me personally, have been evangelising for a while now. The new Jazz tools, the MCIF, practice based approach to process and embracing of agile principles demonstrate a genuine effort in right direction
%d bloggers like this: