There is an old joke that runs as follows.
I hope you spotted that "10" is 2 in binary, the base 2 number system, convenient for computer scientists reasoning about computers made of on/off switches, but less good for ordinary folks.
Be that as it may, there are plenty of people who like to divide the world into 2, I mean 10 binary, categories.
"There are 2 types of requirements process,
Mr 'Nippy' Agile (bantam-weight) here in the left
corner."
(Cheers and boos echo around the ringside seats.)
"And Mr 'Finish the Job' Requirements
Engineering" (super-heavyweight) over here in the
right-hand corner."
(Muffled chorus of "yeah, right" and "get 'im, Finish" from the
traditional side of the ring.)
The super-heavyweight versus bantam match is billed as a fight to the finish between precisely 2, or do I mean 10, extremely unequal contestants. But who exactly is in the ring, and (here our eyes seem oddly defocused, perhaps we have had too many drinks in the ringside bar) how many people are hovering around in there?
I have a question for you. Is your project using a pure 'Finish the Job' heavyweight RE process? No? All right then, you must I presume be using a pure 'Nippy' bantam-weight Agile process? You're not? How can that be? We only have 2 contestants here in the ring!
Well, clearly there's something wrong here. Every project you and I have seen has been somewhere along a spectrum between these extremes, hasn't it.
Perhaps "10 Types of Requirements Process" means "ten" after all. At least, it means "more than two", "quite a few", "I haven't got a complete classification of all possible processes to hand just now".
For the real problem when people make claims like "There are 2 types of ..." is that they never agree what the 2 contestants actually are. It isn't a Final Battle between Agile and RE. It's an inability to see that our personal favourite ways of dividing the world into 2 halves are all different, because we've had different experiences. Projects too, are all different.
Why should there be exactly 2 or 10 ways of Discovering Requirements? Maybe there are 1000 ways!
Maybe (if we knew enough) we could draw a unique pattern for every project. Maybe one project's pattern looks like this:
|
Requirement Elements Discovery Contexts |
Stakeholders | Goals | Context | Scenarios | Qualities and Constraints | Rationale and Assumptions | Definitions | Measurements | Priorities |
|
From Individuals |
|
|
|
|
|
|
|
|
|
|
From Groups |
|
|
|
|
|
|
|
|
|
|
From Things |
|
|
|
|
|
|
|
|
|
|
Trade-Offs |
|
|
|
|
|
|
|
|
|
Maybe your project would look different.
(c) 2009 Ian Alexander
Books you may like:
