Friday, 5 February 2016

CLM 6.0.2 M2 Jazz Reporting Service and DOORS 9

I'm really excited about incoming release of CLM 6.0.2. and this post tells you why;

If you didn't look at it yet you might see following announcement from CLM 6.0.2 M2 Jazz Reporting Service New & Noteworthy:

"Getting report data from Rational DOORS (in technical preview)

DCC can now pull data from Rational DOORS by using the new resource group type named Rational DOORS. In Report Builder you can see DOORS requirements by using a the DOORS Database project area. This new functionality is currently in technical preview because it needs further refinement and validation. "
CLM 6.0.2 M2 announcement



Please mind it is a Technical Preview so it is not yet supported and should not be taken into account when making any financial decisions.

Data Collection Component Configuration

Once you installed and configured CLM 6.0.2 M2 navigate to https://yourserver:9443/dcc/web and select Resource Group Configuration.

There is a new DOORS resource group in M2:
Data Collection Configuration
Data Collection Configuration

Once you hit Add button you can provide your DOORS Web Access link, username and password:
DOORS Resource Group in DCC

URL (PublicUriRoot) should be a of the form: https://yourDWAserver:8443/dwa-rrtranslator/  (assuming your DWA port is 8443). 

Verify your connection before saving. If there will be a NullPointerException shown during test, make sure you provide Version field ;)

Run all the DCC jobs and you should be ready to start generating reports with DOORS data!
Just make sure your IBM DOORS has configured Working Sets.

Jazz Report Builder

The Report Builder is accessible from CLM menu.
CLM menu
CLM Menu -> Reports

When you open it you will see layout similar to Bluemix.
Blumix like layout of Report Builder
Blumix like layout of Report Builder

Go to Data Sources and select "Rational Data Warehouse"
Data Sources configuration in JRS

Refresh Data Source, so the new metadata is loaded
Data source configuration

And now you can simply start generating reports!
Narrow scope of Data
Limit Data scope to DOORS

Save and run
Simple report
Really quick report

Conclusions

With CLM 6.0.2 M2 generating reports from DOORS 9 data is extremely easy!
You do not need to configure hundreds of options, and it works out of the box...

Note:

If you need proper documentation have a look at Collecting data with the Data Collection Component in IBM Knowledge Center.


Thursday, 4 February 2016

2016 and beyond

It was a long time since I last posted something interesting.
But do not worry! The cool stuff with DOORS 9 is still coming. First proper post for 2016 is almost ready.

In reviewing where I want to go with this blog I spoke to my manager. 

As IBM continues its transition into Cognitive Analytics and IoT I will be challenged to move with it. Although my intention is still to share and discuss interesting and useful walk-troughs of IoT integrated with DOORS 9, I will attempt to post updates on my learning into Watson and any other interesting area.
 

keep calm and carry on reinventing
(generated at http://www.keepcalmandcarryon.com/)


Wednesday, 23 December 2015

Do not give your manager a DOORS DXL Reference Manual

After reading my last post my manager came back to me with a DXL he wrote in one and a half days.

"Here is my DXL utility which can be used to perform requirements analysis on a module:" (source)


Requirements Analyzer tool UI

His selection was taken from various white-papers on the subject matter - such as that one from NASA - Automated Analysis of Requirement Specifications.

This tool creates a view in the module for each theme. It creates a compound "or" for all the keywords against either Object Text or all attributes.

Additionally only users will "manage database" can edit the themes.

You can see this UI in action in this video:


Well that's pretty cool!

Sure there is place for improvements, and it's not bullet proof, but that's not the point. Imagine what a Requirement Engineer could do in DOORS 9 if given a bit more time...

Maybe something similar to the use case I mentioned in my last post: use Watson Natural Language Classifier Service from Bluemix.

The story!

Once you have your requirements filtered you can have a list of rules your device must implement.
If you continue watching above video you will see how I created a rule from a very quick UI I wrote in DXL (source).

UI for Rule Creation in IoT Real-Time Insights

Code short and simple but shows you how to get schema information so you can:
  • view condition items
  • assign rule to schema 
If rule is successfully created its ID is stored in ruleId string attribute.

Of course, instead of extra attribute with value it could store an external link to:
https://iotrti-prod.mam.ibmserviceengage.com/api/v2/rule/{ruleId}

It would support 'follow' action, but user name and password which are apiKey and apiToken from VCAPS are not easy to remember ;)

As a exercise you can extend this example to enable action selection. In this way you will create a complete rule with action which can trigger alerts.

Traceability is Power

If you are working with DOORS 9 I'm pretty sure you are familiar with concept of Suspect links and changed objects

OOTB DOORS 9 let's you check information about in-links or out-links to open modules or to all modules.

Well that's great but with OSLC links, or even without links (if you select to stay with extra attribute in last chapter)?

With DXL you can easily do it, just retrieve your rule from IoT RTI and compare to what you have. See the last part of the video to see it working.

Suspect Linked Rule

As promised sources for

Conclusion

If you do not like challenges do not give your DXL Reference Manual to your Manager, he might come back with some great ideas!

Friday, 18 December 2015

2015 Blog Summary


It would be too easy to dismiss previous posts on "DOORS 9 and IoT" as disposable fun with no real value.

Yes they are bite size examples - deliberately so when you think about it - but at the high level they set out to prove a number of very serious points.

Those points are:


  1. There are no barriers preventing you from using DOORS 9 with BlueMix and IoT services today.
  2. There is no requirement for complicated, over-engineered solutions or add-ons. Forget that. You already have the most important piece - DOORS 9 itself.
  3. You can jump right in and immediately start to explore and take advantage of these new and exciting technologies.

So we thought it would be helpful if we took a step back and tried things from a different angle.

This time the aim is to walk through an end-to-end scenario. In doing so we hope to demonstrate how best practice RM in DOORS 9 can be used alongside IoT to sustain ongoing efficiency, improvement and success.


Scenario for a Story

Consider a company that makes a device.

Now it isn't particularly important what this device does: it could be large or small, shiny or matte, there may be one of them or there may be thousands, it could sit in your home or it could move around on water, roads or the air.

However one thing for sure is that it is complicated, takes time to build and involves both hardware and software.

Now the company feels very strongly about this device. It is the market leader. It makes them money. Of course they are going to be emotional about it.

The company isn't stupid either. They realise that over time this device will need to change in order to continue market dominance.

Change may come for any number of reasons such as simple aesthetics, available of new materials or increased regulation.

Change may also occur because life has a frustrating habit of throwing up problems.

In other words the company's device is built to exacting standards but it can still fail.

To help deal with this failure the device includes sensing, monitoring and communication capabilities. In real-time there is a continual flow of information back to the company and naturally the company wants to act fast in diagnosing and fixing any problem.

This historical data can also be used when considering a new variant of the device. The company wants to identify small changes that can be made incrementally and hopefully at low cost.

Phew... that took a while to set the scene. Might have been better to use a GIF to present a "Star Wars" crawl, or a Mad Men sales pitch.

So let's gets back to DOORS and IoT.


How DOORS 9 fits into this story?


We may have already mentioned this but the company isn't stupid and this means their requirements are written and managed in DOORS 9, so let's start there...

There has been a lot of work over the years into what makes a good requirement.

For example if you google "nasa requirement quality analysis" you will find excellent whitepapers on natural language processing. See Automated Analysis of Requirement Specifications by Wilson, Rosenberg and Hyatt.

This essentially boils down to scaffolding the requirements process with tools that maximise the conciseness, consistency and overall quality of the statements used to describe what a thing should do.

There are more involved utilities available, but using DXL it is a relatively straight-forward exercise to parse your module looking for keywords and/or symbols. A filter can be applied to focus the attention on those that are ambiguous or likely to cause confusion.

You could even consider using a service such as Watson Natural Language Classifier.

On November 1st I've shown how to use DXL HttpRequest to connect to Clouding, so one shall know how to use it with DXL, no matter layout, attribute or utility.
So what's stopping our fictional company from feeding Watson NLC with their DOORS 9 data using DXL or NodeJS and OSLC with aid of a very first example I presented? With HttpRequest this company could use Watson NLC to classify requirements as according to:

  • imperatives
  • continuances
  • directives
  • weak phrases
  • options


With this said there is no reason why the same utilities cannot be used to identify requirements that are essentially "rules" in their own right. This act alone helps system engineers focus the attention on the rules that will need added to Workbench or Real Time Insights.

In terms of our device this means that it would have a thing dedicated to capturing and reporting a specific behaviour or variable.

When RTI detects that a boundary condition is breached an alert is made.

The rule in RTI that controls this behaviour should be able to be extracted from a good requirement.

XXX must not exceed a maximum of YYY units.
So not only can we use DOORS 9 to increase the confidence in our requirements – but we can then use those requirements as a basis for development of things and the subsequent reporting capabilities.

Did I forget to mention DOORS 9 can easily create a rule (or action, alert, whatever you need and the API lets) in Real Time Insights or IoT Workbench (currently an experimental service)?
Well, you know the drill use your DXL HttpRequest to POST some data to a URL.
URL you found in this blog, in a post not only telling you how it fits into IoT World but also telling you where is the IoT Real Time Insights HTTP(S) API documentation, good luck finding that with any search engine (well apart from link to this post).


A thing in the wild


So the requirements are filtered and rules identified, implemented and introduced via things in the real world. Sooner or later something bad happens.

A message is sent to RTI from the thing.

We can easily report on this information from DOORS 9 - and contextualise it in terms of the requirements that perhaps could be a problem. Requirements are linked through to design, test case and source code - so impact analysis of change can be investigated and more importantly executed.

The Layout DXL columns posted earlier show this particular scenario playing out in DOORS 9.

Closing the lifecycle circle


But remember there was another use case.

The company feels it is time to consider a new variant of the product but they want to ensure maximum benefit from minimum change.

We’ve seen how errors can be handled but what about other intangibles. This is where IoT can really begin to drive benefit from the unstructured data.

What if the device was a car that was intended to get mpg at mph. Accelerate to mph in ss.

What if it never achieved that? The information to hand allows you to cross-check weight of passengers, softness of brakes, engine performance to determine areas of weakness.

Is this climate based – were environment factors to blame? Is the car configured wrongly OOTB for the geographical area?


Conclusions

Hopefully my 2015 posts will have raised your awareness and interest in IoT.

It represents fantastic levels of potential and my aim was show that in a few relatively small steps you can begin to unlock that potential now.

At this moment you have everything to need in order to take advantage of DOORS 9 and the GB/TB of data it sits on top of.

Any further advice I could give is best summed up by IBM Fellow John Cohn when he stresses "The importance of play":