September 2007

Monthly Archive

More on Traceability in Requirements Management

Posted by georgemc on 28 Sep 2007 | Tagged as: graphics, Perspector, hierarchy, PowerPoint, business, 3D, requirements, presentations, traceability

(October 12) I’ve just done what I think is an improved version of this post here.

Requirements Traceability

Further to my first post on this topic, I’ve been working on making things a bit less abstract, the end result being the above diagram, which I explain at length below so don’t worry about it yet. If you are not well versed in the concepts of requirements management, you may have very little intuition as to what User Requirement (UR) or Acceptance Test Plan (ATP) documents are, along with the SRs, STPs, STs, SSRs and the rest which featured in my 3D diagram of last time.

In a few weeks I shall be presenting at the PowerPoint Live User Conference in New Orleans. The subject I am speaking about is how applying principles from requirements management (RM) can help us build better presentations. Since the audience already understands a lot about presentations, I thought I’d illustrate RM by applying its formal information model to the construction of the presentation that they will be watching me give. Here’s a sneak preview, beginning with:

 UR

My UR above contains just an illustrative sample of 4 user requirements; my real talk covers 10 principles of requirements management and I have more additional objectives than just entertaining the audience. The first thing to note about user requirements is that they should try not to mention solutions (like using slides) - they should contain only things you want to achieve - in this case the communication of some ideas I think are useful to share with the audience, together with a more general goal which experience teaches should not be ignored at this stage!

ATP

A requirement that can’t be tested is not a proper requirement. So anytime you write or contribute to a user requirement, you should think about how it is going to be tested. And before getting directly into tests, you should do a bit of test planning; the ATP is a high level description of what the tests should achieve. So here I decided that I am going to test the audience’s learning of the principles by an examination. ATP:33 is going to help us qualify that the audience was actually entertained by measuring something that may be an indicator of that.

AT

In the acceptance tests we specify tests which will be performed to qualify the acceptance test plan. Here we just show tests for qualifying the audience’s learning of two of the two RM principles mentioned in the ATP. In real systems development, one would not ask such blatantly leading questions! 

SR

Now we think about the system which we will build to satisfy the user requirements. And for the UR presented above we make the decision that a slide show will be fit for purpose, and again, I just pick a sample of 4 slides from the much bigger presentation. For this slightly contrived exercise, I’ve decided to use the finished slides themselves to represent their corresponding system requirements. A more realistic system requirement for a presentation would be something like “There shall be a depiction of a bored audience”.

STP

So even when we just have a rough idea of a slide, we should still consider how we will judge that the slide does its job. So we should write down what the slide is meant to represent and what impact we expect it to have on the audience.

System Tests

Our last document is the system tests, where we specify how to test the system test requirements in the STP. So now we can show what traceability is by linking the requirements, test requirements and tests together:

Requirements Traceability

Now you can’t read the words but you can always refer back to the original documents, here are some of the things that are going on:

  • ST:1, which asks a test audience whether the given image is a good representation of the desired concept in the linked test requirement is applied to STP:2 and STP:3. STP:2 is linked to the slide of a drill, STP:3 is linked to the slide with the hammer and nail.
  • ST:2 is linked to STP:4 which in turn is linked to the slide of a “bored audience”. This and the previously mentioned links have all been “qualification” links, which go from right to left within the same level of abstraction.
  • The “bored audience” slide has a “satisfaction” link up to UR:55, contributing to the overall entertainment of the audience (we expect that it will take more than one slide which raised some smiles to entertain the audience).
  • It takes 3 slides in the SR to satisfy UR:2.
  • I’ve not shown all links, e.g. ATP:33 has no acceptance test and is not yet linked to UR:55. In requirements management you know you still have work to do when there are missing links.
  • One thing more experienced RMers might be worrying about is the fact that I reuse the same test twice, ST:1 is applied to both STP:2 and STP:3. The idea here is that the test “text” of ST:1 can be reused as many times as we like, but we’ll have to keep separate instances of any test results; I’ll need to explain that in its own article.

Main take away this time - requirements traceability boils down to the following: you need to have a user requirement for every goal you want to achieve. You need to show that each of those requirements is qualified (i.e. that we can demonstrate that the goal is achieved) and you need to show that something in the sub-system below you satisfies every requirement (e.g. you have built a set of slides which can communicate ideas and make some of us smile some of the time). Finally you reach a concrete/physical layer of abstraction (e.g. a real slide) which does not need any additional level of sub-system to implement it.

Brain of Britain is less worthy of esteem

Posted by georgemc on 13 Sep 2007 | Tagged as: radio4

I’ve long been a listener to BBC radio4, and a firm favourite over the years has been the Brain of Britain quiz program. So it was with great sadness that I endured repugnant changes to its traditional format in the first contest of the 2007 series. I heap scorn on the BBC executives responsible for these shameful breakages.

What did they do to incur my wrath?

  • Peter Snow is asking the questions
  • no ”Jorkins” (Kevin Ashman)
  • a discordant reduction in formality (no use of titles such as Mr.)

I enjoy listening to Peter Snow in the right context, but this is not it. Nor am I saying the program can’t exist without Robert Robinson, since Russell Davies did a grand continuity job in 2004 by maintaining the key elements of polite authority, wit and erudition (which must be the key requirements for hiring a BoB quiz master).

Only by surfing beyond the dismal BBC BoB site did I discover some clues as to what is happening. The Times report that the lack of “Jorkins” and the 27 years serving producer Richard Edis is due to BBC cost cutting. I’d vote for no cuts in radio (I pay a BBC TV license fee and very rarely watch their TV shows).

 Sigh.

A 3D View of Traceability in Requirements Management

Posted by georgemc on 13 Sep 2007 | Tagged as: graphics, Perspector, hierarchy, PowerPoint, business, 3D, requirements, presentations

I plan to write some posts delving into important aspects of Requirements Management, with the added twist that I shall be using the 3D graphics tool Perspector to illustrate the concepts involved. I do this because I have 13 years experience working in the requirements management (RM) industry, and one of the reasons I wanted to see a tool like Perspector being created was that I had great difficulty trying to illustrate some of the concepts used in RM just using 2D diagrams. Now with the help of Perspector, I can draw the diagrams I used to have trapped in my head.

This first installment takes a look at requirements traceability.

The wikipedia article just cited is a very reasonable summary, but it lacks a picture of an example information architecture employing traceability; here is one:

traceability matrix

above we show three levels of problem/solution decomposition. The first level is used to manage the “problem” and contains the User Requirements (UR), Acceptance Test Plan (ATP) and Acceptance Tests (AT). We call this “Level 0″ and use “0″ super-scripts in the labeled circles which represent requirements (r), test requirements (tr) and tests (t). Within a level we have arrows representing traceability links between the requirements and the test requirements (e.g. r1 is traced to by tr1 in level 0), and between tests and their test requirements (e.g. tr1 is traced to from t2 in level 0). We call this ”horizontal” traceability relationship “Qualification”. Essentially a requirement should be “qualified” by a test requirement which specifies how we will know that the requirement has been met. These test requirements in turn need to be qualified by tests which when executed contribute to the measurement of  the qualification so far achieved.

The next level down, numbered 1, is the start of the solution, where we begin with the system requirements, which will specify the system which will be built to satisfy the user requirements. Which brings us to the next type of traceability relationship, which is “Satisfies” and runs vertically between levels. In our example user requirement r2 at level 0 is ”Satisfied” by the level 1 requirements r2 and r3. Just like the layer above, the system level has the horizontal “Qualification” traceability relationship happening between the System Requirements (SR), the System Test Plan (STP) and the System Tests (ST).

We only show one further level of requirements decomposition, but there may be more depending on the complexity of the system being developed, here we stop at the “Sub-System” level, numbered 2, where we have Sub-System Requirements (SSR), a Sub-System Test Plan (SSTP), and Sub-System Tests (SST).  The point is that additional layers can be added as necessary, by simply repeating the same pattern as established between the first two layers.

You are doing well as an engineering concern if you even manage to use parts of just level 0 and/or level 1; however, mature systems engineering organizations have been known to fully deploy 7 or more layers.

Caveat - this is just an introductory short article, and so I have had to lie by omission - there is a lot more that can happen and needs to be said (e.g. multiple sub-systems in the same layer, and one reason I used “Qualification” was to side step a lack of agreement in the industry as to the meaning of “Verification” and “Validation”). But I hope to return to this and related topics.

Puddledub Pork

Posted by georgemc on 02 Sep 2007 | Tagged as: food and drink

another post celebrating local food producers. We had a family birthday party/clan gathering today so I went to the farmer’s market yesterday to take pot luck on what I could find. What I found was a very promising looking 3.5Kg joint of gammon from Puddledub Pork, which I prepared using a method found in a Clarissa Dickson-Wright book, which is the standard soak, simmer and roast deal, but does the simmering stage in cider. I used a maple syrup glaze for the roasting stage. The meat had a fantastic flavour and texture - so thanks to Puddledub and Clarissa. Highly recommended.