Wizardry and Requirements


Illusion and reality. Challenges and fear. These are just a few of the elements that go into requirements gathering and management. Being aware of what you know and what you don't know can ensure getting the right requirements. Read on as Harry Potter fan Becky Winant shares some insight and survival tips for requirements analysts.

Last October my friend Linda handed me Harry Potter and the Sorcerer's Stone, and I was hooked on the series. While submerged in the world of wizards and witches, I found survival lessons for the world of requirements. As analysts, we usually look for something specific: facts, needs, wants, and definitions. In doing that, we may overlook what isn't so apparent. We might confuse imagination with fact, be surprised by what is hidden, or avoid what could be threatening. Our oversights are more than hassles; they can undermine getting the right requirements.

Conjuring Requirements from What Seems Like Thin Air
In the book, Harry Potter's early life plays out under a veil of convenient lies. His aunt and uncle tell him his parents were killed in a car accident. They want to avoid any discussion of Harry's true wizard identity, as magic terrifies them. Illusion fills Harry's world and I thought about how it also filters into requirements.

Like Harry's aunt and uncle, we might invent false requirements. So unlike Harry's aunt and uncle, we should make no pretense of fantasy being reality. Imagination can elicit legitimate customer needs when project direction is not clear. For example, the "box prototype" technique proposed by Tim Lister and Tom DeMarco suggests using cardboard boxes and other crude props to imitate a desired system's operation. In this way you can exaggerate or push the limits: leave a feature out, fall short of a target, ignore a condition, and find out what happens if you do. By making the imagined requirements almost foolish, you find out what really matters. And by using simple props instead of a working prototype, customers never assume the system is real, but their reactions and comments about requirements are genuine.

When Truth Confronts Illusion
Early in the first Potter book, Harry reaches his eleventh birthday and learns the truth about the murder of his wizard parents. His life opens to new opportunity, but also impending crisis. Sometimes when our requirements evolve into operational systems, crisis hits. This is the effect of reality colliding with our imagined requirements.

While discussing project crises with my colleague Brian, he recalled an employee benefits system he helped develop. Once in production, the peak level of system usage exceeded the expected level. The system choked. Why didn't their architecture anticipate the problem?

Brian said the peak load was a given requirement. In retrospect, however, he admitted that the predicted usage was really a guess. When the team designed according to an accepted but incorrect system view, they failed to allow enough slack for the performance they eventually had. The load requirement was believed as fact even though it was the product of imagination: a guess. Then reality and disaster hit.

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.