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 Charles Humble on Mar 31, 2009
Sun Microsystems' Mark Reinhold has published an updated schedule for JDK 7 along with a list of the approved features on the OpenJDK website. The current build is milestone 2 which includes the new Garbage First Garbage Collector and I/O APIs [JSR 203]. Milestone 3, expected in time for the JavaOne conference in May, will add VM support for dynamically typed languages via the invokedynamic bytecode instruction [JSR 292]. Other notable features planned for Java 7 include a forward port of Java 6 update 10 into the OpenJDK (targeted at milestone 4), the currently dormant Swing Application Framework [JSR 296], expected in milestone 5 in the autumn, and another attempt at standardising modulisation through JSR 294 and Project Jigsaw. Notably absent from the current roadmap are the new Date and Time API [JSR 310], Beans Validation [JSR 303] and Beans Binding [JSR 295].
The small language changes initiative, Project Coin, has also seen a large number of proposals with Joseph Darcy highlighting six strong contenders for inclusion in Java 7 on his blog:
Map<String, List<String>> anagrams = new HashMap<String, List<String>>();Map<String, List<String>> anagrams = new HashMap<>();Sun’s JDK for Java 7 will be their first to be based on OpenJDK, though their implementation will still depend on some closed source components. It also continues a change in the way Sun develops its Java products, with increasing numbers being developed without a JSR, then standardised when complete. Project Jigsaw, JavaFX, and Java SE 7 are all being developed this way. Mark Reinhold describes it like this:
"The JDK 7 Project is creating a prototype of what might—or might not—wind up in the Java SE 7 Platform Specification. When the SE 7 Platform JSR is submitted then the features under development in JDK 7 will be proposed for inclusion therein, except for those that are VM-level or implementation-specific.”
This combination of the OpenJDK project with a transparent feature set and schedule for Java 7 is a much more open process than we've seen in previous revisions to the language, but Apache's Stephen Colebourne is deeply concerned by the change, arguing that there could be no official specification for Java 7, instead only a JDK implemented by Sun:
"All the evidence I see is that Java SE is no longer an open standard and the next release will be JDK 7, not Java 7. That is something that should matter to all of us who care about the Java eco-system.
After all, if Sun can get away with making Java SE not an open standard, then why not Java EE, or Servlets or JMS? It's time to stand up and be counted and demand our open standard back!"
In a follow-up post Colebourne uses minutes from the JCP Executive Committee meetings to support his argument, claiming that the reason for the process change is connected to Sun's long running dispute with Apache over the changes in licensing terms for the Java Compatibility Kit (JCK) wanted by Apache for their Harmony project.
"...from the September 2008 meeting, there is distinct evidence (but not proof) that Sun feels unable to get a Java SE 7 JSR passed until the Harmony dispute is resolved. We can also note the difference in tone between April 2008 and June 2008, where a Java SE 7 platform JSR went from 'soon' to 'no immediate plans', and Sun's focus became clearer around using Open JDK instead of a JSR."
Colebourne’s argument is supported by Neil Bartlett. Using rumours of Sun’s pending acquisition as a reason for using OSGi instead of Project Jigsaw, he argues that any Sun-led initiative not supported by a JSR can be killed off the moment Sun is acquired:
"Sun is unlikely still to exist in its current form by this time next year. Whether it is eaten whole by IBM or torn in half and shared between HP and Oracle, or any of the other rumored outcomes, a promise from Sun to support Jigsaw is completely worthless. This is especially true because Jigsaw is in direct opposition to the commercial needs of all the potential acquirers. If IBM gets Java, it will kill Jigsaw, I guarantee it. Ditto Oracle. By choosing to build Jigsaw outside of a JSR and in opposition to an established industry standard, Sun has exposed its customers to substantial commercial risk."
So far Apache's tactic of voting against all JSRs whilst their dispute with Sun continues has had no real impact on the development of Java, since they've been able to garner only limited support for the tactic from other JCP members. This is presumably because other JSRs are not affected by the same licensing terms. However Java SE 7 would be directly affected. If Colebourne is correct in his conjecture that Sun has changed the way Java 7 is being developed because of Apache's tactics, then the combination of these tactics with intransigence on both sides will begin to do tremendous damage to both Java and the JCP.
Improve Java Garbage Collection, Runtime Execution, and JVM visibility with Zing
Monitor your Production Java App - includes JMX! Low Overhead - Free download
18 agile and lean practices for effective software development governance
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.
2 comments
Watch Thread Reply