Real Value

What is "Real Value"? Let's explore...

Here's a definition of "value" (from Webster's):

that quality of a thing according to which it is thought of as being more or less desirable, useful, etc.

I use the term real as meaning "actual, not perceived". I use the term value in the "more desirable" sense in the above definition.

Therefore, for something to have RealValue, it must be "actually more desirable or useful." In the software realm, where things are not always obvious or multiple ideas can have equal merit, the term actual must be qualified by some sort of supportive information. (Patterns can be a vehicle for providing this!)

Anyone else want to add to this?

How about subtract? --> Real value is when two or more people agree that something is worth the keeping.

This definition illustrates two principles: 1) value is an inter-subjective phenomenon, 2) is about some thing; i.e. it is about something external. An idea has no value until it is written down, for example.


Well, one thing should be kept in mind: value is subjective, therefore it might be hard for others to decide whether what you think is RealValue is indeed so. Cooperation with the customer is, in my opinion, mandatory here. -- MarcelPopescu


RealValue is one of three things: (1) Lower costs, (2) Higher revenue, or (3) Improved service. In most commercial organizations (3) eventually leads to more of (1) or (2).

Software development projects have objectives. These objectives lead to outputs. The outputs lead to outcomes. It's in the outcomes we find RealValue.

An objective might be some functional requirements (like ad-hoc reporting), or a quality target (like should be usable), or a constraint (like deliver before Christmas), or anything else.

Deciding if an objective is justified can be done by working out the cost of fulfilling the objective and then tracing it through to an outcome and working out the RealValue of that outcome, either (1), (2), or (3).

So the RealValue of a guidance system for a nuclear missile is that it successfully kills millions of people?

In the eyes of the government (as they claim for public consent) the RealValue is a working guidance system, that could kill millions of people, as a credible deterrence to avoid killing thousands of people otherwise with conventional weapons. -- FridemarPache

The "Real Value" of the guidance system is that it delivers its "payload" accurately to the "target", i.e., it hits the command and control bunker, not the hospital next door. The "Real Value" of a nuclear (or non-nuclear) missile is that it destroys (or renders harmless) its target, something the enemy needs. If the "target" is millions of civilians, killing them might be a wartime objective.

(Not that I believe that any of the above is good, correct, or morally justifiable. I'm presenting it for the sake of clarifying the argument.)

Where, then, is the translation from the RealValue to the requirements done? The guidance system requirements might be really close to specifying delivery of payload... but they'll be really far from specifying keeping the free world free.

So does RealValue mean no more and no less than "adherence to requirements"?


No. RealValue means finding the right requirements and implementing them in the right priority order.

Where indeed is the translation from the RealValue to the requirements done, since BuildingTheWrongThing? is clearly a risk (emanating from the requirements/planning activity) to avoid? This risk bit my last project pretty hard, accounting for at least four man-years of scrapped effort out of a total of twelve.

The translation is the responsibility of the "Business" role (in the jargon of ExtremeProgrammingExplainedEmbraceChange) that shows up as the identification and prioritization of requirements, on the assumption that Business knows best what produces RealValue. KarlWiegers asserts the same in SoftwareRequirements, and assumes a level of requirements that he calls "business requirements", which correspond to the above-mentioned outcomes that are desired by the Business role. InTheory these business requirements should give rise to use cases (UserStory, if you prefer).

One technique for helping Business to determine RealValue, and Development to determine downstream requirements, is QualityFunctionDeployment (see, for example, TheRoadMapToRepeatableSuccess.

-- RandyStafford


RealValue is that which enhances our humanity, that which makes us grow, that which enriches us without making someone else less rich.


All values are real. The more difficult question is "Which values are good?" ThirdWaveDave


EditText of this page (last edited May 26, 2013) or FindPage with title or text search