May not be redistributed commercially without the author's permission.


Why Microsoft Doesn't Have to Cheat to Win

Arnold Kling, "Arguing in My Spare Time", No. 4

The central question raised by the success of Microsoft is the following:

Given that Microsoft software is flawed, how is it

such a dominant company?

Many observers suggest that Microsoft's success can be explained only at best by clever marketing, or at worst by unfair competitive tactics. The case for government intervention against Microsoft is much stronger if Microsoft is cheating.

It is not axiomatic, however, that a company with imperfect software products must cheat in order to win. This would only be the case if other companies produced perfect software. Yet anyone with decent experience in the field knows that software is not perfect.

Microsoft usually is compared with other software firms. However, from a broader persepctive, Microsoft and other software firms are competing against the MIS departments of large corporations. This essay looks at some of the advantages that the pure software companies have in this arena.

Competing with Dilbert

Most software today is developed and maintained by the Dilbert sector--the financial service companies, telecommunications giants, and other firms whose primary business is not software development. The proprietary software that has been built by the Dilbert sector is not as flexible and modern as the software developed by companies that are primarily software firms, such as Microsoft or Oracle.

The long-term prognosis is for the Dilbert sector to fade out of the software business and leave the job to professionals. As this occurs, Microsoft should continue to prosper.

In the past, many companies in the Dilbert sector designed their own programs to manage data. Today, generic database software performs this task more effectively.

In the past, companies in the Dilbert sector designed reporting and calculation tools. Today, this function is handled by spreadsheets.

In the past, companies built screen interfaces from scratch. In the first half of this decade, they began to save some of the design effort by taking advantage of the components available in Windows (tm) software. The components available in Web browsers make the design process simpler still.

In the past, companies designed the communication components of their applications. Today, they can take advantage of the infrastructure provided by Internet protocols.

Each increment of progress in the computer industry serves to reduce the scope of software activity required for corporate MIS departments. The proportion of software components that can be obtained from the professional software development sector is increasing, and the need for proprietary components is decreasing.

Pure software companies have evolved a more powerful process for software development than that used in the Dilbert sector. The differences include the product cycle, the management process, and the status of code developers.

Professional software firms have a product cycle geared toward continuous improvement. Just as a farmer begins to prepare the ground for a new crop as soon as the harvest is in, a professional software firm already has begun working on the next version of a product when the latest version is released.

In the Dilbert sector, by contrast, the thought of continually re-doing software is anathema. A successfully-completed systems effort is treated as a great monument to be revered and admired. Rewriting a recently-developed system is as unthinkable as blowing up the Hoover Dam. The legacy of so-called "legacy systems" is one of constraints on business process improvement, costly and unpleasant maintenance chores (the most famous of which is the "year 2000 problem"), and an incoherent systems architecture consisting of pieces from a variety of software eras; the Dilbert sector's agenda ought to be to cast off its inheritance.

Professional software firms manage their projects in small teams. The overall vision for a product often is controlled by one system architect. On the other hand, in the Dilbert sector, systems are designed by a political process and managed by committee. The need for compromise and consensus-building leads to requirements that are too extensive and unfocused. The process itself causes the development cycle of the projects to be extended. This means that changes in business needs and key personnel often take place before the project is far along. That in turn means new delays, as the requirements are re-worked and consensus re-established. It is all too common for a systems effort to remain stuck on a political treadmill for years, with nothing of substance ever delivered.

Professional software firms give relatively high status to the people who actually write code. Their work is respected, they are paid well, and they are not surrounded by management.

In the Dilbert sector, code-writers have low status. They are not paid nearly as well as their counterparts in the professional software industry. Wherever they look within the organization, they see middle managers with less technical ability receiving more pay and higher status. Software engineers often must choose between a career path of writing code and remaining on the lowest rungs of the organization or wasting most of their time in meetings in order to try and get ahead.

Whenever professional, dedicated software competes with the Dilbert sector, professional software will win. In the mainframe era, the Dilbert sector thrived because professional software development was restricted to operating systems and other programming that was close to machine level. This provided only a thin infrastructure, and the large gap between this infrastructure and the needs of users brought led to the growth of corporate MIS divisions.

Today, the infrastructure is becoming richer. The gap between the capabilities of the software infrastructure (operating systems and generictools) and the needs of end users is shrinking. Microsoft, as a premier supplier of software infrastructure, is positioned to benefit from this, what is arguably the most important trend in software economics. Even if Microsoft does not cheat, it stands to win from the decline of the Dilbert sector.