InfoQ

InfoQ

News

My Bookmarks

Login or Register to enable bookmarks for unlimited time.

The content has been bookmarked!

There was an error bookmarking this content! Please retry.

Eclipse "Callisto" an Agile Success Story

Posted by Deborah Hartmann Preuss on Jun 30, 2006

Sections
Process & Practices,
Architecture & Design,
Development
Topics
Agile ,
Stories & Case Studies ,
Artifacts & Tools
Tags
Eclipse
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:
  • Number of commiters: 262
  • Number of countries where commiters reside:
    • 12 - Canada, US, Finland, Turkey, China, France, Russia, Czech, India, Germany, Austria, Switzerland
  • 72,000 resolved bugzilla entries
  • Over 6 million lines of code
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 Agile practices, 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.
  • This article is part of a featured topic series on Agile
not jupiter by juozas salna Posted
Re: not jupiter by Deborah Hartmann Posted
podcasts by Alex Popescu Posted
  1. Back to top

    not jupiter

    by juozas salna

    next year it's europa

  2. Back to top

    Re: not jupiter

    by Deborah Hartmann

    doh! thx :-)

  3. Back to top

    podcasts

    by Alex Popescu

    It looks like the there will be a series of podcasts with people involved in these 10 projects. The first one: with Richard Gronback from GMF can be found here: www.eclipsezone.com/files/podcasts/1-GMF-Richar... (and transcript: www.eclipsezone.com/files/podcasts/1-GMF-Richar...)

    ./alex
    --
    .w( the_mindstorm )p.

Educational Content

New-age Transactional Systems - Not Your Grandpa's OLTP

John Hugg discusses high volume transaction processing applications with high and low frequency profiles, and how VoltDB can be used for that purpose.

Cool Code

Kevlin Henney examines code samples to see what can be learned from them starting from the premise that one won’t write great code unless he knows how to read it.

Collaboration: At the Extremities of Extreme

Jason Ayers share the observations he made watching a team of developers collaborating in real time on the same code base, pushing XP, pair programming and continuous integration to their extremes.

Yesod Web Framework

Michael Snoyman presents Yesod, a web framework written in Haskell and containing a web server, templating, ORM, libraries (templating, gravatar, etc.).

Transactions without Transactions

Richard Kreuter and Kyle Banker on how to avoid classical RDBMS transactional systems by using compensation mechanisms, transactional messaging or transactional procedures.

Attila Szegedi on JVM and GC Performance Tuning at Twitter

Attila Szegedi talks about performance tuning Java and Scala programs at Twitter: how to approach GC problems, the importance of asynchronous I/O, when to use MySQL/Cassandra/Redis, and much more.

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.

Interview: Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives

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.