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