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]