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.

Re: Development of Word 6/7/8/9 by Suzanne

Suzanne
Sat Nov 29 09:30:54 CST 2003

I would question the statement that "very little, if anything, of the
original program remains." I have my original manuals from Word 2.0 (first
Windows version), and I am constantly amazed by how many of the features I
have discovered only recently were available even in that version (and
probably in the DOS versions that preceded it). Many of them (indexes, TOCs,
many other fields) have been made easier to use by provision of a GUI, but
the basic structure has not changed. IOW, no matter how you insert a
field--through a GUI or by hand coding, the resulting field is just the
same.

I would not disagree with your assessment that a complete tear-down and
rebuild might make Word more efficient, but the problem of backward
compatibility, given the installed user base, is a very strong deterrent to
this approach and would be fiercely resisted by users.

--
Suzanne S. Barnhill
Microsoft MVP (Word)
Words into Type
Fairhope, Alabama USA
Word MVP FAQ site: http://www.mvps.org/word
Email cannot be acknowledged; please post all follow-ups to the newsgroup so
all may benefit.

"Big Feet" <xnews.20.bigfeet@spamgourmet.com> wrote in message
news:Xns94427F1F346B9xnews20bigfeetspamgo@194.168.222.9...
> 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.



Re: Development of Word 6/7/8/9 by Big

Big
Sat Nov 29 10:32:49 CST 2003

Thanks Suzanne.

Maybe that needs a little clarification. What I want to say is that while
design features are added and modified, the code itself (in C, C++ or
whatever) is periodically re-written from the floor up. The point being,
to avoid the maintenance nightmare that a never-ending series of bolt-ons
would create.

Thus while the features I commonly use in Word 97 (home) and Word 2000
(work) look and act pretty much like they did in Word 6 and WinWord 2, the
stuff that makes it all work is a different beast entirely.

I seem to recall reading that in a review somewhere - maybe I am confusing
it with a re-write of something else?

Or is that way off the mark?

"Suzanne S. Barnhill" <sbarnhill@mvps.org> wrote in
news:erpLLBptDHA.2508@TK2MSFTNGP12.phx.gbl:

> I would question the statement that "very little, if anything, of the
> original program remains." I have my original manuals from Word 2.0
> (first Windows version), and I am constantly amazed by how many of the
> features I have discovered only recently were available even in that
> version (and probably in the DOS versions that preceded it). Many of
> them (indexes, TOCs, many other fields) have been made easier to use
> by provision of a GUI, but the basic structure has not changed. IOW,
> no matter how you insert a field--through a GUI or by hand coding, the
> resulting field is just the same.
>
> I would not disagree with your assessment that a complete tear-down
> and rebuild might make Word more efficient, but the problem of
> backward compatibility, given the installed user base, is a very
> strong deterrent to this approach and would be fiercely resisted by
> users.
>
[snip]

Re: Development of Word 6/7/8/9 by Larry

Larry
Sat Nov 29 10:49:11 CST 2003

I'm wondering if the motive for a major overhaul, as with Word 97 or
Word 2002, is what you're suggesting, that added on features have become
too unwieldy, or whether it's just part of the general drive toward
continual innovation and improvement.

The latter would seem to be supported by what Suzanne said, that Word
does not get rid of old features, but that they persist from one version
to the next. I recently helped someone set up Word 6 on a laptop, and
its's remarkable how much of Word 97 (the version I'm familiar with) was
in the much more primitive Word 6.

Larry




"Big Feet" <xnews.20.bigfeet@spamgourmet.com> wrote in message
news:Xns9442A8525FA1Bxnews20bigfeetspamgo@194.168.222.15...
> Thanks Suzanne.
>
> Maybe that needs a little clarification. What I want to say is that
while
> design features are added and modified, the code itself (in C, C++ or
> whatever) is periodically re-written from the floor up. The point
being,
> to avoid the maintenance nightmare that a never-ending series of
bolt-ons
> would create.
>
> Thus while the features I commonly use in Word 97 (home) and Word 2000
> (work) look and act pretty much like they did in Word 6 and WinWord 2,
the
> stuff that makes it all work is a different beast entirely.
>
> I seem to recall reading that in a review somewhere - maybe I am
confusing
> it with a re-write of something else?
>
> Or is that way off the mark?
>
> "Suzanne S. Barnhill" <sbarnhill@mvps.org> wrote in
> news:erpLLBptDHA.2508@TK2MSFTNGP12.phx.gbl:
>
> > I would question the statement that "very little, if anything, of
the
> > original program remains." I have my original manuals from Word 2.0
> > (first Windows version), and I am constantly amazed by how many of
the
> > features I have discovered only recently were available even in that
> > version (and probably in the DOS versions that preceded it). Many of
> > them (indexes, TOCs, many other fields) have been made easier to use
> > by provision of a GUI, but the basic structure has not changed. IOW,
> > no matter how you insert a field--through a GUI or by hand coding,
the
> > resulting field is just the same.
> >
> > I would not disagree with your assessment that a complete tear-down
> > and rebuild might make Word more efficient, but the problem of
> > backward compatibility, given the installed user base, is a very
> > strong deterrent to this approach and would be fiercely resisted by
> > users.
> >
> [snip]



Re: Development of Word 6/7/8/9 by Jay

Jay
Sat Nov 29 14:39:18 CST 2003

Hi, Larry,

I can't speak for Microsoft's Office Development team at this point
(although I will ask the next time I get the chance). But my own
software development experience is that large projects *do not* get
complete rewrites at regular intervals, and especially not just to
eliminate maintenance nightmares.

Parts of the software are rewritten when some underlying technology
changes in a way that means the old code won't work any more, so
there's no choice; or when the license for third-party code lapses or
gets too expensive; or possibly when the old architecture makes it
impossible to add features that customers really want. As for
completely rewriting something like Word -- never! Try to imagine the
economics involved. It would take years, maybe decades, to recoup the
cost.

This issue is one of the main reasons for modularizing code. For
example, you can redesign the entire user interface without changing
the file structure, the open and save routines, or the font
rasterizer. You can (usually) update any one part of the software
while leaving the rest untouched. A great deal of effort is put into
defining the "interfaces" between the modules so that each one can
consider the others to be "black boxes".

As the last member of what used to be a team of five, maintaining a
20-year-old program, I will say with confidence that some code never
dies. <g>

"Larry" <larry328@att.net> wrote:

>I'm wondering if the motive for a major overhaul, as with Word 97 or
>Word 2002, is what you're suggesting, that added on features have become
>too unwieldy, or whether it's just part of the general drive toward
>continual innovation and improvement.
>
>The latter would seem to be supported by what Suzanne said, that Word
>does not get rid of old features, but that they persist from one version
>to the next. I recently helped someone set up Word 6 on a laptop, and
>its's remarkable how much of Word 97 (the version I'm familiar with) was
>in the much more primitive Word 6.
>
>Larry
>
>
>
>
>"Big Feet" <xnews.20.bigfeet@spamgourmet.com> wrote in message
>news:Xns9442A8525FA1Bxnews20bigfeetspamgo@194.168.222.15...
>> Thanks Suzanne.
>>
>> Maybe that needs a little clarification. What I want to say is that
>while
>> design features are added and modified, the code itself (in C, C++ or
>> whatever) is periodically re-written from the floor up. The point
>being,
>> to avoid the maintenance nightmare that a never-ending series of
>bolt-ons
>> would create.
>>
>> Thus while the features I commonly use in Word 97 (home) and Word 2000
>> (work) look and act pretty much like they did in Word 6 and WinWord 2,
>the
>> stuff that makes it all work is a different beast entirely.
>>
>> I seem to recall reading that in a review somewhere - maybe I am
>confusing
>> it with a re-write of something else?
>>
>> Or is that way off the mark?
>>
>> "Suzanne S. Barnhill" <sbarnhill@mvps.org> wrote in
>> news:erpLLBptDHA.2508@TK2MSFTNGP12.phx.gbl:
>>
>> > I would question the statement that "very little, if anything, of
>the
>> > original program remains." I have my original manuals from Word 2.0
>> > (first Windows version), and I am constantly amazed by how many of
>the
>> > features I have discovered only recently were available even in that
>> > version (and probably in the DOS versions that preceded it). Many of
>> > them (indexes, TOCs, many other fields) have been made easier to use
>> > by provision of a GUI, but the basic structure has not changed. IOW,
>> > no matter how you insert a field--through a GUI or by hand coding,
>the
>> > resulting field is just the same.
>> >
>> > I would not disagree with your assessment that a complete tear-down
>> > and rebuild might make Word more efficient, but the problem of
>> > backward compatibility, given the installed user base, is a very
>> > strong deterrent to this approach and would be fiercely resisted by
>> > users.
>> >
>> [snip]
>


--
Regards,
Jay Freedman
Microsoft Word MVP FAQ: http://www.mvps.org/word

Re: Development of Word 6/7/8/9 by Cindy

Cindy
Mon Dec 01 16:15:39 CST 2003

Hi Big,

Actually, in the case of Word, this is not correct. Word 97, 2000, 2002 and
2003 are all built around the "core-code" from Word 1.0/2.0. It's not just
the functionality that's been carried forward. You really are looking at a
maze of corridors through annex upon annex :-)

In the shift from Word 95 to 97 the major change was to go to Unicode support
(along with feature changes). But they didn't change the core code, they
built around it.

> What I want to say is that while
> design features are added and modified, the code itself (in C, C++ or
> whatever) is periodically re-written from the floor up. The point being,
> to avoid the maintenance nightmare that a never-ending series of bolt-ons
> would create.
>
> Thus while the features I commonly use in Word 97 (home) and Word 2000
> (work) look and act pretty much like they did in Word 6 and WinWord 2, the
> stuff that makes it all work is a different beast entirely.
>

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Sep 30 2003)
http://www.mvps.org/word

This reply is posted in the Newsgroup; please post any follow question or
reply in the newsgroup and not by e-mail :-)


Re: Development of Word 6/7/8/9 by Ian

Ian
Tue Dec 02 09:01:50 CST 2003

In message <VA.00008cfe.027df4c5@speedy>, Cindy M -WordMVP-
<C.Meister-C@hispeed.ch> writes
>
>In the shift from Word 95 to 97 the major change was to go to Unicode support
>(along with feature changes). But they didn't change the core code, they
>built around it.

Wasn't the transition from 95 to 97 also the time when list numbering
was altered significantly? I seem to remember that up to and including
95, list numbering was nice n' easy, intuitive, consistent and
reproducible, whereas after 95 it became anarchic, arcane and extremely
frustrating!

(I guess that was the time when full support for legal document
numbering was introduced, which explains why it is now anarchic, arcane
and extremely frustrating :-))

I think Word should still support the pre-97 method of list handling
(i.e. a "list-lite" mode) for ordinary mortals who just want to produce
simple documents a la WordPerfect.

--
Ian

Re: Development of Word 6/7/8/9 by Cindy

Cindy
Tue Dec 02 11:31:20 CST 2003

Hi Ian,

> Wasn't the transition from 95 to 97 also the time when list numbering
> was altered significantly? I seem to remember that up to and including
> 95, list numbering was nice n' easy, intuitive, consistent and
> reproducible, whereas after 95 it became anarchic, arcane and extremely
> frustrating!
>
> (I guess that was the time when full support for legal document
> numbering was introduced, which explains why it is now anarchic, arcane
> and extremely frustrating :-))
>
Your memory serves you well :-) Yes, the change was made in order to
enable much more flexible numbering formats, without needing to resort to
SEQ fields or Word's heading styles.

Good what they wanted to do, and - like Master Documents - it works if you
know EXACTLY how to handle it. But poorly documented definitely not "safe"
for the casual user for anything but "simple letters".

Cindy Meister
INTER-Solutions, Switzerland
http://homepage.swissonline.ch/cindymeister (last update Sep 30 2003)
http://www.mvps.org/word

This reply is posted in the Newsgroup; please post any follow question or
reply in the newsgroup and not by e-mail :-)


Re: Development of Word 6/7/8/9 by Big

Big
Tue Dec 02 17:32:36 CST 2003

Cindy et al,

thanks!

Cindy M -WordMVP- <C.Meister-C@hispeed.ch> wrote in
news:VA.00008cfe.027df4c5@speedy:

> Hi Big,

not my real name btw - the address is a spam trap!


>
> Actually, in the case of Word, this is not correct. Word 97, 2000,
> 2002 and 2003 are all built around the "core-code" from Word 1.0/2.0.
> It's not just the functionality that's been carried forward. You
> really are looking at a maze of corridors through annex upon annex :-)

[snip]

Re: Development of Word 6/7/8/9 by Cindy

Cindy
Wed Dec 03 08:06:54 CST 2003

Hi Big,

> > Hi Big,
>
> not my real name btw - the address is a spam trap!
>
<G> I figured as much. My newsreader automatically takes
the first word in the "From" field and pops it in after
"Hi", so I usually don't think too much about the
salutation line...

Cindy Meister