Template open/save behavior

E

eae

It used to be that when Word opened a document classified as a
"template", no matter where it was, it would open it as a new dicument
named "Document n". You could not close it without saving it, and you
could not save it without giving it a name and location. That is,
"Save as" was the only available option.

With Word 2004, if you go to the "Project Gallery" and select a
template from there, it works exactly that way. However, if you go to
the finder, locate the template, or an alias of it, and double-click
that file, Word opens it, but not as an unnamed document, but as the
template itself. If you alter it then close it, you are asked if you
want to save it, and if you do, you save your changes in the template.
You are not forced to "Save as".

I tried changing the attibutes of a template to "Read only" which does
protect it, but you clearly see the difference - it's a document called
"template name (read only)" instead of "document n".

Am I missing something, or has Microsoft made a significant change in
template behavior, or is this a bug?
 
C

CyberTaz

Although some might like to classify it as a 'bug', you can't as it was done
intentionally. It is actually a design change which I believe took place in
Office X (not sure 'cause I never used X very much). Why it was done I have
no idea.

Regards |:>)
 
J

John McGhie [MVP - Word and Word Macintosh]

It was done because the people who did it felt that this behaviour was "More
Mac-Like".

And as everyone here knows, am amongst those who say it's a bug :)

The fact that they *intended* to create this behaviour does not alter the
fact that it is a bug :)


Although some might like to classify it as a 'bug', you can't as it was done
intentionally. It is actually a design change which I believe took place in
Office X (not sure 'cause I never used X very much). Why it was done I have
no idea.

Regards |:>)

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 
J

Jeff Wiseman

John said:
It was done because the people who did it felt that this behaviour was "More
Mac-Like".


Kinda interesting because Apple would disagree with this (at
least, in part) since many of their products behave the way Word
used to. E.g., AppleWorks will open a stationary template as
"untitled".

And as everyone here knows, am amongst those who say it's a bug :)

The fact that they *intended* to create this behaviour does not alter the
fact that it is a bug :)


I'm one who prefers to call a spade a spade, a bug a bug, and a
"stupid, screwed up, poorly thought out, highly misguided, and
very bad DESIGN DECISION" just that :)

The connotation of a bug is a flaw that was not intended. An
unintentional side effect or deviation from what was intended
analagous to fumbling something or tripping, or accidentally
breaking something. Since it is a fumble due to either
misunderstanding or usually a coding error, it's magnitude
typically tends to be limited.

The altered "feature" being discussed was totally premeditated
and spec'ed as such. That puts it into one of the "stupid,
screwed up, poorly thought out, highly misguided, and very bad
DESIGN DECISION" catagories IMHO. Let's give credit where credit
is due :)

Also, the term "bug" is kind of cutesy which downplays its
reality as a flaw. All bugs are flaws but not all flaws are bugs.
The exact nature of a flaw can usually be ascertained by what
level of the company you need to go to to get it corrected. If
you go to the programmer that wrote the code, show it to them,
and they say "Shoot! I gotta fix that!" and they scurry away to
their terminal, then it is likely a bug. If they say, "Oh, Im
sorry but you'll have to submit an ECN to the VP of marketing,
have it approved, submitted to the change control board, and
written in for release in two years, then it was likely a stupid,
screwed up..., oh well you get the picture! :)

Thanks to one and all for letting me get that pet peeve out, I
have a low tolerance for poorly spec'ed and designed software
regardless of who does it (myself included).

I'm feeling MUCH better now...

:)
 
B

Beth Rosengard

Hi Jeff,

Bravo! I completely agree with you. McGhie and I have argued at length
about what constitutes a bug and he insists vociferously that it's anything
that 'doesn't work the way the user expects it to work'. In my opinion,
that's a misleading and not useful definition.

Your statement that "All bugs are flaws but not all flaws are bugs" is the
key, and maybe you can get John to accept this reasoning; obviously *I've*
never succeeded <bg>.

Cheers,

Beth
 
D

Daiya Mitchell

Side note--did they ever actually change this, or is it a Win/Mac
difference?

WinWord has (AFAIK) always been the way "eae" said, and still is. But I'm
not sure MacWord ever was? With Word 2001 (and I booted up the Lombard to
check) if you double-clicked a template in the Finder, it opened the
template. Don't know about Word 98, as I did not use templates then.

To "eae", if you are asking because you want quick access to new documents
based on templates, the general process is record a macro of the File |
Project Gallery steps, that you can then access from a toolbar or keyboard
shortcut in Word.

Something on the desktop that you can double-click would probably require
AppleScript, but I don't know.
 
P

Paul Berkowitz

We've been through this 100 times, most recently just 3 weeks or so ago.
It's been this way in Mac Office ever since they created the "Project
Gallery" which was (I forget) either Office 2001 or 98 - I think 98.

We all agree it's terrible. If you don't need attachability of templates,
you can work around it by making a Stationery document (or just checking the
"Stationery" checkbox in Get Info for the doc in the Finder) instead of a
template. Stationery is a Mac-only option, available to all documents of all
applications on the Mac. Then you can double-click the stationery doc in the
Finder to open a new document based on it, just as you would on a template
in Windows. As John has pointed out before, this is no good if you need
templates to remain "attached" to their documents. But many people don't.

It just shows that you can't define a "bug" as related to "user
expectations", as John tries to, since different users expect different
things. Only Word Windows expect double-clicking a template to open a new
document, whereas people who have been using only Word Mac for the past 8
years don't expect that, since it hasn't done so for all that time.

We all wish it would, and not only for compatibility reasons, although they
are certainly the most compelling reasons. It would just be a Good Thing. We
all hope it will change in the next version of Word, and I think there's a
reasonable chance that it might.

--
Paul Berkowitz
MVP MacOffice
Entourage FAQ Page: <http://www.entourage.mvps.org/faq/index.html>
AppleScripts for Entourage: <http://macscripter.net/scriptbuilders/>

Please "Reply To Newsgroup" to reply to this message. Emails will be
ignored.

PLEASE always state which version of Microsoft Office you are using -
**2004**, X or 2001. It's often impossible to answer your questions
otherwise.
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi Jeff:

I'm one who prefers to call a spade a spade, a bug a bug, and a
"stupid, screwed up, poorly thought out, highly misguided, and
very bad DESIGN DECISION" just that :)

Sorry :) The software industry has moved on. Software Testing has now
expanded to include "Static Testing". Static Testing is testing of the
design and specifications and requirements.

So now, a "Bad Design" is a Defect. Poor requirements is a Defect. Poor
specifications are Defects. And Defects are BUGS :)

It's official: It's an ISO/ITIL/ITSM/OGC/CMM/CMMI/Six Sigma "Standard". If
the requirement is wrong, or the design is wrong, or the specification is
wrong, that's just as much a bug as if the code is wrong.

The vast majority of software defects (and ALL of the real disasters...)
happen before the code is written. That's why the industry has made such a
push into Static Software Testing recently. That's why the majority of the
software testing budget these days will be spent in Quality Assurance
activities that occur before the code is written, or before it's ready to
run.
The connotation of a bug is a flaw that was not intended.

That's correct: But "intended" by 'whom'? Recently we are much clearer on
this: "not intended by the CUSTOMER".
The altered "feature" being discussed was totally premeditated
and spec'ed as such. That puts it into one of the "stupid,
screwed up, poorly thought out, highly misguided, and very bad
DESIGN DECISION" catagories IMHO. Let's give credit where credit
is due :)

Yes. Sure. But according to all of the QA and Management standards that
are now in use, it's still a bug. We now have a warm and fuzzy feeling of
satisfaction: we know where this particular one happened. Those amongst us
who work as Programmers and Software Testers are utterly sick of getting the
blame for these. For 30 years previously, the hapless coder got the blame
for "everything" that went wrong. This did not lead to a great feeling of
career satisfaction.

Now, we are finding out who is "really" causing these things. Sometimes, it
IS the Customer. For example: The reasons that Words Bullets and Numbering
functions are close to "unusable" could be directly attributed to "The
Customer". They shouldn't be, but they "could" be...

What happened there is that Microsoft performed EXTENSIVE research amongst
users who did not know how to use word processors, or bullets or numbering.
Microsoft asked users who did not know what they were doing what they
"wanted". And that's what they built.

Now we have a very comprehensive proof that people who don't know how to
drive are perhaps not the best people to be designing cars. And people who
can't use word processors are perhaps not the best people to design them.
Also, the term "bug" is kind of cutesy which downplays its
reality as a flaw. All bugs are flaws but not all flaws are bugs.

That is no longer industry accepted practice. In modern practice, they are
ALL "Defects". "Bug" is simply the colloquial term for "Defect".
The exact nature of a flaw can usually be ascertained by what
level of the company you need to go to to get it corrected. If
you go to the programmer that wrote the code, show it to them,
and they say "Shoot! I gotta fix that!" and they scurry away to
their terminal, then it is likely a bug. If they say, "Oh, Im
sorry but you'll have to submit an ECN to the VP of marketing,
have it approved, submitted to the change control board, and
written in for release in two years, then it was likely a stupid,
screwed up..., oh well you get the picture! :)

Defect = True, Severity = 1, Cause = "Feature Specification"
Thanks to one and all for letting me get that pet peeve out, I
have a low tolerance for poorly spec'ed and designed software
regardless of who does it (myself included).

Yeah. Me too... I just completed yet another stint working for the
Software Testing department of a major corporation, so this stuff is top of
mind to me: particularly the bits about bad specification :)

Cheers

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi Beth:

Let me be clear on this :) *I* do not argue this, the "Software Industry"
argues this. You're not arguing with "me", you're arguing with the
International Standards Organization and Carnegie Mellon University :)

What I am espousing is not *my* opinion, it's the software industry's
current best practice.

The term "Bug" is simply slang for "Defect". The software industry has now
discovered that all the really expensive problems happen in places OTHER
than at the coder's workstation.

This is partly because modern Integrated Development Environments, such as
Visual Studio 2005, now have developed to the point where it's actually
quite easy to avoid the old-fashioned "code that produces an error" kind of
bug. In testing, we now see almost none of those, because the "compiler"
will find them before the code even runs for the first time.

Modern software development tools also make it increasingly less likely that
the code "does not do what the specification said it should do". Again, the
development tools tie the specification database directly to the source
code, so during the code review the specification is on one half of the
screen and the code intended to implement that specification appears beside
it.

The defects that the industry finds these days are almost always in a part
of the software development activity known generically as the "Design"
phase. This begins with Requirements Analysis and continues through ten
stages to Coding Specification. These usually occur before the first line
of code has even been written.

This phase of software development is almost entirely manual: there are no
good tools available yet that have the ability to validate or test what is
being done. So this is where the errors occur. In modern software
development practice, there are ten Software Quality Assurance phases that
occur in parallel with the ten design phases.

For example, a certain bank I know quite well just spent seven million
dollars on a new Internet Banking application that gives users the ability
to automatically pay a bill with a single click. If they happen to be using
Internet Explorer 6.n on Windows XP SP2. If you are using ANY other browser
or operating system, it doesn't work at all: it doesn't even issue a helpful
error message.

What happened? The Feature Specification was written five years ago. It
depends on the user's computer uploading a Windows dynamic link library
module. The project DID remember to revisit the design of the .dll to
ensure it would run on Windows XP SP 2. But they never recorded their
dependency on a particular browser in their Feature Specification, so
browser choice was never revisited, and when the software went live last
month they discovered that 40 per cent of their customers can't use it.

Not a coding error: the code works great, I used it yesterday on the PC.
Not a "Design" error: the design is great. Not a "Functional specification"
error: the functions in the requirements were specified just fine. Not an
"Application design" error: the application works great. This defect
occurred in the first design document that was produced on the project: the
Requirements Analysis.

But it has produced a bug. A bug that will cost the shareholders of this
bank another seven million dollars to fix. Worse: It will cost them maybe a
thousand million dollars in lost business (it's a VERY big bank...) over the
next five years, due to diminished reputation in the market place.

And guess what? Software Test did NOT find this bug. Why? Because they
tested against the Specifications: and the need to run in other browsers did
not appear there, so they never tested that.

They should have. A certain Executive Manager of Software Process and
Methods who I know rather well is going to ruin a couple of people's days
tomorrow about this. The words "Static Testing" may be used once or twice
in that conversation.

The word "Bug!" has already appeared more than once: used by the head of
Retail Banking. It was his seven million dollars. It will be his billion
dollars. A billion dollar loss can produce a lot of unhappiness. He has a
lot of unhappiness, and he is spreading it fairly liberally throughout the
corporation :)

But he calls it a "bug".

Cheers


Hi Jeff,

Bravo! I completely agree with you. McGhie and I have argued at length
about what constitutes a bug and he insists vociferously that it's anything
that 'doesn't work the way the user expects it to work'. In my opinion,
that's a misleading and not useful definition.

Your statement that "All bugs are flaws but not all flaws are bugs" is the
key, and maybe you can get John to accept this reasoning; obviously *I've*
never succeeded <bg>.

Cheers,

Beth

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 
B

Beth Rosengard

Hi John,

I'm not going to continue this ad infinitum because you and I have already
had this discussion ad infinitum. But I have to respond to just a few
points :).

Let me be clear on this :) *I* do not argue this, the "Software Industry"
argues this. You're not arguing with "me", you're arguing with the
International Standards Organization and Carnegie Mellon University :)
What I am espousing is not *my* opinion, it's the software industry's
current best practice.

Can you point me to where this is written? And when you say "software
industry", are you talking about some unilateral organization? I wasn't
aware that such a thing existed. Are you saying that every software company
accepts "your" definition of these terms? And if the ISO defines "bug" as
you have stated, but the majority of people understand it otherwise, how is
their definition useful?
The term "Bug" is simply slang for "Defect". The software industry has now
discovered that all the really expensive problems happen in places OTHER
than at the coder's workstation.

As I've said before, the term "bug" is a commonly accepted term for a type
of flaw (or defect) which was not intended by the designer of the software.
The fact that *some* software manufacturers/designers choose to redefine the
term so that it includes what are commonly referred to as "design flaws" ­
and thus equate the term "bug" with "flaw" or "defect" ­ does not make the
*commonly accepted* meaning any less commonly accepted.

If we were all to accept "your" definition (a bug is a defect is a flaw is a
bug), then we would need *new* terms to distinguish between a defect that
was by design and a defect that was not intended. Since we already have
those terms ("design flaw" and "bug"), why create new ones? And what terms
would *you* use to distinguish between the two?

Respectfully (but in total disagreement on the basis of usefulness in
communication and discourse ­ and regardless of the ISO or Carnegie Mellon
University :),

Beth
 
H

Hylton Boothroyd

Paul Berkowitz said:
It's been this way in Mac Office ever since they created the "Project
Gallery" which was (I forget) either Office 2001 or 98 - I think 98.

It's not in 98, which I still run in OS 9.

In 98, File>New leads to a box with Word's own display of the Template
folder, and any sub-folders you've created in it. Within that display
a double-click on a template icon opens a new document.

But if you visit the template folder and sub-folders in Finder, a double
click on a template icon opens the template.

Which is presumably the user-friendly behaviour people are remembering.
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi Beth:

Can you point me to where this is written?

I certainly can :) Most of the popular standards are listed here:
http://www.12207.com/test1.htm
And when you say "software
industry", are you talking about some unilateral organization? I wasn't
aware that such a thing existed.

Are you serious? Ask some of the coders you know what industry they work
in. Yes, there are published standards that employees in the software
industry need to adhere to, enforceable in various ways, just as there are
road rules. Some of these standards are required of software testers and
business analysts. One of those standards is an official glossary of
industry terms and definitions.
Are you saying that every software company
accepts "your" definition of these terms?

No. They all accept the ISO/IEEE definitions, and so do I :)
And if the ISO defines "bug" as
you have stated, but the majority of people understand it otherwise, how is
their definition useful?

The official term is "defect". The term "bug" is officially interchangeable
with it, and has the same definition. People who work in the software
industry give such terms a precise meaning. The majority of the lay public
use medical and scientific terms wrongly too. For example, "Schizophrenia"
does NOT mean "multiple personalities", the temperature outside is NOT 63
degrees "above zero", and an aircraft's flight data recorder is NOT a "black
box", it's bright orange.
As I've said before, the term "bug" is a commonly accepted term for a type
of flaw (or defect) which was not intended by the designer of the software.

Nope. It has NEVER had that meaning within the industry. A Defect
describes software behaviour that does not conform to the CUSTOMER's
requirements. Always has been. Designers screw up too. In fact, their
errors are often the most costly and difficult to find.
The fact that *some* software manufacturers/designers choose to redefine the
term so that it includes what are commonly referred to as "design flaws" ­
and thus equate the term "bug" with "flaw" or "defect" ­ does not make the
*commonly accepted* meaning any less commonly accepted.

Sorry Beth: That's not germane to this argument. More than 99 per cent of
people working in the software industry have the same very precise
definitions for the terms used in software quality assurance. They have to
have; they need to write them into contracts to deliver software.
If we were all to accept "your" definition (a bug is a defect is a flaw is a
bug), then we would need *new* terms to distinguish between a defect that
was by design and a defect that was not intended. Since we already have
those terms ("design flaw" and "bug"), why create new ones? And what terms
would *you* use to distinguish between the two?

Sorry: You need to understand how the commercial software development
industry works. "Design flaw" is not an industry term. However, that's not
the point. The point is that you are confusing the steps in a
tightly-defined process. The first step is to find an "unexpected
behaviour". When we do, it is formally logged as a "Defect" in the Defect
Management database. The Defect Review Committee first reviews it to see if
it really is a "Defect". It may be closed at that stage, without further
action. (This, by the way, can be a weakness in current software
engineering methodologies, but it is commonly allowed.)

If the Defect Review Committee formally "accepts" the situation as a
"Defect", the committee then assigns it a Severity, then refers it for
Analysis. Then, and not until then, can we can begin to ascertain the
cause, and thus detect which stage of the process failed. It's not until
then that you find out whether it's a coding error, a design error, a
specification error, a requirements error, or a simple misunderstanding by
the tester.

In software engineering, they are ALL "Defects". You are trying to say that
a Design Defect (it sux but we meant it to be that way) is somehow different
from a Coding Defect (it sux, because the programmer made a mistake) or a
Specification Defect (it sux because the business analyst got the wrong end
of the stick).

The only time you could classify bad software as "not" a bug would be if the
Customer asked for it to be that way. There are lots of examples of THAT in
the industry. The industry still doesn't let itself off the hook for those:
it's our professional responsibility to advise the customer that what they
are asking for is rubbish. If we didn't do that, it's still a bug. In
these litigious times, we take great care to advise the customer of this in
WRITING and make them SIGN any instruction to go ahead anyway. We would
have a very short career otherwise: because when the users hate it, the
customer is very likely to hire a lawyer to find someone ELSE to blame :)
Respectfully (but in total disagreement on the basis of usefulness in
communication and discourse ­ and regardless of the ISO or Carnegie Mellon
University :)

Well, I totally respect your position, and your courage in defending your
position. However, following the debacle of the dot-bombs that burned money
and disappeared, the software industry has made huge strides in improving
the professionalism of its activities. One of the areas it has put a lot of
effort into is the whole subject of Software Quality Assurance, and as part
of that activity, has sought to tightly define the terms used in the
industry.

Like World Peace, it remains a work in progress: but we're all agreed that a
"Bug" is when it doesn't do what the customer asked for. Debate continues
as to whether we should further extend that to say a bug is when it doesn't
do what the customer "needed".

Cheers

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 
B

Beth Rosengard

Hi John,

I certainly can :) Most of the popular standards are listed here:
http://www.12207.com/test1.htm

This page does not contain a definition of the term "bug". What's more, its
search box (not the Google one which takes you offsite, but the TechStreet
search box) is "unable to find exact matches" for the term.

So I ask again (and more specifically): Can you point me to where in the
ISO standards or Carnegie Mellon University publications "bug" is defined as
a slang synonym for "defect", with the definition of "defect" including both
unintentional flaws and design flaws (or, if you prefer, Design, Coding and
Specification flaws)? That is, after all, what you claim :).
Are you serious?

Entirely. I said "unilateral" as in "emphasizing or recognizing only one
side of a subject". In this case that "one side" would be *your* definition
of "bug".
Ask some of the coders you know what industry they work in. Yes, there are
published standards that employees in the software industry need to adhere to,
enforceable in various ways, just as there are road rules. Some of these
standards are required of software testers and business analysts. One of
those standards is an official glossary of industry terms and definitions.

And where might I find that?
No. They all accept the ISO/IEEE definitions, and so do I :)

Again, where is the ISO/IEEE definition of "bug"?
The official term is "defect". The term "bug" is officially interchangeable
with it, and has the same definition.

Where does it say that? This entire debate is about the meaning of the term
"bug", not "defect". You haven't demonstrated support for your claim
according to the organizations you say support it. Your *saying* that "bug"
is interchangeable with "defect" does not make it so.
Nope. It has NEVER had that meaning within the industry.

And it says that where?
Sorry Beth: That's not germane to this argument. More than 99 per cent of
people working in the software industry have the same very precise
definitions for the terms used in software quality assurance. They have to
have; they need to write them into contracts to deliver software.

And where is their "same very precise definition" of "bug"? It's entirely
germane.
Sorry: You need to understand how the commercial software development
industry works.

No, I don't. Not in this case. All I need to know is the official,
unilaterally-accepted definition in the "software industry" of the word
"bug".
The point is that you are confusing the steps in a
tightly-defined process.

No I'm not. The steps in the design process (which I completely understand
and have no problem with) are altogether irrelevant to the definition of the
word "bug".
In software engineering, they are ALL "Defects". You are trying to say that
a Design Defect (it sux but we meant it to be that way) is somehow different
from a Coding Defect (it sux, because the programmer made a mistake) or a
Specification Defect (it sux because the business analyst got the wrong end
of the stick).

No. I'm not talking about the meaning of the term "defect" at all. I'm
talking about the meaning of the term "bug" which I contend equates ­ in
common parlance at least ­ to what you define above as a Coding Defect, not
*any* kind of defect.
Well, I totally respect your position, and your courage in defending your
position.

It doesn't take courage. It only takes logical thought and sticking to the
point.
Like World Peace, it remains a work in progress: but we're all agreed that a
"Bug" is when it doesn't do what the customer asked for. Debate continues
as to whether we should further extend that to say a bug is when it doesn't
do what the customer "needed".

No, we're not all agreed at all. Nor have you shown me where the "software
industry" agrees either.

You're trying to reinvent the wheel, John, and it's not necessary to do so
in order to get across your point. You don't need to redefine the word
"bug" in order to make people understand how software development works. It
works just as well when "bug" is understood to mean "coding defect", which I
still contend is the commonly accepted meaning.

Apparently it's not merely "commonly accepted": at least you have not yet
shown me where in the Standards it says otherwise :).

Beth
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi Beth:

So I ask again (and more specifically): Can you point me to where in the
ISO standards or Carnegie Mellon University publications "bug" is defined as
a slang synonym for "defect", with the definition of "defect" including both
unintentional flaws and design flaws (or, if you prefer, Design, Coding and
Specification flaws)? That is, after all, what you claim :).

Yes, of course I could. I could even email you several megabytes of stuff
on the subject. However, if you really want to research the dots and commas
of the various Software Engineering standards, I think it is fair for me to
expect you to be willing to do at least some of the work yourself.

The one most commonly cited internationally is:
http://www.istqb.org/fileadmin/media/glossary-1.0.pdf

Entire forests have perished to publish the books, standards, and articles
on the subject of Software Quality Assurance. Nearly all of those
publications will refer you to some version of a Glossary. That glossary
will define the term "Defect", and most of them will include "Bug" as a
synonym. Those that do not include Bug as a synonym will probably not
include it at all.

Allow me to quickly head off another of these: You WILL find when reading
the glossaries that "some" of them use the term "fault" in place of
"defect". This usage is now deprecated, because further research has
disclosed that some Defects/Bugs can not properly be characterised as
"faults". This occurs particularly in the grey area where the customer
specified something he later learns does not fulfil his user's requirements.
Entirely. I said "unilateral" as in "emphasizing or recognizing only one
side of a subject". In this case that "one side" would be *your* definition
of "bug".

{Yawn} Please go read all that ISO/IEEE stuff and come back to me. This
discussion has nothing to do with "me, mine, my or myself". I *work* in
this industry. I do not "make" the rules for it. You're trying to shoot the
messenger...
And where might I find that?

Where I sent you.
Again, where is the ISO/IEEE definition of "bug"?

Where I sent you.
Where does it say that? This entire debate is about the meaning of the term
"bug", not "defect". You haven't demonstrated support for your claim
according to the organizations you say support it. Your *saying* that "bug"
is interchangeable with "defect" does not make it so.

You would need to read ALL the publications.
And it says that where?

Read 'em and weep :)
And where is their "same very precise definition" of "bug"? It's entirely
germane.
http://www.istqb.org/fileadmin/media/glossary-1.0.pdf

No I'm not. The steps in the design process (which I completely understand
and have no problem with) are altogether irrelevant to the definition of the
word "bug".

The professors at Carnegie Mellon would love to see a paper asserting that
:)
No. I'm not talking about the meaning of the term "defect" at all. I'm
talking about the meaning of the term "bug" which I contend equates ­ in
common parlance at least ­ to what you define above as a Coding Defect, not
*any* kind of defect.

Perhaps amongst lay people. Who knows what they think? The possibility
that a thousand million people who don't know what they are talking about
have misunderstood the activities of several hundred thousand who work in
the industry (many of whom DO know what they're talking about) does not seem
to support an argument that is the equivalent of "black is white".
It doesn't take courage. It only takes logical thought and sticking to the
point.

No. Believe me: this one takes "courage" :)
You're trying to reinvent the wheel, John,

Ummm... No :) But I think you are trying to roll it backwards :)

Cheers

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 
B

Beth Rosengard

Hi John,

Yes, of course I could. I could even email you several megabytes of stuff
on the subject. However, if you really want to research the dots and commas
of the various Software Engineering standards, I think it is fair for me to
expect you to be willing to do at least some of the work yourself.

In a debate :), it is incumbent on the person making the claim to present
the supporting evidence. Why would *I* want to help *you* make your point
:)?
The one most commonly cited internationally is:
http://www.istqb.org/fileadmin/media/glossary-1.0.pdf

Wow! Now that is really interesting. All this time I have been arguing
over the meaning of the term "bug" and taking your word for the meaning of
the term "defect". But according to the source you've quoted, the meaning
of "defect" is synonymous with what you have called "Coding Defect" and I
have called "bug"!

Let me back up a minute and explain (for anyone else still reading this :)
how I came to that conclusion. On the page referenced above, the entry for
"bug" says "See defect." The entry for "defect" says:

[This is further supported by the definition of "debugging": "The process
of finding, analyzing and removing the causes of failures in software."]

If the required function is to produce result X and the software does indeed
produce result X, then the software cannot be said to have a bug, according
to this definition that you quoted as (I assume) a definitive source.

The required function is, of course, determined by the software
designer/manufacturer. It's *his* software.

Now it may be that the *user* would like to see a different result and
believes that the designer has incorrectly understood the required function.
From the user's standpoint, the software has a design flaw (or defect), but
not a bug.

Okay, before you go off on me and tell me that, no, it's the *user* who
determines the required function (since I know that's what you're going to
say), let me tell you what I *think* has happened in the software industry
in regard to these terms.

I think that as the industry has matured, it has put greater and greater
emphasis on what the *user* requires. I think that, as a consequence, the
industry has broadened its definition of "defect" to take user requirements
into account. I think that, for that reason, the industry has found it
useful to broaden the meaning of the term "defect" and make it an umbrella
term encompassing Design Defects, Coding Defects and Specification Defects.
I think that, in the process, it has lost sight of the fact that *in the
beginning*, "bug" meant "doesn't work as it was designed to work". I think
that the International Software Testing Qualification Board" needs to update
its glossary and redefine "bug" or redefine "defect", because as the
Glossary now reads, a bug is exactly what I have contended all along.
Read 'em and weep :)

I ain't weepin' :). "Bug" absolutely HAS had that meaning within the
industry and your source proves it.

Cheers,

Beth
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi Beth:

Wow! Now that is really interesting. All this time I have been arguing over
the meaning of the term "bug" and taking your word for the meaning of the term
"defect". But according to the source you've quoted, the meaning of "defect"
is synonymous with what you have called "Coding Defect" and I have called
"bug"!
Ummm... No, it very specifically did NOT say that :)
Let me back up a minute and explain (for anyone else still reading this :)
how I came to that conclusion. On the page referenced above, the entry for
"bug" says "See defect." The entry for "defect" says:
It said "A flaw in a component or system that can cause the component or
system to fail to perform its required function..."

It did NOT say "A _coding_ defect...". This distinction is utterly critical
to software quality management. A Defect is anything the customer didn't
want (even including a schedule or budget overrun). The *cause* of the
defect gets worked out later in the process.

Does it do what the CUSTOMER really wanted? If yes, it's good. No matter
how weird the software's behaviour, if that's the way the customer wants it,
it is good.

If not, it's a Defect/Bug. No matter how reliable, stable, or conforming to
specifications it is, if the customer didn't want it that way, it's a bug.

If it's a bug, then we can sit down and work out how it got that way. We
might at that stage discover it's a coding bug, but it's more likely these
days to be a design bug or a specification bug or an analysis bug. It often
IS a "systemic failure", where the "system" in question is the system by
which we manage the software development process.
The required function is, of course, determined by the software
designer/manufacturer. It's *his* software.
Well, that's the opposite of what the majority of the industry believes. If
I paid for it, it's *my* software. I'm the customer, the
designer/manufacturer are working for me. I say what I want, not them.

In the case of "shrink-wrap" software (i.e. Off-the-shelf, ready to install
software) such as Microsoft Office, nothing changes. If it doesn't do what
the purchaser wants, it's defective/faulty/flawed/buggy.

Since the sad reality of life is that no-one could afford to make or buy
software that didn't have at least SOME bugs in it, every manufacturer heads
for their lawyers to write an End User Licensing Agreement that basically
says "It is like it is, and by installing it, you indicate that you agree
that you wanted it just like that." Doesn't alter the state of the
software; it just gives us the option of either not buying it; or not
complaining about it. But it's still buggy :)
Now it may be that the *user* would like to see a different result and
believes that the designer has incorrectly understood the required function.
From the user's standpoint, the software has a design flaw (or defect), but
not a bug.
Yep. That's a bug. One of (I think it's 29) different causes of a defect,
but it's still a bug.
I think that the International Software Testing Qualification Board" needs to
update its glossary and redefine "bug" or redefine "defect", because as the
Glossary now reads, a bug is exactly what I have contended all along.

You be sure to write and tell 'em :)
I ain't weepin' :). "Bug" absolutely HAS had that meaning within the
industry and your source proves it.

Oh. Well, you be sure to alert the ISO and the IEEE to this new discovery.
I suspect it will come as something of a shock to all of us working in the
industry, after all those years of trying to make what the customer wanted;
but there you go :)

Cheers

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 
C

CyberTaz

Hi Folks -

Since I was a part of what reignited this discourse, I thought I'd jump back
in to add more fuel to the fire :)

John - Does the "industry" _not_ make a distinction between Custom-Designed
and Pre-packaged software? If it does, much of what you relate makes far
more sense. If the software is specifically written to address expressed
customer needs and fails to do so perhaps 'buggy' is appropriate, no matter
how well written.

OTOH, if the software is written for the general market and _works as
intended_ I don't see how that can be declared a bug simply because any one
user doesn't like the way it works. Applying that same concept in any other
industry seems just as defiant of logic as it does here... Poser-

If someone purchases a BMW Z4 [insert preferred vehicle here] and determines
after-the-fact that it can't effectively tow their 40' boat, does that make
the car "buggy"?

I'd be more tempted to call it a bad decision on the part of the purchaser.
Further, my experience has been that the software industry (in general) is
not sufficiently benevolent as to assume responsibility for the user's
inappropriate choice.

As far as:
Well, that's the opposite of what the majority of the industry believes. If
I paid for it, it's *my* software. I'm the customer, the
designer/manufacturer are working for me. I say what I want, not them.

If referring exclusively to custom software, fine, but any EULA I've ever
read for 'shrink-wrap' software explicitly states otherwise... The user is
paying for the license to *use* the software & agreeing to any number of
restrictions that the developers *would not* have any legal right to impose
unless they retained ownership to the software.

Regards |:>)
 
B

Beth Rosengard

Hi John,

I said I wasn't going to get into this debate again and, of course, I did
:). However, I'm done now. Nothing I say will change your opinion and
vice versa. And, besides, CyberTaz just summed it all up in his post and
did so quite definitively.

Sorry, John, the only logic in your definitions is one based on a personal
agenda and it's not an agenda I buy into :). You may now have the last
word ...

Cheers,

Beth
 
J

John McGhie [MVP - Word and Word Macintosh]

Hi CyberTaz:

I love a good controversy :)

John - Does the "industry" _not_ make a distinction between Custom-Designed
and Pre-packaged software? If it does, much of what you relate makes far
more sense. If the software is specifically written to address expressed
customer needs and fails to do so perhaps 'buggy' is appropriate, no matter
how well written.

I am speaking from the standpoint of Software Engineering. That's the
"industry" I am in.

The distinction you refer to is made by the "Legal" industry. A computer
company such as Microsoft obviously has both kinds of industries within its
corporation.

Back in the days when ALL software was "bespoke" (i.e. Custom-designed for a
single customer) then there was no wiggle room at all.

With the advent of "shrink-wrap" software, the lawyers have made
increasingly wordy and incomprehensible efforts to extricate themselves from
the "Fitness for Purpose" provisions of the "Merchantability" test inherent
in the majority of the worlds consumer-protection legal systems.

I think most of us long since lost patience with the legal sophistry that
goes on in this space. The customer should have the opportunity to satisfy
themselves of the software's "fitness for purpose" before purchase. Which
means the vendor should provide a complete and accurate description of the
functionality of the product, available to the customer before purchase.

They don't.

From the inside, time and again, I bang my head against this nonsense:
whenever I try to add into the user documentation a clear statement that the
product won't do some expected function, it gets taken out. "We never
document what it *won't* do..."
OTOH, if the software is written for the general market and _works as
intended_ I don't see how that can be declared a bug simply because any one
user doesn't like the way it works.

That's not quite what I was saying :) A "bug" is when the product won't DO
what the customer requires. When we start to consider that the customer
doesn't like the WAY the product does the requirement, we get several more
layers of complexity into the discussion before we can say definitively
whether or not we have a "bug". Where I work, "I don't 'like' it" is not
sufficient reason to change it. We have to be able to point to a user
requirement that is not satisfied unless we change it :)
I'd be more tempted to call it a bad decision on the part of the purchaser.
Further, my experience has been that the software industry (in general) is
not sufficiently benevolent as to assume responsibility for the user's
inappropriate choice.

The software industry, in general, is insufficiently benevolent to assume
responsibility for *anyone's* inappropriate choices, including its own. It
is notorious for telling lies (by omission or commission) to make it almost
impossible for users to get sufficient accurate information to make an
appropriate choice. They call it "marketing" :)

However, people working to make software deal in facts: science,
engineering, process, procedure... We're quite clear -- If it does what the
user requires, it's good. Anything else is a bug, and any further
discussion is centred on how the bug happened.

In the case that began this discussion: Microsoft claims that Microsoft
Word enables you to "use templates". It does NOT define what it "means" by
'use templates'. However, Microsoft DOES say that Word will work on both PC
and Mac. It does NOT go on to say that "on the Mac, you won't be able to
use templates the way you can on the PC. If you are on a network, you will
find templates almost impossible to use for their intended purpose."

It's open to the user to conclude that on the Mac you can use templates just
the same way as you can on the PC. You can't. And that's a bug.
If referring exclusively to custom software, fine, but any EULA I've ever
read for 'shrink-wrap' software explicitly states otherwise... The user is
paying for the license to *use* the software & agreeing to any number of
restrictions that the developers *would not* have any legal right to impose
unless they retained ownership to the software.

Sure. But now you're discussing a different thing. You're talking about a
mechanism to ensure that the vendor escapes responsibility for the presence
of bugs in its product. We all know they can do that. That's not my point.

My point is "how do we make good software"? We understand the customer's
requirements -- which is not as easy as it might sound; then we try to make
what the customer wanted. Which is also not as easy as it sounds.

When we fail (which is a high percentage of the time) we must first be big
and brave and admit we have a bug. Then we can sit down and work out how
the bug happened, and hopefully, not let it happen again...

Now: Let me say something nice :) Microsoft is a software company.
Relatively unusual in the industry, Microsoft is a software company that
doesn't do "anything else" except make software. Which means it takes a
fairly pure stance on this issue.

I am a Microsoft MVP. One of the reasons the MVP program exists at all is
due to Microsoft's efforts to better understand its customer requirements.
Microsoft relies on me among others to tell it when they miss the mark. Not
many other companies out there collect a bunch of users who pay for its
products to fly to Headquarters once a year to tell it where it went wrong.

Microsoft does :)

Cheers :)

--

Please reply to the newsgroup to maintain the thread. Please do not email
me unless I ask you to.

John McGhie <[email protected]>
Microsoft MVP, Word and Word for Macintosh. Consultant Technical Writer
Sydney, Australia +61 (0) 4 1209 1410
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top