One of the discussions that comes up on a regular basis relates to documenting requirements. One of the criticisms that is often levelled against agile methodologies is that it is light on documentation. I happen to think that agile methodologies say very little about how much documentation you produce — it’s one of those implementation details that can vary on a project by project basis.
But one of the things that we like to do is have regular communication with our users from which we glean information about requirements. Unless one is diligent, one can forget to record new requirements decisions
Recently, I watched a blurb on Space: the Imagination Station about eyeBlogging, an interesting technology that involves wearing a pair of special glasses that automatically record converstations. Once recorded, the video of the conversation is posted to a blog. And, I must confess, my imagination was really fired.
The idea seems really attractive: we have a conversation, and you tell me what you want the software to do. That conversation is immediately blogged to our project server, and we can review the requirements later, as we’re building the code.
There are complications to be worked out, sure. It’s not enough to just record long conversations — you’d need to be able to scan through them quickly to find key requirements, and annotate them as you learn more information.
But here’s the other side: people have different ways of taking in information. Some people are visual people; some are oral people; some are attuned to emotional content.
(As an aside, I once heard this suggestion in the context of Neuro-linguistic Programming: that you can catch glimpses of people’s information orientation when they say things like, “I can see that” or “I hear you” or “That feels right to me”)
In my opinion, the written word is one of the least effective ways of taking in information (or at least, among IT professionals). Which, in my opinion, is why people are always having meetings or conversations to flesh out the written requirements. But large organizations continue to invest in that kind of documentation because:
- They haven’t figured out anything better
- At the very least, the document can be referred to if there is disagreement between the customer and the programmers.
Maybe the problem is that we live in the age of television, or something like that. Maybe we don’t read enough anymore. But if there’s any truth to the idea that written documentation isn’t as effective as we need it to be, then what kind of tools can you exploit to make the process of learning and retaining requirements more effective? eyeBlogging is probably several years away from being a good technical requirements medium — but what could it become? The next killer app?