How many times has a client asked you - "Can you send me a format in which I can write requirements? I want to use the format you normally use so that it is easy to understand for your team..." If your experience is similar to mine - scores of times. Sure enough, we send them samples and templates. How many clients came back with a filled in template? None. Why?
Filling in a requirements template is never a straight forward form filling kind of process. Before you even attempt to do so, you spare so much time and effort to understand the background of the project, processes, rules; create many working documents, flowcharts, mockups. When we send a requirements template to client - "You can use this" - we fail to respect the methodology that goes into eliciting and developing requirements.
Switching now to owners of IT projects - if you want to give your developers/IT partners a headstart on requirements, I suggest you do the following instead of trying to fill in any sort of requirements template -
- Identify somebody who can lead the project - ask this person to collect or prepare some documents that describe your company, its business, why do you need this project, objectives of the project... you may ask what purpose does that serve? Well, this calls for a separate discussion which I have taken up in another post - The power of Context!
- Collect a bunch of people who will use this application when complete - ask them to huddle and do the following -
- Write down what problems they face right now, what resolutions they require, what should they be able to do with the application...
- A picture is worth thousand words - ask them to put their ideas, screen layouts, flowcharts on paper or whiteboard, and take pictures of those
- Write down what data they will need in the system... orders, invoices, products, customers... anything that comes to mind
- Let the project leader review and understand whatever the huddle team comes up with, and add his/her own notes
Since a picture is worth thousand words, let me represent my approach with a mindmap -
Send whatever your team comes up with to your Business Analysts / Developers - you have given them a good headstart, they can do the rest!