Law #21: The Law of Acceleration
The Law of Acceleration says that "successful programs are not built on fads, they're built on trends".
Drawing their examples from mainstream consumer products, the authors observe the tendency for companies to overestimate short-term fads. When something new becomes big and hot, companies jump on the bandwagon, spending a lot of money doing so. They restructure. They invest in new equipment. They work hard to make themselves prepared to deliver products for the fad.
And then the fad stops, and the company is left with problems:
- "What am I going to do with all the olive green refrigerators
and orange carpeting I bought just before the fashion changed?"
- "Oh, great -- I can produce fifty gazillion Cabbage Patch dolls per
day. That'll come in handy now that nobody wants them anymore."
- "Darn it! I just bought a warehouse of fruit-colored translucent plastic, and now I find that the next iMac looks like a white desk lamp."
Fads accelerate very quickly, but often don't last long. Trends have a much slower acceleration, but eventually run fast and steady. Chasing fads is expensive, so it becomes very important to learn how to distinguish them from actual long-term trends.
This discernment is particularly important for small ISVs. We are constantly being presented with new technologies, new protocols, new formats, new platforms, new components, and new APIs. Which ones will be strong in five years? We want to know if we will eventually regret building our apps on a given piece of technology.
I'm not sure this issue has ever produced questions more difficult than the ones we are facing today, such as:
- Web applications: Is this a real long-term
trend? Will it ever be possible to create rich apps with
HTML? Will Microsoft succeed in using its control of the desktop to
kill this trend?
- Web Services: Is this fad going to become a trend
or not? We loved Web Services because they were simple, but they're
simple all the time.
- Windows Forms: Microsoft wanted me to get off MFC and onto Windows Forms. Now they want me to get off Windows Forms and onto Avalon. Doesn't anybody have an available API which is not planned for deprecation?
These may not seem like marketing decisions, but they are. Technology choices have big marketing implications. When you choose a platform, you define the maximum size of your market.
I can't answer the questions above, but I will repeat one thing I've said before: The technologies from the previous wave still work. If you want to be an INETA speaker, yes, you need to be current with the very latest stuff. But if you are building products or solutions to be used today, there isn't any shame in choosing a platform and toolset which has completely proven itself as more than a fad.