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? 
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. 
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. 
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  
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. 
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. 
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.  
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. 
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.  
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. 
The inevitable consequence: Users stick with 9.0.  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
 Bigger applications  
and bigger manuals
 Long time to market
 Rising upgrade prices
to approach and even exceed the effort required to get the original release out 
the door. Expanding  
engineering teams
 Substantial testing requirements
 Applications adding  
OS features
 Economics stifling innovation
 Users ignoring upgrades
 Fewer profitable  
software companies
 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. 
[Contents]
 [Previous]
 [Next]