Featured in
Architecture & Design

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Featured in
Process & Practices

In-App Subscriptions Made Easy

There are various types of subscriptions: recurring, non-recurring, free-trial periods, various billing cycles and any possible billing variation one can imagine. But with lack of information online, you might discover that mobile subscriptions behave differently from what you expected. This article will make your life somewhat easier when addressing an in-app subscriptions implementation.

Featured in
Operations & Infrastructure

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Featured in
Enterprise Architecture

Mini-talks: The Machine Intelligence Landscape: A Venture Capital Perspective by David Beyer. The future of global, trustless transactions on the largest graph: blockchain by Olaf Carlson-Wee. Algorithms for Anti-Money Laundering by Richard Minerich.

Eclipse "Callisto" an Agile Success Story

Today will see delivery of the "Callisto" release of 10 Eclipse toolsets simultaneously. The Callisto release aims to improve the productivity of the developers working on top of Eclipse frameworks by providing a more transparent and predictable development cycle. So, Callisto is remarkable in that it provides a synchronized set of releases to facilitate implementation of Eclipse for developers using them to build their own applications, tools and products. Until now, these different projects have had different release cycles.

Eclipse is an extensible Java-based development environment created from a basic core plus plug-ins. Using Java means that the project is cross-platform, while modularity provides the ability to draw on other plug-ins for functionality and permits a classic open source distributed development approach. Often thought of as a Java IDE (Integraded Development Environment), Eclipse can also be used as an environment for other languages like C++ and Ruby, as a framework for consolidating tools of any kind, and as a Rich Client Platform (RCP) for creating desktop or server applications.

Today, kudos are in order: this may be the largest Agile open source project delivered yet, and it has arrived on time. Its quality, of course, has yet to be tested by the masses :-) Just how big IS Callisto? Ian Skerrett, Director of Marketing with the Eclipse Foundation has posted a few statistics, including:

Skerrett, in part, attributes the large-scale success of Callisto to this Eclipse development process:

"It seems to me the Eclipse community, with leadership from the Platform team, has nailed the art of milestones and release candidates. Having the drumbeat of releases, on a predictable schedule, ensures the projects stay on track and the community can provide timely input."

Mike Milinkovich, executive director of the Eclipse Foundation since 2004, said in an interview: "Doing your software development transparently has massive advantages... We use agile methods within Eclipse." This is a turnaround for Milinkovich, who originally thought Callisto risky and did not support it. He now says: "Callisto demonstrates that the open source development model is very effective in delivering a platform for software development." Note that not all open source projects use predominantly Agilepractices, although in some circles the terms are used interchangeably.

It's not clear whether all of the Callisto projects used Agile practices, as they worked collaboratively but autonomously. But by way of example, the homepage of the Data Tools Platform Project does include this principle:

Agile development: We will strive to incorporate into our planning process innovations that arise once a project is underway, and the feedback from our user community on our achievements to date. We think an agile planning and development process, in which progress is incremental, near-term deliverables are focused, and long-term planning is flexible, will be the best way to achieve this.

And Erich Gamma, in his JavaOne 2006 keynote, quoted the Agile Manifesto, and emphasised that "The key theme throughout our process is rhythm. That's the heartbeat of the process, and a set of practices that get us into a healthy state of mind to make continuous progress towards our milestones."

One proponent maintains that the Eclipse development process gives them a "considerable advantage over closed-source IDEs (like Visual Studio) and platforms."

Whatever they did, it seems to have worked - though it has yet to be formalized, Eclipse is considering yearly synchronized releases, so look for "Europa" about this time next year.