Sunday, January 9, 2011

Swimming in the mainstream

Are you mainstream? That is, is your project team working with mainstream technologies and techniques? And why should you care?

Let's address the last question first: do you care about being mainstream?

The classic division of technology uses three groups: early adopters, mainstream, and laggards. Some divisions use more categories, but the approach assumes a linear progression. Pick a technology, line up the users (and future users) and everyone falls on the line somewhere. Leaders are in the front, laggards in the rear.

I don't quite buy the linearity of technology adoption. I think it can be a bit more complex. In addition to the classifications of "leader", "mainstream", and "laggard", I think there are two others: "non-adopter" and "oddball".

The non-adopters are obvious: they don't use the technology, and probably never will. In the language wars, some shops adopted Java and some adopted C#/.NET. Some shops adopted both. (And a few adopted neither. They are clearly non-adopters.) The pure Java shops that never use C# are, for the linear line of C#, non-adopters. The same holds true for C# shops that never use Java. Or the Java/C# hybrid shop that never adopts COBOL.

The other category is 'oddball'. These are the shops that use a rare technology, or more often a rare technique. They may have a custom-made defect tracking system, or unusual steps in their build/test/deploy process.

You may or may not care about being mainstream. If you are a leader, a company that defines new technology, you don't want to be mainstream. You want to be out in front. Your people will be constantly learning the new technologies.

If you're not a leader, then you probably want to be mainstream. Being mainstream means that you can find new talent fairly easily (and quickly, and cheaply). Being mainstream means that you do things the way other companies do things, and your problems are the same as other companies; discussions of problems will be on supplier web sites.

Being a laggard means that in some ways, things are easier. You're following the rest of the industry, so all of the problems you encounter have probably been solved. Solutions are on the supplier web sites. You may, however, find it hard to find talent. The bright folks will have moved on to newer technologies, and the folks who admit to knowing the technology will be the older, senior (more expensive) people.

The position of oddball is like a laggard, but worse. You have used some unusual tech, or developed your own tech, or created your own processes, and no one outside of your organization understands them. Finding talent means finding people who can adapt to your processes. (These folks are really expensive.)

So you care about being mainstream. It costs you money to be otherwise. We now have the question: are you mainstream, and how can you tell?

But that will have to wait for another post.

No comments: