You? Or your customer? Or their customer?
Or some high-priced-out-of-town-consultant who will work as long as there is budget?
As we write software, especially using agile approaches, we often speak about the notion of value.
Most commonly we refer to value according to the perspective of the business owner, customer, stakeholder, etc.
I am writing about value today because of questions that arose from my earlier post on producing software, in which I summarized an objective of agile to produce quality software, fast.
(I was waiting for Vince to let me know he had posted his thinking, but figured we would be safe to cross the streams after all. Sorry, Vince.)
Quality and Value
A fundamental question is “What makes quality software, quality software?” Is it just freedom from defects? How about conformance to specifications (you gave me what I asked for but not what I wanted)? Where does “value” fit into a notion of “quality“?
Now, Vince can guess where I am heading, but there is not room in a single blog post to write about all of this… so I get a two-fer or a three-fer (or “more-fer”?) on a single set of distinctions!
Anyway, let’s start by saying that value is not something you can carry in your pocket, but an assessment – an interpretation. The assessment might have merits backed up by fundamentals, it could be supported by generally and widely accepted principles, or it could just be an opinion.
In that way, value is not objective, fixed or permanent… but what people value nevertheless can stir them into a frenzy.
Works of Art
Writing software, especially custom software, can be compared to being commissioned to produce a work of art – what we produce may be one-of-a-kind, especially when someone is paying through the nose for it.
In those cases, it only makes sense that the commissioner (the “customer”) has the final say in what is valuable, and that assessment will be the framework within which the software is considered “quality”.
Now, I often work with my teams as we write proposals to think of “the offer we are willing to make“… which might not be the same offer the customer is looking for. Imagine Michelangelo being commissioned to whitewash a picket fence.
We need the courage (the ethic) in those cases to decline making offers that we don’t value.
In doing so, we avoid cheapening our help and we preserve the economics of custom software… after all, it is not always the appropriate course for a customer. When it is, we can be valuable.
What do you think about your customers’ notion of value being an assessment? Do you think they believe it is real, fixed and obvious? Have you considered NOT making offers that you don’t want to make? Why might you be hesitant to do so?