Last weekend I was entering the final phase of constructing a barn like shed for my garden, the kind of construction that skirts the planning permission rules.
After cutting a piece of flooring to be the mirror image of what I wanted my friend flippantly said “measure twice, cut once”. Other than prompting an obvious remark it did make me think about how such an adage could have been applied to my professional deliverables.
Every waterfall IT project is littered with documentation and every one has some kind of requirements epic, often split into volumes written by someone acting as a BA. These documents have infinite variation and style and lurk under the terms of BRD (Business Requirements Document) FRS (Functional Requirements Specification) TOR (Terms of Req….. the list goes on.
But which is the best. What really needs to go in it:
Should non functionals be present?
Should include a design or just the base requirements?
If it includes a design, should it include wireframes?
Should it include the data set up for configurable variables?
Whilst working in the consultancy arena I have discovered that you always need to establish what is expected before you start. In other words:
“Ask twice, Write the spec once!”
The other challenge I have encountered is identification of who are you writing it for, offshore developers, Tech leads, Account managers, project sponsors, end users? Should I write a textbook or just a brief oveview! Now I made a bit of an error here, I wrote mine for the person that was going to use it, in this instance it was the Tech Lead. What I should have done is write it for the person with the least understanding of the project. Every single one of these people need to read it and the key group are the end users, as without their support the project sponsor won’t sign and nobody goes anywhere. And generally end users are the least technical and the least comfortable with the process.
So now before writing a spec I would ask everyone what they are expecting, this will probably mean that a compromise is reached but what is delivered meets expectations. There are some basic guidelines: A small summary for the Sponsor, the requirements numbered for the developers and testers but structured according to how the users will use the system not according to how it will be built. However every set of circumstances are different and it may transpire that not even this is required . Now I would suggest:
“Ask everyone Twice, Write the spec once!”
Considering a mistake learned from is one worth making, I now intend to issue the requirement documentation template before its populated, so the user can see the structure and format. Then I’ll write a single section, with an example of the chosen medium of requirements capture such as user story, and ask again.
Had I done this previously my documents would have reached completion months earlier as I could have changed them on day 2 rather than day 200.
For many readers this is nothing new, and once reaching this point all you think is that I can’t be that good at my job if I feel that stating these obvious point is of any worth, well all I can say is how many of you have ever cut that piece of wood in the mirror image…
The postings on this site are my own and don’t necessarily represent Conchango’s positions, strategies or opinions.