Share via


Zoning For The Holarctic Region

A street sign which says "2 hour parking 7am - 6pm Except-Sun.-Hol. Except By Zone 4 Permit"

Last week I asked you to see how many different interpretations of this sign you could devise. After an hour or so I had the following:

  • Cars may be parked for up to two hours unless any of the following conditions apply, in which case they may be parked for any amount of time:
    • If it is currently between six in the evening and seven in the morning
    • If today is Sunday
    • If today is a holiday
    • If the car is displaying a Zone 4 parking permit
  • A person may park their car for exactly two hours and not one minute more.
  • If a car is parked here it must be parked for exactly two hours, not one minute more or less.
  • Two hour parking is regulated; two minute parking is not.
  • Parking is regulated; temporarily filling a parking space (e.g., short-term loading or unloading) is not.
  • Parking is regulated exactly and only at 7am and again at exactly 6pm. (A dash is used to denote the discrete values Sun. and Hol., so that must be what is meant here too.)
  • Parking is not regulated Sundays through Holidays. (A dash is used to denote the time range 7am through 6pm, so that must be what is meant here too.) Which in effect means never.
  • Parking is not regulated on Sunny days through Holidays. (Again, the use of dashes must be consistent.) The weather determines when this regulation is in effect.
  • Parking is only allowed from seven in the morning through six in the evening on non-holiday Mondays, Tuesdays, Wednesdays, Thursdays, Fridays, and Saturdays. ("Except" is a verb which means "leave out".)
  • Parking is never allowed for Zone 4 permit holders.
  • Parking is not regulated when it is sunny out. (However "sunny" is defined....)
  • Parking is not regulated if your name is Holly or Hollander or any other name which starts with "Hol". Or with "Sun" for that matter.
  • Parking is not regulated if you can find a Zone 4 permit to park alongside.
  • Parking is regulated if the car is parked on or in a Zone 4 permit.
  • Parking is never regulated, since as long as one Zone 4 permit exists somewhere in the world every vehicle will be next to it. (Albeit at some distance.)
  • Parking is never regulated if a Zone 4 permit parked the car.
  • As long as I meet these conditions I can create a park in this area and enclose items in it. (I.e., I can park them.)
  • Satellites can be launched from this location and parked in orbit as long as it reaches its final destination within the specified times.
  • Making out with my lover is perfectly acceptable at these times. ("Parking" was slang for "making out" where I grew up.)
  • Only parking within the arc defined by two hours (an angular measure) is restricted. Which could mean either nowhere or anywhere since the start point is not defined....
  • Parking is restricted only at two points in time. (E.g., "You woke me up at this hour?")
  • Parking is restricted to people who are performing or participating in two short services of psalms and prayers.
  • People who are seven-undefined-somethings can park whenever they like. ("AM" could mean "be".)
  • Parking is not restricted for groups of six Past Masters, Paymasters, Police Magistrates, Postmasters, Prime Ministers, Provost Marshals, Program Managers, or any other title whose abbreviation is "PM".
  • Parking is not restricted for sets of six postmortems.
  • Zone 4 permits may never be left (parked) at this location.
  • I can only deposit (park) money in my savings account, and similar actions, at the specific times.
  • Sun tanners (i.e., people sunning themselves) may park here as long as they like.
  • The Holarctic Region may always park here.
  • People and animals from the Holarctic Region may always park here.
  • People on vacation (i.e., on holiday) may always park here.
  • People skipping work or school (i.e., taking a holiday from those tasks) may always park here.
  • Parking here is always allowed as long as it no Zone 4 Permit has yet arrived. ("By" could mean "no later than".)
  • Parking here is always allowed until the event Zone 4 Permit has occurred. ("By" could mean "the end of a particular time period".)
  • Parking here is allowed if the area is for permits.
  • Parking here is allowed for people who divide the area into sections for permits. (Using "zone" as a verb.)
  • Parking here is allowed for people who designate the area as being for permits. (Using "zone" as a verb.)
  • Parking here is allowed if you are wearing a 4 Permit as a belt.
  • Parking here is allowed as long as you surround your car with four permits. ("Zone" could mean "encircle with a band or stripe".)
  • Parking here is allowed for people permitted to Zone 4. (Whatever "Zoning Four" involves....)

A number of questions occurred to me as I worked this exercise, which I believe are further evidence of the sign's ambiguity:

  • When do the conditions apply? When the car is parked? When the parking cop comes by?
  • If the car is left running does that count as parking?
  • Do these restrictions cover double-parking?
  • How precise are the conditions? If I park at five minutes before six am I in violation? How likely am I to get a ticket so close to the boundary?
  • To which types of vehicles does this apply? Airplanes can be parked, for example. So can bicycles and four-wheelers and wheelchairs and strollers.
  • Is the two hour limit cumulative or consecutive?
  • Does the two hour limit reset if I move my car to a different spot in the same area?
  • Does the two hours start at 7a even if I parked my car earlier than that?
  • Does the two hours end at 6p even if I don't pick up my car until later than that?
  • How do I ensure the two hour limit resets if I move my car?
  • Why is there a dash between "Except" and "Sun."?
  • Who defines which holidays?
  • Which Zone 4 permit?
  • Must the Zone 4 permit be displayed? Must it be in the car?
  • How often does a parking cop come by? (I.e., how likely am I to be caught?)
  • How closely does the parking cop search for violators? (I.e., how likely am I to be caught?)
  • What is the fine for unknowingly violating these conditions? For knowingly violating them? (I.e., is it worth my trouble to comply?)

I started this process with an unstructured brainstorming session. When that ran out of steam I called on Jerry Weinberg's Mary Had A Little Lamb heuristic: I read the sign multiple times, emphasizing a different word or set of words each time. When *that* ran out of steam I called on Jerry's Mary Conned The Trader heuristic: I used synonyms and alternate definitions of each word in the sign as a jumping off point for additional brainstorming. Voila: multitudes of interpretations of the sign!

"And how does this apply to testing?" I took thirteen words and found forty different interpretations. I wager that the specification for your feature contains rather more than thirteen words and so has rather more than forty possible interpretations. Searching out and highlighting these ambiguities - testing the specification, in other words - is one way testers can add value at those points in the project when there isn't any code to test. If these differences in understanding are not surfaced, each person is likely to work from a different one and difficulties will likely ensue. Bringing these assumptions to light allows the team to discuss them and agree to work from a single one.

If you are interested in learning more about the grief ambiguity can cause as well as strategies for reducing ambiguity, pick up the excellent Exploring Requirements, which Jerry cowrote with Don Gause. It will be worth your while!

*** Want a fun job on a great team? I need a tester! Interested? Let's talk: Michael dot J dot Hunter at microsoft dot com. Great testing and coding skills required

Comments

  • Anonymous
    January 23, 2008
    So... This is why the IE team determined what W3C standards to follow, and which ones to make up along the way? ;)

  • Anonymous
    January 24, 2008
    The comment has been removed

  • Anonymous
    January 24, 2008
    Sorry for joining late for this interesting post ... One thing that comes to mind is "Why I am testing this?" What is my testing mission? Who is asking me to test? what are his/her intentions/motivations/objectives? If I know that I may be able to do better job at exploring those issues with the sign board. So depending upon who is asking and why, one might be able to add few other interesting possibilities. One of such possibilities would be -- If it is my 4 year old daughter asking "what is the meaning of this sign" - I might just say "It is something to do with when we can park here and when not .. stuff you dont understand at your age .... ". Offcourse that would be a very sad end to this interesting puzzle. So clarifying testing mission can dispell some of your pre-concieved "notions".... nice post, I am enjoying every bit of it Shrini http://shrinik.blogspot.com

  • Anonymous
    January 24, 2008
    I love this exercise and the answers given. Perhaps your readers would like to try this sign, which always puzzled me up in Crested Butte, CO: NO PARKING ON BOTH SIDES OF THE STREET.

  • Anonymous
    January 24, 2008
    The comment has been removed

  • Anonymous
    January 24, 2008
    The comment has been removed

  • Anonymous
    January 24, 2008
    My interpretation of that first sign: "What a burden parking around here must be for people who drive." The simplest thing to test or implement is the thing you don't build. Of course, now you have something new to test - your claim that you can get away with not driving.

  • Anonymous
    January 25, 2008
    I also found similar problems. After reading all through I catch myself on two feelings:

  1. if you stare a longer while at point you stop to see what you see. Jsut look at one point continuesly. This is somewhat similar - the more you think the more problems you will find.
  2. How we can put intended message in different way without such problems? How I will design this sign?
  • Anonymous
    January 25, 2008
    I love those four signs. They are the street-equivalent of a 950-page requirements document I reviewed recently at one of my clients. What they say is very clear: "DON'T BOTHER TO READ ME, MONDAY THROUGH SUNDAY." How do such signs and requirements documents happen? Someone is going through a defined process without a grain of thought. And, in our business, there's one absolutely sure rule: If you try to make softare without thinking, you will make unthinkable software.

  • Anonymous
    January 26, 2008
    Hello Micahel, A nice list you came up with. I think that is a good example how to interprete one sign. So I won't get into the challenge of determine those test cases of the picture with 4 signs. As the list will be much longer and especially when you are trying to combine those 4 signs. Initially when I saw that picture of 4 signs, I thought about a good example of rules to derive test cases of. Like in systems those might be business rules. In my previuous post I mentioned to look also if it is necessary to test. What sence does it make when no officeer comes by? After reading you comments those 4 signs triggered me to another point of view reading the requirements. I think you should not start with deriving testcases before you know your stakeholders well. Perhaps the first sign is just ment for Tow-Awayers. The second sign might give some additional information towards zone 1 permit holders. The 3rd sign is for those people who are cleaning the streets.And the 4th contains a typo. They actually ment everyone should "Accept" that a Friday starts at 7AM untill 6:30 PM. Of course these suggestions doesn't make sence at all. Only it suggest that it is important we know who we are deling with to make the right assumptions (ouch, a forbidden word for testers) who our stakeholders are. Just to throw in some thoughts :)

  • Anonymous
    February 04, 2008
    Michael - Excellent heuristics to share.  The exercise is so simplistic that it talks volumes to ambiguity and contextual thinking.  If I live in the area, I have context on what is means.  In software, it's a risky assumption that everyone will have context.  There will always be new or infrequent users.