Anyone else out there sick of “Us versus Them”? Afterthought…

This morning I had an afterthought regarding my post last night Anyone else out there sick of “Us versus Them”?

I recognize that there are cases where the debate is necessary, or at least may be perceived as necessary. So, in that case I would add one more item to my “guidelines”:

6. If you absolutely must try to convert people to your point of view (in violation of item 5), try describing what is positive about the solution you support, rather than ranting and raving about why the alternative is evil and will bring about the downfall of civilization as we know it. (“Microsoft is evil” is not a valid argument).

(Note this is one of the biggest problems of our time, not just in software, but everywhere. Look at our leadership – no one presents viable, intelligent alternatives to anything, they just bash the opposition.)

Anyone else out there sick of "Us versus Them"?

Well? No, I am not talking about politics, war, or religion (though I guess I could be). I am talking about the software/technology business. There are days the whole business just annoys the crap out of me. Let me step back a bit…

I was just on Google Reader, reviewing my various RSS feeds – specifically my Digg feed. I know I should stay away from that feed, but I just cannot seem to – it is like watching Fox News, or listening to clips from Howard Stern, even though I know something in there is going annoy me, bug me, disgust me or otherwise create negative feelings, I just cannot resist looking.

What typically ticks me off on Digg is a post (usually more than one) on the following ongoing us-versus-them arguments:

  1. Linux versus Windows
  2. Mac OSX versus Windows
  3. Open Source versus Microsoft
  4. Open Source versus any commercial software
  5. ODF versus Open XML
  6. Java vs C++ vs .NET versus any other language
  7. Dynamic languages versus any other languages
  8. Web Applications versus Desktop Applications
  9. And many many more

At any given time on Digg, on blogs, and in the “regular” press, you can find lots and lots of people blathering on about these subjects. Sometimes, you can even find me blathering on about them. Most of these posts are characterized by the following:

  1. They are poorly written, grammatically incorrect, etc.
  2. They are very emotional, and often hate-filled (and occasionally filled with colourful metaphors)
  3. They are low on factual information
  4. They imply (or more often, openly state) that anyone who disagrees with the post is so completely stupid that they do not deserve to live

Here are a few examples: So you think that Microsoft’s Open Office XML is ‘Teh Shiznitz’?, Virtualize Windows on Linux? Microsoft Says No Way!, Surprise: Microsoft not so ‘open’ after all?, Is the era of Microsoft Ending?, and a lot of the VistaSucks blog.

There are days that I feel if I hear/read/see one more of these stories, I am going to trash my computer, tie my belongings in a kerchief on the end of a stick and become a hobo. In a more productive vein, I would like to suggest the following guidelines:

  1. Use whatever OS you like. If you like Linux, use Linux. If you like Windows, use that. Same for OSX. Heck use CPM if you want.
  2. If you are a programmer, use whatever language you want, or which makes sense for a given project. If your employer will not let you use the language you like, stop whining and get a new job.
  3. If you like MS Office, use it. Same for OpenOffice or StarOffice.
  4. If Web Applications make sense for you, use them. If you like desktop apps, use them.
  5. Whatever you use for whatever you do, please shut up about it, and stop trying to convert everyone in the world to your point of view!

But I want to be Disruptive!

I have spent a great deal of time over the last couple of years thinking about the process of innovation, different types of innovation, and how to innovate in a small but established organization versus a startup organization. I was reading Innovator’s Dilemmas: Do You Really Need To Be Disruptive? over on consultaglobal this weekend, and got to comparing some of Jose’s thoughts with work I have done in the last year.

As Jose says in that post, he is more interested in the process of defining a product roadmap in terms of gradual innovation, and in managing product portfolios. We have been very successful with this type of innovation, having a strong product management process for our existing product suite. In my role, I have been more interested in how we do larger scale innovation – how do we come up with the innovations now which are going to drive our growth 2+ years from now?

I have defined an innovation cycle as shown below.

image

Recognizing that disruptive innovation is, well, disruptive, as this cycle is traveled counter-clockwise starting from the upper right, we go from a high-chaos, low-process environment to progressively higher process and lower chaos.

In this model, the upper right quadrant represents what we are really good at, evolutionary innovation driven by product management.  The upper right quadrant represents the starting point – the idea generation engine. This is traditionally a hit and miss process of collecting ideas from various parts of the organization (or just a few people), and trying to pick which ones to invest time and money in. It is my belief that this activity can be wrapped in a process without destroying the creativity needed to really come up with ideas. Among the activities I consider important in this quadrant are:

  • Establish some context for innovation (see this earlier post)
  • Get ideas from everybody, not just R&D or Product Management
  • Get out and talk to customers
  • Involve your staff who are in front of customers, especially professional services people if you have them
  • Engage in structured/facilitated brainstorming with groups from various cross-sections of your company
  • Know how you are going evaluate ideas and decide which ones to investigate more deeply

The last point is important – it is no use having lots of ideas if you have no way to evaluate them. No organization can go deep on all the ideas generated, and a small organization can only really attack a couple. See this earlier post for my thoughts on using the Needs, Approach, Benefits, Competition (NABC) approach. At the end of this stage, and ideas should have a reasonable Needs definition, with a rough indication of the other three categories.

The next quadrant is what I have called Play. This is where ideas which survive the evaluation in the Ideas stage and start to play with them, flesh them out, create prototypes, and generally move the NABC definition forward. Early in this phase, the Approach needs to be clarified, while the Needs are evaluated more deeply.  Later in this stage, if a viable Approach is identified, and the Needs continue to make sense, then the Benefits and Competition need to be addressed (note that in reality, it is never anywhere near this linear, but this is for the benefit of description). By the end of this stage, we should be able to present a fairly strong value proposition for those ideas which have survived the process.

The next stage is to Build the products (ok, probably only one) for which the value proposition seems best. I will not get into the build process, except to say that the NABC analysis should be kept at the forefront throughout the process, and not be afraid to make hard decisions if things stop making sense.

The final stage is the Evolution stage, where the product moves into the incremental, evolutionary development cycle of a completed product. Note that for a new product, there may be some iteration between Build and Evolve.

Finally, the cycle is closed by having ideas from ongoing product evolution feed back into the Ideas stage.

So, is it ever this neat and clean and linear? Well, no. But that does not mean it is not valuable to have a model which you at least pretend you are following!

Someone Already Thought of My Idea – Now What?

This post Someone Already Thought of My Idea – Now What? is a few months old, but I just came across it tonight. it makes some very good points about a problem I think many of us have – we want to come up with that brand new, perfect idea, that no one else has ever even dreamed of.

Well, it is probably not going to happen. No matter how smart you are, there are many many people out there as smart or smarter (unless you are that one person out there who actually IS smarter than everybody else – it is not me, so I am not going to worry about it), and it is highly likely that at least one of them will have thought up an idea very similar to yours.

So, what do you do about it? Well, you do not give up for one thing. Just because someone has the same idea you have, does not mean they have the same business you have. There are so many variables, and so many opportunities to innovate every aspect of your approach, that you absolutely can do it better than someone else.

Ultimately, it comes down to execution. Given two people/organizations with the same idea, the one that executes better has a much higher likelihood to win. Note that no matter how good your execution or anything else, there are no guarantees – you can do everything right, make no mistakes, and still lose (I think Picard said that on STNG – kind of sad that I am quoting Star Trek wisdom!).

I will make an analogy with football (I frequently do – and I mean American football, not soccer). Both teams in a football game have the same objectives, often have very similar levels of talent, are on the same field with the same playing conditions, and really have pretty much all the same tools and strategies available to them. More often than not, the team that wins is the team that executes the best on game day – executes on the fundamentals, and does not do things to hurt themselves.

Much the same holds true in starting a business, and when you find out someone else has had the same idea as you, you only have two choices: execute better than them, or leave the field and find a new game.

Brainstorming is a bad idea? (again)

It is amazing how a single post by the right person can stir up so much commentary. The latest I have read is One head is better than two or more. As Patricia pointed out in a comment to my previous post on this, The Medici Effect author also goes on to say:

“So, should we all stop brainstorming? I don’t think so. Done right, brainstorming is a highly effective way to actively generate intersectional ideas.”

Brainstorming, like any other human-centric activity, needs a process. Throwing a bunch of people into a room and saying “create brilliant ideas” is not an effective process. To me, this is analagous to putting a bunch of programmers in a room with no process and saying “create a wonderful product” (though admittedly, I have seen a fair number of companies try to do software development this way!). Similarly, badly run, pointless meetings with no clear purpose, and no process, do indeed make us collectively dumber.

Anyone who has ever been on an over-acheiving team (work, sports, or otherwise) knows from experience that the right team, working together with an effective process, can achieve things that none of the individuals could come close to working seperately.

Undertaking any group activity, whether brainstorming, software development, or running a business with no process or a bad process will indeed frequently lead to the result that working alone is more productive and more satisfying than working in a group. Does that mean you stop the activity? No, it means you fix the process.

Computing Infrastructure as a Utility

Just read Nirvanix To Challenge Amazon S3. I have been playing with Amazon’s web services for a number of months now, and I am impressed with some of what is there, and Nirvanix looks to be in a positions to challenge the same space. I find it interesting to look at some of the “success stories” on Amazon’s web site, reflecting to the potential for web startups to avoid large initial investments in infrastructure. Even in a well funded startup, it would make sense to focus resources on core IP, as opposed to buying infrastructure.

In my opinion, this is a more fundamental shift than many trends receiving a great deal more hype. Previous ASP hosted models, and more current SaaS models are less fundamental than this. To have a computing infrastructure that performs like a utility opens up many new possibilities.

Now I just have to figure out what they are 🙂