Why do they stink?
But we are an agile shop!
We use all the latest tools!
Are you sure they stink?
YES
If you are using words to document your requirements I can almost guarantee you they stink. The English language (and most other written textual languages) are filled with delightful ambiguity.
Ex: "One morning I shot an elephant in my pajamas. How he got in my pajamas I'll never know" - Groucho Marx.
Words are the enemy.
Compound sentences and run on sentences and conjunctions and punctuation and etc. are the enemy. (that is meant to be illustrative

The fact that English is basically one dimensional. You read from right to left and wrap around. It very hard to refer backwards in English to a previous sentence or phrase. You could draw arrows but then that's not English - that's power point!
Doing requirements in PPT is even WORSE!
Requirements actually only need a few kinds of sentences to be chock full of meaning.
They are:
- X is a type of Y
- X consists of B number of Z
- X is associated with C number of Qs
- X can do the following actions
- X can only be in one of the following states {a,b,c, ...}
- X transitions from state A to state B by action F
- <and a few others>
But your BAs and Product Management folks use words like "leverage","collaborate with","utilize","influences","is related to", "bucket","group","syndicate", ...
ALL of those words designed to NOT convey meaning without the READER implying the context for the meaning! ("kicking the can down the alley" in terms of clarity)
Then you try bulleted lists, numbered lists. That helps a little with hierarchical things but it gets pretty ugly.
An English has all those contradictory rules and meanings and context sensitive meanings and ...
Instead, I have found the use of a small subset of UML to be AMAZING at reducing the fluff, BS and "I thought I knew", "are we done?" types of situations.
YES THIS IS FULLY AGILE, Too!
Use these techniques in collaboration sessions between folks on the team to tease out the requirements in real time, on whiteboards, then take pics with your Android Phone, an actual digital camera, your Xoom tablet or even your iPhone / iPad / iDevice. (Or get one of these thingies http://www.acmimio.com/images/productimages/Xi_brochure.pdf)
Below is a simple model in UML that would take a page or more of words to describe and then probably not nearly as clearly.
A Person (entities/classes are in boxes) Is Composed Of (sub box of an entity of the lines drawn between):
- A Person Has A DOB That Is Of Type Date
- ...
- A Person Has 0 or 1 (Current) Legal Name //you might be born and not given a legal name until later
- A Person Has 0 or Many (Previous) Legal Name
LegalName (entity) Is Composed Of:
- First Name that Is Of Type string
- Last that Is Of Type String
- A Title that Is Of Type Person Title That Is 0,1 or 2 of the following instances {Dr. Miss, Mr., Mrs. Rev.} (instances of a class are underlined)
- A
This the state chart (state model) for a person in the admission process for a university.
Each rounded box is a state.
Each arrow between is what action causes the transition between states.
A Student (Class) starts in the Lead state
A Student is then called by a recruiter and becomes Contacted.
A Student Submits and Application (Application Submitted) and becomes an Applicant
A Students Application Is Accepted and they become Accepted or A students Application is Rejected and they become Rejected.
A Student that is Rejected can Reapply and become an Applicant again
....
That is just a sampling of what well written requirements in UMl can do to provide clarity.
Also, because UML forces you to write simple, unambiguous statements, it helps identify questions and identify the answers to questions that you thought you knew.
Finally, though these diagrams were created in Sparx Enterprise Architect, you can do all of this on napkins, post it notes or whiteboards (that's actually how I usually start to avoid getting distracted by the tools.)
Contact us if you'd like to teach your teams to write requirements that don't stink.
Simon Logan Technology Partners
917 __ 783 __ 7477