Tuesday, October 22, 2013

Leave your friends out of this

"Linda wanted to go with Jim and I on vacation.  Jim and I didn't think this was a good idea."

Do you see the error?  For the sake of etiquette, we always put ourselves last in a group  (...and I).  This frequently causes a syntax error.  (Syntax error?  Dammit, there's a tax on everything!)

We can easily avoid such errors if we just leave our friends out of it.  In the example above, make believe Jim isn't involved at all...  leave him out:  "Linda wanted to go with [...] I on vacation.  [...] I didn't think this was a good idea."

Got it?  Linda wanted to go with me on vacation.  That means that Linda wanted to go with Jim and me on vacation.

Yes, by all means put yourself last when listing a group, but use the same pronoun you would use if it were just you.  Leave your friends out of it.

Sunday, October 6, 2013

User Manual vs Requirements

In the IT world, we have a process.  When a user comes to us with a problem, we collect their requirements (what's wrong, how do they see it being 'fixed', how they wish to initiate the solution if it isn't something that has to happen all the time, etc.).  Armed with the requirements, we create a 'specification' or 'spec', then build and test the solution according to the spec, and lastly we create a user manual to instruct the user(s) how to operate the solution.  Sometimes the user manual precedes the spec, especially if the problem can be solved just with user education.

'Quality' we define as 'conformance to requirements'.  A quality solution to the users' problem(s) is that it matches very closely (ideally, 'exactly') to the requirements they set out in the requirements document.

Comes the day someone is looking at the code/program and scratches their head in wonderment ('what the heck were they thinking?'), one can always go back to the spec or the user requirements to find out what was originally intended.  As regards the user requirements document, there are two rules:

  1. The user requirements are presumed to be definitive;
  2. If the user requirements appear to be incorrect, refer to rule #1

The U.S. government is constructed somewhat along these lines, it turns out.  Our user manual, the instructions for use, are called 'The Constitution of the United States'.  The requirements document is called 'The Declaration of Independence'.  Whenever you suspect something is not working correctly, you can always refer back to the user requirements document to find out what was originally intended.  Sometimes when you do that you get a shock when you realize somebody reallyreally messed up.

The Declaration of Independence is structured into phases.  In the first phase, Jefferson and his colleagues wax philosophical about the nature of man and the nature of government and how the two interact.  It then goes on to list all the ways King George III's government fails to meet their expectations (fails at being a quality government).  It continues on with a catalogue of the ways the colonists have tried to remedy 'the problem' and ends by announcing that they see no other path than to upend the entire apple cart.

The most eloquent segment, pure political poetry when you come right down to it, is the front section where they lay out what a quality government looks like, feels like, smells like:

We hold these truths to be self-evident, that all men are created equal,  that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty and the pursuit of Happiness.  That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed,  That whenever any Form of Government becomes destructive of these ends, it is the Right of the People to alter or to abolish it, and to institute new Government, laying its foundation on such principles and organizing its powers in such form, as to them shall seem most likely to effect their Safety and Happiness. (emphasis mine)

Fairly radical requirements:  our government (according to our founding document) exists for no reason other than to secure our rights.  It's not there to protect us or to make sure we have a good education or decent dental care or a nourishing breakfast.  Its one-and-only function is to make sure our rights are protected.  When we discover our government doing things to minimize our rights (like the USA PATRIOT Act or indefinite detentions or feeling us up at the airport) we have the right to abolish that government — and we probably would if we weren't such sheep.  In fact, the requirements document goes on to say that abolition is actually our duty.

So, what shall we do with a government that actually spends our own money to prevent us traveling freely, and prevents us visiting National Parks which (presumably) we have already paid for and which are (presumably) our property?

Baaaaaaaa!

Humbug!