Distributed Landing Zones

Have you ever struggled to convey the exact nature of a requirement? Do you find that non functional requirements can be especially tricky? Join the club! One technique that I have found helpful is distributed landing zones…

Last week I had a conversation with a colleague of mine who was in the process of documenting non functional requirements. The main purpose of the system in question was to receive messages from one organisation (over the Internet) and then send them on to several other organisations via private networks. Our conversation started when he looked up from his laptop and asked me: “What do you think should be the maximum time delay between the message being sent by one organisation and received by the others?”

Here is an approximation of how the discussion continued:

Him: I think about 2 seconds would be OK.

Me: Would faster be better?

Him: Yes, in fact 0.5 seconds would be brilliant.

Me: Would even faster than that be better?

Him: Not really, no one would notice the improvement.

Me: Does it matter if a message takes 5 seconds?

Him: 5 seconds is definitely too long.

Me: What if only 0.1% of messages take 5 seconds, would that matter?

Him: Actually, no, that would be fine.

It is a common problem. When you are defining requirements like this there simply is not a single number that gives you an accurate representation of how the system should behave. However, by combining two concepts (requirement landing zones and normal distributions), you can handle this problem with ease…

Tom Gilb popularised the concept of requirement landing zones. The idea is that you specify a range that starts at the minimum acceptable level and finishes at a point where further improvement would add no value. Based on the above conversation a suitable landing zone would be 0.5-2 seconds.

Where I feel that the landing zone concept falls down in this case is that you might put a lot of effort into ensuring that a message never takes longer than 2 seconds. This would be bad because if the odd message takes 2.1 seconds and a small minority take 5 seconds then this would clearly still be acceptable.

Statisticians and those involved with quality control are familiar with the idea of normal distributions. You can read all about them at Wikipedia but the basic concept is simple: if you do the same test repeatedly then most of your results will be very similar whilst a few will be different. Normally the exact nature of the distribution is described using the mean (what most people refer to as the average) and the standard deviation. However, for the sake of speed and simplicity, I recommend that you define the following characteristics for a requirement (note I have put suggested values based on my example in brackets):

  • Mean (2 seconds)
  • Absolute worst case (5 seconds)
  • Acceptable frequency of worst case (0.1%)

As you can see, despite the fairly complex background, distributed landing zones are really quite easy to apply. What’s more they can give the clearest picture of what the actual requirement is. I use them, I hope you will too!


1 comment so far

  1. Brenda Fridas on

    Great idea. I’ll be adding this to my list of my tools for building requirements.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: