B
Big Feet
Hi,
I'm preparing some notes for my students on software maintenance and am
making some comments on adding new features versus re-writing the whole
package.
I'd appreciate it if someone can read over what is below (constructed from
my own patchy memory of reviews) and point out any errors.
Thanks.
--
To upgrade or overhaul?
With any piece of software that faces maintenance over a long period of
time, there can be so many changes applied to the original that it may
become progressively more difficult to maintain. Imagine a building that
has many extensions added to it, leading to a maze of corridors that are
difficult to navigate and a series of wiring and plumbing modifications
that lead to lots of 'tracking' along walls and ceilings. Far from being
useful and efficient, many problems have been introduced. Because the
building has become inefficient and ugly, it may be cost-effective to knock
it down and do everything that is wanted nowadays more efficiently.
The same is true of software. As more and more features are added and
changes made to the original design, developers may eventually re-write the
system to avoid having a huge system full of procedures that might not even
be used any more.
For example, Microsoft Word is now in version 11 (marketed as Word 2003).
However very little, if anything, of the original program remains.
In the mid 1990s, Word version 6 became very popular among users of MS
Windows 3. This was a GUI-extension to the DOS operating system. Word 7
was released in 1995 to coincide with Windows 95, the full-GUI replacement
for DOS. Word 7 (aka Word 95) was an adaptive change to Word 6. The
adaption was to make it run properly on the new operating system. Users
noticed few major changes.
Word 8 (or, Word 97) was a complete re-write. Because Word 6/7 had been
through a lengthy maintenance phase including several service packs, it was
known that adding major new features to it could introduce serious
problems. Also, as Word 7 (for Windows 95) was an update of Word 6 (for
Windows 3) there were some procedures remaining that were probably not used
in the Windows 95 version. These were not removed, however just in case of
the knock-on consequences.
As a result, Word 8 (97) was the result of a new design in order to
streamline the product. In a similar way, Word 9/2000 was an adaptive
improvement to Word 8 and Word 10 (marketed as XP) was a re-write.
This procedure is followed in many systems - periodically re-designing the
system to purge features that are no longer required.
I'm preparing some notes for my students on software maintenance and am
making some comments on adding new features versus re-writing the whole
package.
I'd appreciate it if someone can read over what is below (constructed from
my own patchy memory of reviews) and point out any errors.
Thanks.
--
To upgrade or overhaul?
With any piece of software that faces maintenance over a long period of
time, there can be so many changes applied to the original that it may
become progressively more difficult to maintain. Imagine a building that
has many extensions added to it, leading to a maze of corridors that are
difficult to navigate and a series of wiring and plumbing modifications
that lead to lots of 'tracking' along walls and ceilings. Far from being
useful and efficient, many problems have been introduced. Because the
building has become inefficient and ugly, it may be cost-effective to knock
it down and do everything that is wanted nowadays more efficiently.
The same is true of software. As more and more features are added and
changes made to the original design, developers may eventually re-write the
system to avoid having a huge system full of procedures that might not even
be used any more.
For example, Microsoft Word is now in version 11 (marketed as Word 2003).
However very little, if anything, of the original program remains.
In the mid 1990s, Word version 6 became very popular among users of MS
Windows 3. This was a GUI-extension to the DOS operating system. Word 7
was released in 1995 to coincide with Windows 95, the full-GUI replacement
for DOS. Word 7 (aka Word 95) was an adaptive change to Word 6. The
adaption was to make it run properly on the new operating system. Users
noticed few major changes.
Word 8 (or, Word 97) was a complete re-write. Because Word 6/7 had been
through a lengthy maintenance phase including several service packs, it was
known that adding major new features to it could introduce serious
problems. Also, as Word 7 (for Windows 95) was an update of Word 6 (for
Windows 3) there were some procedures remaining that were probably not used
in the Windows 95 version. These were not removed, however just in case of
the knock-on consequences.
As a result, Word 8 (97) was the result of a new design in order to
streamline the product. In a similar way, Word 9/2000 was an adaptive
improvement to Word 8 and Word 10 (marketed as XP) was a re-write.
This procedure is followed in many systems - periodically re-designing the
system to purge features that are no longer required.