Sponsored Link •
For all intents and purposes, Microsoft has infinite financial resources. But they create almost no new applications, and they had to seriously cut back on the features of Vista to get it out.
I'm not interested in Microsoft-bashing here. Instead, let's look at it scientifically. Here's an experiment where financial limitations are not (or at least, should not be) a limitation. If all it took was money, then Microsoft should have been pumping applications and OS improvements into the marketplace for years now.
Instead, the flow seems to be significantly reducing over time.
This means that money isn't the limiting factor to software development. Even if you can hire scads of the best programmers around, it doesn't seem to help. I would argue that this is a conclusive experiment, because it's hard to imagine having more financial resources than Microsoft has.
And they have undoubtedly used those resources to try to figure out how to be more productive, to no avail.
There are clearly many factors influencing productivity. One possible influence that I have seen in numerous organizations is the effect of the charismatic leader. In the early days of the company, the charismatic leader establishes the style and culture of the company, and no matter how the company tries to change later, it can never shake off that early learning.
Microsoft's early days involved "sleeping under the desks." To solve a problem, you throw yourself against it incessantly, working longer and harder hours, until you solve it.
Studies show again and again that working harder doesn't lead to smarter results. But in most companies, "working harder" is all we know how to do in response to greater challenges. If there exists a field where "working smarter" is what it's all about, it's software. But "harder" is our knee-jerk response to pressure, and it's really difficult to overcome your limbic system.
But that's just one possible explanation. In the end, it could have an influence but not be the dominant factor. The true bottleneck could turn out to be the communication problem as the company gets larger. Or the loss of control that the individual feels as the company assumes more control. Or the fact that as a company becomes "big" (and I think "big" means something different -- and smaller -- in software than it has traditionally meant in other industries), the people it can hire are probably not the movers and shakers, who don't want to waste their energies fighting corporate infrastructure to get something done.
Maybe it's about experimentation. Individuals and small groups feel safe, and may even be compelled to experiment. A larger company tends to be more risk-averse and puts dampers on experimentation.
I'm just brainstorming here and probably none of my guesses are where the true bottleneck is. What do you think?
|Bruce Eckel (www.BruceEckel.com) provides development assistance in Python with user interfaces in Flex. He is the author of Thinking in Java (Prentice-Hall, 1998, 2nd Edition, 2000, 3rd Edition, 2003, 4th Edition, 2005), the Hands-On Java Seminar CD ROM (available on the Web site), Thinking in C++ (PH 1995; 2nd edition 2000, Volume 2 with Chuck Allison, 2003), C++ Inside & Out (Osborne/McGraw-Hill 1993), among others. He's given hundreds of presentations throughout the world, published over 150 articles in numerous magazines, was a founding member of the ANSI/ISO C++ committee and speaks regularly at conferences.|