April 4, 2011

...Learn TDD with Codemanship

On The Subject Of "Value"

I really need to get up from my desk and get ready to go out. (Some software craftsmanship thing going on this evening, so will lurk at the back and see what folk are saying.)

Meanwhile, among other distractions, a debate on Twitter about the value of software/features has inspired me to jot down a couple of thoughts before I get busy.

There are people out there who believe it's possible to measure and estimate the value of a feature in ourely financial terms - what it's worth in pounds sterling or dollars.

I have two thoughts on this: first of all, if this were really true, the successes in our industry might be much easier to predict, which we tend to find they're not. So, going purely on the evidence of the distribution of software success, I'd say nobody's cracked this one.

More importantly, I think this is a naive and one-dimensional view of "value". In my experience, value is usually a very complex, nuanced and subjective thing. For hundreds of years businesses have faltered when they focus entirely on the mighty dollar (or euro,or yen) at the expense of other kinds of value.

Profit doesn't exist in a vacuum. It's a product of many interrelated factors, like customer satisfaction, employee morale, skills, environmental factors, human rights records and a miriad of other, sometimes competing, concerns.

One pespective in particular can be very hard to pin down and explain in terms of mere numbers: the user's point of view.

What I've seen happen all too often is customers and product owners/managers defining and prioritising features based on what the business wants, not on what the users might want. Indeed, it's actually rare to find real target end users getting involved in the design of the software.

Now, we have to be very careful here; what the people paying for the software, and what the people using the software want are not necessarily the same thing.

For example, a Facebook user might not think advertising is very important to them. Indeed, they may find some forms of FB advertising intrusive and annoying. But to Facebook's owners, advertising is very, very important. So important, in fact, that in recent years the users' needs seem to have taken a back seat while the developers forge ahead with all manner of features designed to make the site more bankable.

Of course, advertising keeps Facebook, and many other web sites, free to use. So a balance has to be struck. I've felt of late that the balance has tipped too far in favour of what Facebook wants.

You see, you may think you're new car is going to be worth $50,000, but that's only true if someone's willing to pay $50,000 to drive it. If the end user doesn't see the value, then it's worth nothing at all.

Car manufacturers usually put the driver at the centre of their design process. Making as car desirable is what makes it valuable.

It seems we have yet to learn this lesson in software development.




Posted 1 week, 5 days ago on April 4, 2011