Since our IEEE/SPIN presentation has come and gone, I have been able to start getting caught up on my blog reading. I came across this post from Johanna Rothman that really serves as a great reminder that I personally realize I need on a regular basis. In it, she discusses how she recently had to deal with some magazine editors who decided to shorten a too lengthy article by simply removing the last couple of paragraphs. Rather than simply accept this, Johanna instead sought to apply the 1/3 rule that she attributed to Gerald Weinberg.
For a 1400-word article, I didn’t need to cut 1/3 of the pages or 1/3 of the paragraphs; I just needed to could cut 1/3 of the words. And, without much trouble, that’s what I did. The article is much tighter, reads more clearly is clearer, and feels “lighter” to me. When I do my 1/3 exercise, it feels a bit like refactoring.
This concept of “dare to pare” is critical when it comes to writing great requirements, but is one that I know from first-hand experience can be difficult to master. Call it a personality flaw if you must, but I have to admit that I love words. Big words, little words, it doesn’t matter – I truly love the written word and the ability to craft the same message in any of an infinite number of ways. I subscribe to two different Word-a-day mailing lists and am genuinely disappointed when the daily missives involve words I already know.
Unfortunately, a desire to play with language can become pathological when it comes to writing requirements. In this realm, our goal should be to establish as much clarity as possible with as few words as possible. I think this makes an excellent adjunct to the disambiguation discussion we had a couple of weeks ago. As much as we need to be careful with our choice of words to avoid ambiguity, we also need to focus a similar amount of energy towards trying to reduce the volume of our words. Why? Two reasons:
- The more you write, the greater the odds of introducing ambiguity.
- The more you write, the greater the burdens you place on the consumers of your requirements.
I think the situation with her editors that Johanna relates above is one that happens frequently in the software requirements world too. Given a desire to cut down on the burden of voluminous documentation, many teams will simply look to chop whole sections out of their templates or perhaps buy into the notion of only capturing some of their requirements. What should be done instead is to focus on creating better requirements by applying something similar to the 1/3 rule that Johanna discusses.
Unfortunately, this approach can be difficult for people to adapt to. In a well-intentioned effort to avoid ambiguity, some people will often err on the side of writing a lot to “make sure everything is clear.” When these folks are presented with a pared down version of their requirements it can be disconcerting when they see how much has been cut out. I liken it to when you bring in a professional arborist to work on your trees at home. You look at a tree when they are done and feel like it has been butchered and will never be the same. The reality is that the tree is far healthier since all of the overgrowth has been removed and what remains will now be free to thrive. This analogy carries over quite well to the process of aggressively editing a software requirements document. When this editing is skillfully done, it can drastically increase the signal to noise ratio with the overall effect being that your projects will be able to thrive just like that well-pared tree.