[Contents] [Previous] [Next]

Commercial software developers

Commercial software developers face a mature and unforgiving software market in the mid-1990s. Innovative new products are becoming more and more difficult to develop and market successfully. The software needs of many users aren't being met. In many ways, the state of commercial software development reflects the state of the industry as a whole.

Ten signs of trouble

Anyone involved in creating, marketing, or using commercial software packages can recognize the signs of trouble described here.

Fewer new applications

Check out your favorite computer trade magazine. What are the software mail-order houses selling these days? Version 6.0 of a popular word processor. Version 4.0 of one presentation program, version 5.0 of another. New versions of two or three big spreadsheet applications, of page-layout applications, of low- and high-end graphics programs, of utilities and communications packages and financial applications. But how many listings can you find for brand new, version 1.0 applications? You'll have to look hard; there aren't many.

How many new application categories have emerged in the past few years? For example, how many new kinds of applications solve group and enterprise problems? Is everyone so busy revising their current applications or porting them to new platforms that they don't have time to develop new ones? Have all the important applications already been written? Or have thousands of markets not had their needs addressed or even recognized?

Bigger applications and bigger manuals

Six or seven years ago you could fit your whole operating system, an application, and a few documents on a 400K disk. After a while you needed an 800K disk. Today a 1.44-MB disk usually isn't enough for the application by itself, and you're lucky if a major business application package comes on fewer than five disks of compressed files. Many occupy 20 MB or more of disk space after they're installed.

Why such big applications? Because each new version is loaded with more and more new features. Most users don't use or even know about the added features despite forests of dialog boxes and menus and submenus that hit the bottom of the screen. All those new features have to be documented, so of course manuals keep getting bigger too. You don't hear companies boasting about their featherweight manuals anymore. Software manuals can run to several volumes of hundreds of pages each--and users need to spend lots of time reading those pages to use the applications effectively.

Despite all the new features, users aren't getting the kinds of capabilities they need in areas such as workflow management, real-time collaboration, decision support, and business-specific distributed computing applications.

Long time to market

As the complexity of system software and applications increases, so does the time it takes to bring a new product or a new release of an existing product to market. Two or three years between releases is common. In the interim, users may switch to a competing application. More importantly, the time it takes to get a 1.0 application to market can easily exceed the funding window of a startup company with a good idea and specialized understanding of a particular market. This is especially true of applications for business computing environments.

Rising upgrade prices

Another consequence of the length of time between releases is that upgrade prices are approaching what applications themselves used to cost. Companies that used to send out upgrades free may now charge a hundred dollars or more for each one, depending on how recently you bought your first version. This isn't to say that upgrades aren't worth the money; they always include new features, some of which you may even use. Prices have risen because the effort of producing an upgrade to a successful commercial application is beginning
to approach and even exceed the effort required to get the original release out the door.

Expanding engineering teams

Ten years ago, a couple of typical programmers with a good idea could create an application and have a chance of establishing a successful commercial-grade product. Now it's more common to see 10-, 20-, or even 100-person teams working on applications. Good applications still emerge from time to time that are written by one or two gurus--but there have never been and never will be enough gurus to write all the software that needs to be written.

Substantial testing requirements

The number of testers on some software teams is beginning to equal or exceed the number of engineers, and many projects can't afford all the testers they really need. In the old days, you could create an application, test it in a few configurations, and you'd be through. But now there are so many possible configurations of hardware, system software, networks, and installation options, that testing--even for a single platform--has become a nightmare. With multiple platforms, the problem is compounded. Frame tests dozens of different versions of FrameMaker for its markets. Lotus tests Lotus 1-2-3 for hundreds of printer configurations. All this work takes many highly skilled people, a lot of time, and a lot of money.

Applications adding OS features

Another reason applications are getting so big is that software developers are often forced to add what amount to operating system capabilities. No matter how quickly system software vendors like Apple, IBM, or Microsoft develop system software extensions and refinements, they can never meet all the specific system software needs of the big commercial developers--not to mention the more specialized needs of corporate developers or small companies developing for vertical markets.

Some developers claim that over half of their application code is really system software needed to get their applications to work. They have to extend the existing operating system, or work around bugs, or shield themselves from parts of the system that work against what they're trying to do. Rather than hiring people with expertise in a particular domain, such as publishing or accounting, developers have to hire computer systems experts to write user interface elements, printer drivers, line layout systems, fixed-point graphics models, help systems, and so on. Application teams routinely include more specialists in various areas of software engineering than in the tasks that an application is supposed to perform.

Economics stifling innovation

The economics of software development are beginning to dictate the kinds of applications that will and won't be developed. The cost of developing, testing, documenting, duplicating, and legally protecting a major commercial-grade horizontal or vertical application can exceed $50 million, and that's just for development; marketing and support can require similar expenditures.

Not many companies can raise that kind of capital. An application that involves an innovative concept for a new, unproven market isn't likely to attract such sums. Instead, the economics of software development increasingly favor large, feature-laden applications for large, established markets. In general, a successful mainstream application requires something on the order of 100,000 units per year in sales to amortize the development costs, which implies a market of, say, a million units per year if the application claims a 10 percent share of a given segment. This means that certain kinds of applications are likely to get written, and other kinds don't stand a chance. Most software companies can't afford to target markets of 10,000 or 1,000 or 100 units per year.

Yet there are many more potential customers in focused, vertical markets than in traditional horizontal markets. Despite the personal computer revolution of the past decade or so, over half of the business workers in the United States still don't even have computers on their desks. This isn't necessarily because they can't benefit from computing. It's more likely due to the absence of software adapted to their specific business needs.

Users ignoring upgrades

People who do use computers are continuing to buy machines, but they aren't upgrading their applications at the same rate. For example, in recent years hardware unit volume has increased substantially as prices have decreased. But the increase in software unit volume hasn't kept pace. Plenty of customers are buying second machines and faster replacement machines to run their existing applications, but fewer seem to see the value in upgrading their applications. When they do upgrade, it's often because they need to maintain compatibility with their colleagues, not because they intend to use the new features.

Fewer profitable software companies

The logical consequence of these trends is fewer and fewer profitable software companies. Over the past several years, software market share has become increasingly consolidated within a few large companies. A very small percentage of software titles command the vast majority of total software sales. Big companies are buying up little companies at an increasing rate, because only the biggest companies can afford the scale of organization and expenditure it takes to develop and sustain successful applications for today's computer systems.

In the limit . . .

It's not hard to imagine where the commercial software industry is headed if these trends continue to their logical extreme. Eventually, only one software company will be making money--the company selling version 10.0 of its single all-purpose application, WordSheet. WordSheet 10.0 is developed by the top 100 software gurus in the world, who all work for the company. Tested by 250 test engineers, four years between releases, and costing $500 per upgrade, WordSheet 10.0 doesn't fit on floppies anymore. You have to buy it on a CD.

The inevitable consequence: Users stick with 9.0.


[Contents] [Previous] [Next]

Addison-Wesley Publishing Company, Copyright©1995 by Sean Cotter and Taligent,Inc. All rights reserved.