Upgradability
Commercial pressures coupled with constant improvement in hardware
performance and capability lead software manufactures to regularly upgrade
software. The upgrade may provide functionality identified as necessary by
users or which is present in a rival version or it may take advantage of
improved processor speeds or increased memory or new hardware features like a
larger screen size in a new generation of hardware. A new operating system for
a particular hardware platform may result in upgrades of applications software
to take advantage of the new operating system's features.
Since the purpose of providing software upgrades is both to gain new
customers while retaining existing ones, upgrades are usually upwards
compatible. That is to say that the new version of the program will be able to
process files created by previous versions. The reverse will not always be
true.
Files created using an earlier version of the software may need to be
converted if the upgrade uses a different file format. This will normally
happen automatically the first time the file is accessed by the upgrade but it
may be a time consuming process. Problems can arise if the conversion algorithm
fails to work properly in all situations.
Other problems can be experienced when upgrading software. The existing
hardware platform may either be insufficient for the upgrade version or else
run it very slowly. The upgrade may require more disc space than the older
version. If the user interface has changed then experienced users may take time
to adjust so that initially the upgrade is used less efficiently than the
previous version. In addition, if production of the upgrade has been rushed for
commercial reasons, it may actually contain more bugs than the version it
replaces.
Software firms often encourage customer loyalty by offering upgrades of
existing packages on favourable terms. Another marketing strategy is to offer
older version of the software at reduced prices and aim to make money when the
customer upgrades to the latest version.
Reliability
All but the most trivial items of software can be expected to contain
bugs. The programs are so complex and produced under such time constraints that
this is inevitable. On the whole, users are generally satisfied if the software
broadly behaves as expected. They accept the occasional failure
philosophically. Indeed in some cases, where a known sequence of operations
causes the software to fail, they will simply avoid that sequence of
operations.
Software firms attempt to remove the bugs from a program before it is
launched. This is done by testing the operation of the program or computer
system before putting it on sale or commissioning the system. In the case of
software testing is carried out. Here a pre-launch version of the software is
given to a number of potential users to test in the field. This process has
become so common place that it has it's own terminology Where an alpha version
is tested in the software house itself, then after correction a beta version is
given to selected "partner" companies. These companies have the benefit of
seeing the software first and my get cheaper final copies. In return they test
the package and report faults. When a package is finally released it makes
sense to wait six months before purchase and let other people iron out the
glitches!
|