Wednesday, July 04, 2007

Tom Gilb's Concept Glossary

Tom Gilb has updated his Concept Glossary, including my comments on his definition of the requirement concept (below), which he is kind enough to describe as "a particularly well thought out notion of requirement".

(The numbers in parentheses, preceded by an asterisk, refer to other concepts in Tom's glossary. The numbers in brackets refer to footnotes in the original; these follow the main text.)

1. The people whose ends a system (*145) serves are one class of stakeholders. They value the actual results, or receive benefit (*009)[1].
2. The people who consider the future of a system and/or agree to the suggestions of others are a different class of stakeholders. They perceive potential value (*269).
3. If these people take ideas forward (deciding to act or persuading others to decide to act, or considering the desirability of action), they can be described as “Founders”[2] of the resultant system or course of action.
4. The arena within which action may occur is variously described as the “problem domain”, “scope” (*419) or “context”[3].
5. A perception of value within a particular context for action is a potential requirement.
6. A potential requirement coupled with authority (*005) or discretion[4] to pursue its satisfaction is a requirement. The person[5] who confers the authority is the requirement’s “Sponsor”.
7. So, a requirement is a perception of value in a particular context for action coupled with the authority to pursue[6] its satisfaction: the authorized and contextualized pursuit of value.
8. The substance of a requirement (what is required) is the value. That of which it is a requirement is a future system[7]. The context within which it is a requirement includes the project or endeavor (“development environment”) and the anticipated operating environment. Explicit or implicit authority to pursue the requirement (within a particular context[8]) is a status of the requirement (in that context).

There are footnotes in the original:

[1] Because these stakeholders can only receive benefit from an operational system, they can be referred to as “operational stakeholders”.
[2] Or “Originators”
[3] This is not the same as Context (*483). None of these terms is entirely satisfactory, but “context” comes closest to the idea of a simple “frame of reference” or environment within which action may take place (including the operation of a system).
[4] “Discretion” might best be described here as “implicit authority”. Implicit or explicit authority could be regarded as the result of “stakeholder prioritization”.
[5] Ideally, a requirement should have a single Sponsor. A group may be collectively responsible, but even then, it is preferable for one among them to take on the role of Sponsor.
[6] “…for the time being” could be added, authority always being conditional. If the conditions are not met, the authority is no longer valid and, as an immediate and automatic consequence, the “requirement” reverts to being a “potential requirement”.
[7] Strictly, either a sub-system or an attribute (*003) of the system (*145).
[8] We can distinguish here between transitional context (e.g. a project) and operational context (where “environment” is a common alternative term). If the transitional context is undefined, we can refer to the requirement as an “orphan requirement”. If the operational context is undefined, we can only say that the Requirement Specification (*508) is defective; the status of the requirement itself is undecidable (but decidedly not authorized).

1 comment:

Unknown said...

Very precise definitions - I agree with Tom Glib. I think we are dealing with similar concepts. I have considered authority as a characteristic of a stakeholder with some relationship to the requirement, not an attribute of a requirement itself.

I do like the way you think, though. One of my disagreements with the BABOK definition is that there is no condition that says the need must be expressed or represented in some fashion to be considered a requirement. I don't think third point should be an optional add-on to the first two. I want the need interpreted and marked up with attributes that make it actionable. Anything less may be a real need, but in my opinion it's not a requirement. (I have a behaviourist's perspective on this - I can't know your mental state, so an 'unexpressed need' is meaningless.)

If I understand "the authorized and contextualized pursuit of value" correctly, you've followed a similar conceptual path to a different plateau: it is a requirement if and only if a stakeholder with the power to realize a need is willing to consider it for realization. Where I worked to my definition from the idea of 'requirements met' and 'requirements not met', I suspect you started closer to 'requirements with potential for realization' and 'requirements without potential for realization'.

Interesting. I'll have to think about it some more.