Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Ok joke all you want about the evil chess empire but

Author: Christophe Theron

Date: 23:53:50 05/28/01

Go up one level in this thread


On May 28, 2001 at 22:27:32, Bruce Moreland wrote:

>On May 28, 2001 at 08:13:11, David Rasmussen wrote:
>
>>On May 28, 2001 at 02:51:23, ERIQ wrote:
>>
>>>When some day soon we all wakeup and look around and all we see is one interface
>>>then I'm going to say "I told you so".
>>>
>>>look What happened the last time a company became a big monopoly IE. microsuck.
>>>Now we are all slaves to their software IE all good chess programs are written
>>>now for windows.
>>>
>>> And microsuck hasn't even produced a bug free product yet straight out of the
>>>box.
>>
>>Who has?
>>
>>>It always takes two versions,that we must pay for before it works well and
>>>by that time they have another dud program for sell. When will we learn.
>>
>>When will you learn?
>
>Microsoft had a very good model for producing bug-free code, but they weren't
>very good about implementing it company-wide and keeping to it.
>
>There was a meeting in the early 90's or late 80's or whatever, and out of this
>came something called the "Zero-Defect Coding Guidelines".  I read this document
>and became and advocate for it, and one reason I no longer work there is I
>became frustrated by the failure of this document to penetrate the culture
>completely.



Ouch.

This reminds me oh so much of my own story.

Until 1994 I was working in France, in a french company called PC/Soft. Maybe
nobody here has ever heard about them, but thousands of developpers in Europe
were using (and are still using as far as I know) their main product called
"WinDev".

WinDev is a RAD tool which includes all you need to write applications: a screen
generator, a programming language, a database manager and so on. You can think
about it as being something like Visual Basic or Delphi, but slightly simpler to
use and maybe less open.

I was in charge of the programming language. I designed the basics of this
language called "W-Language", wrote the compiler (generates PCode), wrote the
interpreter (executes the PCode) and parts of the run time library (the language
comes with functions to do many things very easily).

I left the company because nobody there could understand the importance of
producing bug free code, or at least better quality code than what we were
doing. We were spending 80% of our time fixing bugs. Well... THEY were spending
all that time fixing bugs, because like you I didn't have many to fix.

I have always been blamed for spending too much time in delivering my stuffs.
That's right, when the other ones were spending one month to complete a task, I
would generally spend 1.5 month to do it.

But then, they were spending another month FIXING their shit. So my modules were
actually delivered FASTER.

But nobody cared about this. We were all the time faced with impossible
deadlines, and could never do it in time. Worse, we were always late by several
months because of the time it took to fix the biggest bugs, then we were forced
to publish updates to fix another number of bugs, and when we had to work on the
next release, only half of the bugs of the previous release had been fixed.

It was even worse, because we were working in team, and you can imagine what
happens when 7 developpers put all their bugs in common. It was a nightmare,
just finding WHO was responsible for a bug took hours (because the modules
managing the screen outputs, the internal language and the database manager were
all working together).

Because of this the level of stress was increasing with every day in this
company.

It would have been so easier for EVERYBODY to be more careful and produce less
bugs!

I tried to convince my coworkers about this, but they were just too blind and
the usual answer was: "the boss wants this for tomorrow, I have no time to
program in a cleaner way" (actually I was the only one able to say "no boss it
will not be ready for tomorrow").

So I talked to the boss and explained that, just from a financial point of view,
producing less bugs would be a benefit for the company. He said that he had
tried in the past but he had learned that it was impossible to do better.

So after several month, for my own safety and health, I decided to leave the
company.





>I once announced in a meeting that every bug was a flaw in its programmer's
>character.  My boss didn't buy this.  He got a good laugh out of it, in fact.
>But I really believe this.  If you get a bug, it's a personal failing.



That is exactly my feeling! That's exactly was I was saying, using the same
words!




>Another reason I left is that in the group I was in, you were evaluated in part
>by how many bugs you fixed.  Most people spent a lot of time fixing their own
>bugs, so of course the bug database showed them as fixing a lot.  Since I didn't
>have any bugs to fix, I ended up fixing other people's bugs, and that is
>something I find more odious than just about anything.  It's also contrary to
>the Zero-Defect guidelines mentioned above.  So on my evaluation one year, it
>said I didn't fix a lot of bugs.  I went berserk at my boss, so he changed it
>to, "Bruce doesn't fix a lot of bugs, but to be fair, he doesn't create a lot
>either."  So I at least got some back-hand praise for doing the most important
>thing a programmer can do -- writing code that works.  The tester who worked on
>my stuff also had problems, because he didn't find any bugs.



Fortunately we were not evaluated by the number of bugs we fixed.

But I think it would be normal to be evaluated on the number of bugs you create.

But the boss was afraid that if you do so, people are going to be less
productive in term of number of features implemented (because they are going to
be afraid to create a bug by adding a feature).





>One of the things mentioned in that document is that the wrong people end up
>writing code.  People who get a lot of bugs should spend their time fixing them,
>and people who don't get a lot should write code.
>
>One of the reasons I enjoy working on Ferret is that I can do it the way I want
>to.  It does not crash, and it's always ready to go.
>
>I am very sad to see that Excel has become kind of buggy.  That was the one
>product I know of that really tried to stick to the Zero-Defect guidelines.
>
>Recalc or Die.



Is the "Zero-Defect Coding Guidelines" a Microsoft internal use only document?

I would really have loved to have a copy of it...




    Christophe



This page took 0 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.