10 tips on how to prevent business value risk
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
The content has been bookmarked!
There was an error bookmarking this content! Please retry.
Posted by Alex Blewitt on Jul 30, 2010
As reported last week, Oracle reacted swiftly to the issues involving the rebranding of the Java 6u21 update. Since then, Oracle have re-spun the Java install, and for Windows machines, the released build is now 1.6.0_21-b07; since the problem only affected Windows, the Solaris and Linux versions remain at 1.6.0_21-b06.
Oracle should be commended for reacting to, and solving, the problem so quickly. The Eclipse launcher was detects the vendor using a non-supported API, and so Oracle weren't obliged to resolve it; fortunately, they were able to do so in a much faster time than Eclipse was able to respin a new build of Eclipse. Ian Skerrett, marketing director of the Eclipse foundation, summarised it perfectly in a headline “Oracle demonstrates Great Community Support and Fixes Eclipse”
Unfortunately, Ed Burnette's ZDNet blog uses the more confrontational title “Oracle Rebrands Java, breaks Eclipse” which then got picked up by Slashdot and repeated. Ironically, Ed's blog post actually confirms that the fix (released on Monday) does resolve the problem – but due to Twitter's 140-character limit, titles are the only message that come across with the refrences to Ed's post.
There's several morals to this episode, which played out in public faster than it would have before social networks like Twitter came about:
Eclipse has been caught on the back foot with this change. Without Oracle's quick thinking and community spirited action, all downstream adopters of Eclipse (the platform, or the IDE) would have been impacted. It says something about Eclipse's release procedures that in the six years since the yearly simultaneous release train there hasn't been a need to respond to a critical problem; having ironed out all the problems by the fifth or sixth milestone (although it has often been necessary to respin an Eclipse m5a or m5eh sometimes). But the release plan of a 3.6.1 release in September isn't fast enough to fix this particular problem, to say nothing of a 3.5.3 release (at the very least) for Galileo. It's new and uncharted territory for Eclipse to have to respond to a critical bug discovered after go-live; and whilst it wasn't of their making, being able to respond promptly will show that they, too, are responsible software developers. Critics of Microsoft's "Patch Tuesday" say that leaving critical patches until the next scheduled release date is unacceptable; so this is true of Eclipse's release procedures as well.
Oracle have shown how they can be flexible in order to solve the issue in the interim; but the problem has been postponed, not averted. It is up to Eclipse to respond and resolve the problem for the future, not just for those who live on the bleeding edge of the IDE, but for those who build upon the platform after it has left Eclipse's stables.
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Using Drools? See what you're missing! Get the Power of Drools with the Assurance of Red Hat
18 agile and lean practices for effective software development governance
What about Oracle's other JVM, jRockit, does that work fine?
There is plenty of blame to go around here. Clearly, Eclipse has a bug to fix. But your letting Oracle off the hook waaaay too easily here.
"There was no realistic way that the JVM team should have known this would happen."
Totally disagree. Eclipse isn't some random Minesweeper clone languishing in a dark room at Java.net. Eclipse is one of the most important projects in the entire Java ecosystem...if not THE most important. I am troubled by what this episode tells us about Oracle's internal QA process. I would expect a company with their vast resources to have a lab where they run a smoke test of a new release candidate against at least the top 4 or 5 (or 20) downstream products that are based on Java. That's not asking too much.
nor should the Eclipse team have known that an upcoming rebranding was on the cards.
Erm, of course they should have anticipated that. This is a pretty much unsuprising step after Oracle bought Sun.
After all this whole 'try to recognize the VM type by checking some free text field' seems pretty much like an ugly hack in the Eclipse code base to me.
On the other hand: everyone which does some 'real' work with Eclipse has long ago increased the heap parameters as the default values are never enough for any but the smallest projects.the released build is now 1.6.0_21-b07
D'oh, I don't think that there was ever an official JDK release which changed only in the build number.
IMO Oracle should have made this an 1.6.0_22 - no matter how minor the change is.
I think this lesson could be used to improve the JVM spec. Some way of querying the VM for what parameter options are supported is clearly needed.
On the other hand: everyone which does some 'real' work with Eclipse has long ago increased the heap parameters as the default values are never enough for any but the smallest projects.
I'm actually surprised that a significant number of people allow eclipse to use the default JVM on the system. I've long used the "-vm" parameter to explicitly set the VM that Eclipse uses.
There is just so much wrong with this article.
1. Crappy IDE does unsupported hoo-ha to twiddle some settings
1a. Somebody changes something somewhere to break unsupported something.
2. Crappy IDE can't change.
3. Somebody fixes something because they can't.
whatever.
That's the best summary of this incident. Sad but true.
This situation debunks myth of Eclipse being the IDE for complex commercial products. Detecting runtime vendor to change the way how tool works is a flaw of its architecture (and reminds me browser detection hell in some Javascript files).
BTW: Why Eclipse can't have some reasonable memory settings out-of-box? -vm switches are so ugly.
One category of risk that project teams need to ensure they address is business value failure – delivering a product that fails to provide value for the business investor.
InfoQ spoke to the authors of Software Systems Architecture on a couple of new topics, the System Context viewpoint and Agile, which have been added to the second edition.
Alex Papadimoulis discusses ugly code, where it comes from, how to avoid it, and how to get rid of it.
John Davies examines Visa’s architecture and shows how enterprises have architected complex integrations incorporating Hadoop, memcached, Ruby on Rails, and others to deliver innovative solutions.
Sean Comerford unveils ESPN.com’s architecture, what components are used and why, and the current changes the website goes through.
Are there repeated patterns of failure on Enterprise Agile Enablement efforts? Sanjiv and Arlen discuss Seven Deadly Sins to avoid when adopting Agile in an enterprise.
Erik Dörnenburg answers: What is Enterprise and Evolutionary Architecture?, discussing 4 issues: Turning strategy into execution, Ensuring conformance, Where do the architects sit? Buying or building?
Sean Cribbs explains what Map-Reduce and Riak are, why and how to use Map-Reduce with Riak, and how to convert SQL queries into their Map-Reduce equivalents.
7 comments
Watch Thread Reply