For this exercise, imagine you are are a Director in a large corporation. Directors are the folks who have budgets that they allocate in their area of responsibility. They are measured by the results they get from their budgets.
Now, resources are always limited, sometimes more than others, but always limited: we can always, and do, imagine more good things to do than we are able to accomplish. Dreaming, having thoughts about how to make things better, is part of what makes it worthwhile to get out of bed in the morning.
And thus it is that Directors have to make decisions about budget allocation. So imagine the situation: you have 6 products. One has 2 million customers. Another has 1 million customers. And the rest have a few thousand each. Where are you going to put your money?
The Fallacy of Now
“Here and now” is a great mantra for paying attention to what is going on around you. Try taking a walk around your neighborhood by yourself, saying “here and now” over and over again in your head, as loud as needed to keep other thoughts out, but as softly as possible. You will notice things that have been there all along, but which you otherwise would have missed. Colors, sounds, smells, movements of leaves and animals will jump out at you in a way that you are likely to realize is foreign to your everyday existence: we have a tendency to live in our heads rather than in the world around us. The mantra clears what is in your head, with the result you notice what is always there to notice.
OK, but what about allocating budgets? Does “here and now” work for allocating resources? Define “now” (amazing how those immortal two words of Bill Clinton still live on in the culture, isn’t it?).
If “now” is defined as “how many customers use each product” then the answer is one thing (starve the weaklings until only the strongest survive).
If “now” is defined as “how many potential customers are there based on current customer information?” the answer might be quite different (the number of customers likely to adopt).
If “now” is defined as “what mix of products will force the product teams to improve their products the most to meet the unknown needs of the future” the answer might be quite different also.
The Fallacy of Non-domain Management
Of the 3 ways of defining now described above (and there are surely many others), the first two (# of customers, and # of potential customers based on customer characteristics) are the easiest for a person who isn’t expert in the domain to use: they can be backed up by numbers.
To answer the third question, looking at the product mix in terms of creating the setting for creativity in meeting the future, one has to either be a domain expert, or rely on non-toadying domain experts, in order to reach a decision. Having a vision of the future requires the kind of knowledge we call domain expertise, and probably requires domain expertise of long-standing.
Take Ford, For Example
You might have noticed that Ford Motor Co. escaped the auto industry meltdown. How did they do it?
The answer, I’m sure you realize (why would I bring it up? <s>) is vision, preparing for the future today. When Bill Ford took over Ford in 1999, he pushed the company to look forward, to develop the cars of the future. Yes, the company took a hit on profits (and he was forced out in 2006), but it prepared the way for the current president, who is good at production, to have a success producing cars whose design was started under Bill Ford’s watch. Bill Ford was, of course, a domain expert of long-standing.
Of course, this isn’t a great example of how to succeed in business: disappoint the bottom line and you’ll be looking for a job, and not have all that Ford stock to fall back on. And that brings us to yet another example.
Take Microsoft, For Example
Microsoft has recently eliminated support for IronRuby, according to a blog post by Jimmy Schementi, who was one of two people working on IronRuby. He has gone to Wall Street where he will, I’m sure, make his fortune. Good for him.
Historical note: Microsoft announced that IronPython, IronRuby and IronJS would be first-class languages in .Net less than a year ago.
This is not surprising from a company that did not have the vision to bring Visual FoxPro to .Net (first saying it could not be done; then saying nothing when it was proved to all that it could – and that was back in 2005). And it is not surprising from a company that squandered 10 years of Windows Mobile development because they wanted to serve the customers they had, who all knew to work in Windows, and so they designed it like Windows.
Ask The Right Question…
Why look at productivity rather than other criteria? Simple: productive programmers succeed in the marketplace, which means they will be left standing at the end of the day, as it were. Some of these will be professional programmers, who do it for a living. Some will be semi-professional programmers who write software to run their businesses: things like manage nuclear plant construction, invest venture capital, and run a plating (think: chrome plating) company, to mention three semi-professional programmers I know. Some will be domain experts who need a productive language and tools to create products for niche markets, i.e., Independent Software Vendors (ISV’s), like several that I know.
The Right Questions Start At The Top
I don’t think this requires a great deal of discussion: Directors will only ask the right questions if the right questions are asked at top of the corporate hierarchy. Otherwise they will ask the questions that are the easiest to back up with numbers, things that have quantity. Which of course leaves out questions of quality. And if questions of quality are not asked, the answers reached are unlikely to lead to quality.