business

Archived Posts from this Category

Gold Plating (as revealed by Requirements Traceability Analysis)

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

Gold Plating is a concept from requirements management which for some strange reason I find amusing. Gold plating is simply the creation of “stuff” which it has not been agreed satisfies any stated need. We might be lucky and the gold plated “stuff” turns out to be useful. On the other hand we may end up seeing an ashtray on a motorbike.

With pleasing symmetry to my last posting about knowing when you are finished, gold plating turns out to be just another report, but at the lower implementation level:

Gold Plating (as revealed by Requirements Traceability Analysis)

with respect to the SR, gold plating in the “slides” is identified by finding any slide which does not have an outgoing satisfaction link and drawing a red box around it, as we have done for the white elephant. This corresponds to the situation where the owner of the SR has outsourced the implementation of the SR as the creation of slides, and is interested in tracking what is happening. The contractor has not yet proposed a satisfaction link for the white elephant, perhaps because they know that any such link would not be agreed meets a stated need in the SR (the SR owner gets to decide whether satisfaction links are good or not).

My postings on RM traceability are informed from my experience of talking to systems engineering consultants and practitioners who know what they are doing on very large systems and budgets, and so I am comfortable that at least some people in the world are happy to invest in a requirements management process where you actually do write down requirements and make links between them and with other life cycle assets. For my next RM posting project, I’m going to think about how to spread the word to those folks who would rather cut their own heads off than write down a requirement, never-mind user, system and test requirements.

Yet More on Requirements Traceability

Posted by georgemc on 12 Oct 2007 | Tagged as: graphics, Perspector, hierarchy, business, 3D, requirements, traceability

Further to my second post on this topic, I’ve been working away at the detail of my example scenario so that it hangs together better.

I am discovering that it takes a lot of work to create even a “toy” requirements traceability example, but I think I am getting close. As I did before, I shall start with the “end result diagram” which you can now click on to get to a more detailed version:

Requirements Traceability

In a couple of 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 one of its formal information models to the construction of the presentation that they will be watching me give. Here’s another, more refined sneak preview, beginning with:

User Requirements

My UR above contains just an illustrative sample of 4 user requirements; my real talk covers 10 principles of requirements management and I can imagine writing down other requirements on the presentation such as that it will be between 45 and 52 minutes long. 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 or constraints imposed by the environment (e.g. I only have one hour in the conference schedule).

Acceptance Test Plan

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 -it contains test requirements not tests. So here I decided that I am going to test the audience’s learning of the principles by an examination. ATP:11 is going to help us qualify that the audience was actually entertained by measuring something that may be an indicator of that.

For URD:15, we have an easier test requirement, ATP:15. We only need to demonstrate that further engagements are requested when that happens.

Acceptance Tests

In the acceptance tests we specify tests which will be performed to qualify the acceptance test plan. Above we just show the test for assessing whether the audience understood the principle about distinguishing problems from solutions. In real systems development, one would not ask such blatantly leading questions!

System Requirements

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 images with commentary (i.e. a slide show) will be fit for purpose. To meet the requirement URD:15, which was about generating spin-off engagements, I’ve decided that one way of doing that will be to make sure that the audience is entertained, and one way of doing that is to employ humor in the slides and commentary. So even if the audience don’t understand what is being said or shown, if they have had a laugh now and then, they might still rate the presentation highly enough to secure further bookings for the presentation and/or the speaker.

Slides

and above we see a sample of 4 slides which will be used to satisfy requirements in the SR. The slides are our final implementation layer (we don’t bother with test plan and tests for this layer of our example).

System Test Plan

The SR requires a system test plan to qualify its system requirements. STP:1 is about testing to see whether 90% the audience “believes” that the images and commentary successfully explain the concepts they are being used to portray. This is a much weaker test than examining their actual understanding!

System Tests

Our last document is the system tests, where we specify how to test the system test requirements in the STP. I was worried that measuring how often people smile was maybe a too crazy idea for even a toy example, but then I remembered how much importance Hollywood places on the results of measuring the reaction of test audiences to movies - so my example is maybe not so contrived after all.

At last we can show what traceability is by linking the requirements, test requirements and tests together, which leads us back to the first image again:

Requirements Traceability

(please click the image for more detail).

In this trip out to tackle traceability, I’ve pushed to three levels, so there are now two sets of satisfaction links; the first is between the SR and the UR, and the second is between the slides (aka SSR or implementation) and the SR. Three of the slides help satisfy SR:2, one of the slides helps satisfy SR:16 (humor), you can’t really see what the image providing humor is, but its title is “bored audience”.

There is much more that can be said about the above traceability diagram, but for now I am happy I’ve created a firmer foundation for having those conversations in future posts.

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.

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.

PowerPoint Live 2007

Posted by georgemc on 29 Jul 2007 | Tagged as: Perspector, PowerPoint, business, presentations

PowerPoint Live 2007, the PowerPoint user conference, is being held on October 28-31 in New Orleans. I’ll be going as an attendee, exhibiting Perspector and giving the seminar “Lessons from the Rocket Scientists: Building presentations that take off” - which draws on my experience in the requirements management/systems engineering industry. The idea of applying lessons from requirements management to giving presentations was inspired by this posting I did back in April.

Tim’s blog has special offer links for those considering going.

This is a wonderful event for presentation professionals and I’m very excited about participating and maybe getting a chance to show you Perspector in action.

First Five Slides and Requirements Management

Posted by georgemc on 30 Apr 2007 | Tagged as: PowerPoint, business, requirements, presentations

I just watched Cliff Atkinson’s webinar “First Five Slides” and was struck by the resonance it has with some best practices in requirements engineering. Essentially Cliff suggests that the first five slides of a presentation should be about:

  • setting
  • role (of the audience)
  • point A (where the audience starts)
  • point B (where the audience needs to be)
  • solution (to make that happen)

I recommend watching the webinar to get the whole story - it is very well done. In requirements speak these slides correspond to:

  • context
  • stakeholder descriptions
  • problem pre-condition
  • problem post-condition
  • solution

The problem can also be characterized as a “capability gap”. 

A common mistake in poorly written requirements is to ignore the problem and dive straight into a solution; it takes real discipline to keep the problem separated from the solution (or even to recognise that the problem should be analysed), but folks procuring massive systems like aircraft carriers have figured this one out.

What Cliff does is show the power of resisting the presenter’s natural inclination to focus on the solution, but rather to start by focusing on what the audience (the stakeholders) need to hear, which is why they should care in terms of their world being changed. This is what engages the audience’s emotions and keeps them around for the pitch.

(I updated this posting in August to use the word “audience” rather than “user” in the first set of bullets - hard to shake the RM mindset!)

Hierarchy Diagrams

Posted by georgemc on 20 Apr 2007 | Tagged as: graphics, Google Earth, Perspector, IDEF0, hierarchy, PowerPoint, business, 3D, presentations

One of the main goals achieved by Perspector is to enable users to quickly and easily construct layered hierarchy diagrams like the following:

dsi2.jpg

This is from a Microsoft PowerPoint presentation which I managed to find a copy of today (it’s in better quality and at slide 38 here, but there is 10 Megs to download) - I remember seeing it or something similar at the 2003 PDC. This diagram was not built using Perspector; it uses only PowerPoint drawing shapes - an amazing bit of work if it was done by hand.

These kind of diagrams crop up again and again in technical papers - but they always look to have been hand crafted. Just try a Google search for “hierarchy diagram filetype:ppt”. You will find lots of examples like:

margbc.jpg

The diagram above shows how the “Premix Production Process” decomposes into 3 steps using an IDEF0 diagram, well, actually two diagrams with a hierarchical relationship. Doing 3D diagrams with a 2D tool is difficult. I remember when working with CASE tools like CADRE’s Teamwork and Aonix’s Software Through Pictures in the early 90s that the user manuals for the tools would have splendid pictures of the hierarchical relationship between diagrams, but the tools themselves would never offer an automated 3D view of the same.

In Perspector you can do these diagrams very quickly. Start with normal 2D slides for each of the layers, e.g.:

marg2b.jpg

Create a new slide, insert a new Perspector image, and then insert a 2 placeholder vertical stack layout. Now just insert/link each 2D slide into the stack:

Marg3

put a connector between the layers, tweak a few colors and transparencies, and you are done. If you have to change the content of any layer, the composite image will be rebuilt with the changes made to the linked slide. This is a very powerful way of working - decompose a scene into 2D parts and then assemble them in a 3D layout. You can hide the 2D slides if they are no longer needed for the presentation.

Here is our first DSI example done with Perspector:

perspdsi

I was able to play about with different camera angles and shift things about until I thought they looked good.

And finally, some fun locating a building using Google Earth:

myhouse