Java Performance Services
Training, Seminars, Benchmarking, Tuning

Java Performance Tuning Course


Chania Crete, May 17-20, 2010


Expert led Training
Including admission to JFokus
Stockholm Sweden
January 25th-29th.

Sun Extreme Learning EXL-2025

Washington, Jan 5-8,2009
San Fransisco, Jan 11-14, 2009
Atlanta, Feb 8-11, 2010
Tokyo, March 1-5, 2010
Hong Kong, TBD



San Francisco, January 11-14

Anti-if

I have joined Anti-IF Campaign

Calendar

««Feb 2010»»
SMTWTFS
  123456
78910111213
14151617181920
21222324252627
28

Performance Anti-Patterns

My Top Tags

                                       

Mailing List

My RSS Feeds








Bob the Bug DB filter meets Mustang

posted Wednesday, 19 January 2005
The bug database has been an interesting experiment in that a front line vendor is saying, look here, we have all of these problems in our software being reported by our customers, which one would you like us to fix first?

As interesting as the process is, it ignores the lessons that product companies have learned, support will take up as many resources are you are willing to provide. Since most company’s resources are limited, they tend to put some sort of restriction in the support contracts. A common restriction is to say all reports can only come from Bob. Since Bob will get to see every problem, he will act as a filter to eliminate those problems he understands not be a bug or has already been reported upon. With the current bug reporting system, all of Sun engineering is Bob! I don’t know how much time Sun Bob spends trolling through the bug reports but if I were him right now I’d be screaming mad locked up in a padded room because the Mustang people (JDK 1.6) have decided to use a system analogous to D3 (Defect Driven Design).

D3 (pronounced D cubed) is a wonderful methodology devised by the sun (sic) backed developers working at FP&L (Juno Beach and I do mean right on the beach). In D3, there is only a request made for a system. In this methodology, the system is delivered immediately. No business analysts are needed to write up requirements because there is no requirements gathering phase. There is no design phase, no coding phase and best of all, no (for all us developers hate) testing phase. All you do is deploy and that can happen within minutes. If you are sitting there scratching your head asking yourself, how can this possibly work, then read on.

The deployment phase consists of dropping an icon on the customers desktop. The customer will then click on the Icon. Off course the Icon will not do anything… and the customer will lodge his first defect in the bug database, clicking on the icon does not open a window. We will of course respond by saying, oh, you’d like a window to open, no problem, we can fix that defect. We simply give the user a window to open. Now when the user opens the window and finds that he can’t entry a query, he simply writes up a new defect and the process of defect driven design continues.

If you’ve read the Mustang forums, they have suggested that if Java isn’t doing what you’d like it to be doing, you should make an entry in the bug database. In the spirit of the bug database, they suggest that we all go vote for our favorite RFE. They’ve also said that Mustang will be out in almost record time. Humm, has the Mustang development team adopted D3? If so I guess that leaves it up to Sun Bob to decide on how to respond to all of these new “defect” reports.

Hey Sun Bob if you’re reading this, someone contributed the defect. Apparently === does not work for some form of equals and I thought, wow what a great find! With that I wondered if ==== could be used for deep equals so I tried it. Unforunately, Java 1.5 has yet another defect in that it didn't work so if you see the defect report that ==== doesn't perform a deep equals, please don’t close it, it's mine.

And Sun Bob, if you were wondering why those in charge of the Mustang forum are recommending that new feature requests be put into a bug database, now you know!




1. a reader left...
Wednesday, 19 January 2005 3:48 pm

And this differs from Extreme Programming, um, how? In degree, perhaps, but not in kind.

Amusing as this story is, sounds to me a lot like some popular development practices of the open source community being adopted by a commercial vendor. Now perhaps that isn't what folks are looking for from commercial vendors ...

glen


2. a reader left...
Wednesday, 19 January 2005 7:39 pm

Your blog entry shows that you are not aware that the so-called "bug database" is meant to be used for bug reports as well as new feature requests. Maybe Sun should rename it so that this becomes clearer.

If your assumption were right, it would be quite funny indeed.

Monika


3. Kirk Pepperdine left...
Wednesday, 19 January 2005 9:35 pm

Hi Monika,

I'm perfectly aware that the bug database is to be used to collect information on new features also.


4. a reader left...
Thursday, 20 January 2005 3:08 pm

Then I don't get your article. People request new features via the bug database and you know that the bug database is meant to be used for that. So what would be funny then?

Monika.

Monika


5. Kirk Pepperdine left...
Thursday, 20 January 2005 5:02 pm

Hi Monkia,

The joke is; it's not really approprate to use a bug database to collect ideas for new features. This is, unless you are trying to build a better vogon ship.


6. a reader left...
Friday, 21 January 2005 10:27 am

So your article is meant to criticize Sun for using a bug database also for new feature requests? It rather reads like you are making fun of the people who use it for that.

I think the database for bugs and for new features need not be different. But it should probably be renamed to reflect what it is used for.

If you think they should be separate, in which way should the new feature database differ from the current way?

Monika


7. Marcos Eliziário left...
Thursday, 2 February 2006 5:33 pm

I think Monika can't get the idea. It's clear that the problem is not with the usage of the same application per se. But with the whole idea of asking people to choose their prefered new features. It's a silly manner to design a language and libraries. Things are guaranteed to be inconsistent and over time the whole language will lose a clear direction turning itself into a mess. Why is it so difficult for you to understand?


8. Søren left...
Monday, 27 February 2006 8:46 am

I do not see the big theoretical difference between this approach and the development of other languages (e.g. C and C++).

In most languages someone suggests a new feature, and this is discussed by some “standards committee” and they often end up voting on which features to include. Here the standards committee is everyone voting in the bug system, and it is done online. So besides it is much simpler and faster online I don’t see the difference.


9. Kirk Pepperdine left...
Monday, 27 February 2006 8:58 am

How about... you can't vote no? How about the voting process is a pure time lottery? How about one has to troll the entire bug database to see what is a bug... and what is a feature request!

Sorry, the bug database should not be overloaded in this way..


10. Peter Merel left...
Friday, 22 September 2006 4:51 am :: http://www.c2.com/cgi/wiki?PeterMerel

You can vote no. Say you don't like the feature that's in bug 12223. You make a new bug that says "No on 12223" and vote for that.

Time lotteries are the way committees make their decisions, so that's all right.

And an easy way to trolling the bug database for features instead of bugs is a feature request. You just submit it as a bug and play the time lottery to get it implemented.

In fact, if you think hard, you'll see that there is no reason the bug database can not, itself, become the product it refers to. This is exactly how XP worked in Smalltalk ...

http://www.c2.com/cgi/wiki?HaHaOnlySerious