Friday, June 27, 2008

The many faces of software

Popular wisdom tells us that the more words a culture has for something, the more important that "thing" is to that culture. Whether its ice for the Inuit, rice for the Chinese or money to Americans - there are cross cultural examples to be found everywhere. Yet, I have always held a corollary to be that the more meanings a culture has for a single word - the poorer that culture understands the word - essentially rendering it meaningless in the most extreme examples. In fact, I wrote a collection of short stories where the title of each was derived from one of the many definitions for the word "natural" - but that is another matter all together.

What strikes me is that software is an example of both cultural importance and limited understanding. We have applications, components, widgets, binaries, executables, plug-ins... well - the list could go on for much longer and - candidly - is not at all surprising to discover that software has become an important element of our culture. What is, I think, telling, is the many meanings (and disagreements) on the definition of software. It is the disconnect and dissonance between people, organizations and processes that lead to financial, functional and operational software failure.

Software as currency – if you take a $10 bill and rip it in half – you don’t have two 5’s – you now have paper. There is an atomicity (or unit) to currency and a consensus on how it is valued – these are the essential characteristics of a currency – and the medium is truly irrelevant. Are applications simply executables? How do support, documentation and activation rights fit into the “currency of applications?” Software services, on demand application manifestation and content that encodes behavior further challenge even the basic notion of what are the ingredients of an application.

Software as a commodity – prospectors find gold and stake their claim – an assayer will assess its worth and a separate array of businesses will refine, package and ultimately monetize the gold (coins, leaf, jewelry, bullion, etc.). Well – this I think fits pretty neatly into the true life cycle of software – developers know where the interesting bits are that they develop within larger bodies of code and they know what needs protecting. The actual value of that work is typically best established by product management, line of business, etc. and the monetization is accomplished through sales and marketing - protect – analyze – monetize.

Software as an asset – tracking software is always been tough and it is getting tougher – but truly measuring the financial impact of software on a business (not based upon what was paid for the software – but on the change in value of the business that adopts said software) is so murky as to be meaningless on any general scale.

Imagine how much more efficient the software business might be if we could get all of the stakeholders in the development, consumption and adoption of software to agree on these three dimensions of software – we would move from the bartering economy of pre-history to a truly modern (and efficient) software economy…

No comments: