![]() |
||||
|
| ||||
IBM General Session Encourages Developers to Establish Healthy Projects the Eclipse Way IBM is the world's largest information technology company. But no matter what the company size or project scope, every successful software development effort has common characteristics, practices, and structural underpinnings. In Thursday's General Session, 8:30 a.m to 9:15 a.m, IBM Distinguished Engineers Erich Gamma and John Wiegand offer a talk entitled "Java in the Trenches -- Reflections Along the Eclipse Way." After many years of refining their development practices, the Eclipse team reflects on the Eclipse way of doing software -- hitting projected delivery dates with precision and quality. How do they achieve this? Gamma and Wiegand will tour the team's practices, detailing these practices through inside stories from the group's experience and exploring how the practices create feedback loops within the entire community — from users to developers to researchers to product organizations. Building on this experience, they will reflect on how software development tools can help developers further improve their effectiveness. Erich Gamma led the team that built the award-winning Eclipse Java Development Tools (JDT), and he is currently serving as a member of the Eclipse project management committee. He is also a member of the Gang of Four, known for their book Design Patterns —Elements of Reusable Object-Oriented Software. John Wiegand is the principal architect of the Eclipse platform infrastructure and played a central role in the development of IBM Rational Developer Tools, IBM Visual Age for Java, and IBM Visual Age Micro Edition. Wiegand is also a member of the Eclipse project management committee. The Eclipse project focuses on providing a vendor-neutral, open-source, robust, full-featured, commercial-quality, industry platform for the development of highly integrated tools and rich client applications. The Eclipse platform is written in the Java programming language and provides a plug-in framework based on the Open Services Gateway Initiative (OSGi), which makes it easy for others to extend the platform's capabilities. Gamma and Wiegand have been tuning their agile software development practices for years, building on experience gleaned throughout their careers, and they have refined their practices further since the inception of the Eclipse project, hosted by the Eclipse Foundation. "Over the past six years, we've continually honed our practices," says Gamma. "We've tried out many things. The things that didn't work, we stopped doing. And the things that did work, we kept on doing." Other projects inside and outside of IBM have found the Eclipse way useful for their software development as well. One key aspect of the Eclipse way involves ensuring project health. Project health impacts many different facets of a software development undertaking and addresses the state of the project over time, not just at a particular point in time. "There are a number of different metrics you can look at when defining project health," says Wiegand. "The key is to find measures that make sense for your particular project and then to monitor them." Ultimately, keeping a project healthy is the responsibility of the entire development team. A healthy project is better able to respond to stress, unanticipated change, and new directions. Project health stems first and foremost from developer accountability. But this is very different from leveling blame. It instead implies accurately assessing a problem, taking responsibility, defining and considering the available choices, and then choosing the best path forward. "Ensure that the decisions are made by the developer closest to the situation," elaborates Wiegand. "They have the best context." Another important aspect of project health is ensuring that the project is constantly moving forward. This is achieved by establishing continuous and manageable milestones — breaking the overall release time line up into predictable intervals. From experience, the Eclipse developers have found six weeks to be the ideal milestone granularity for their release cycles — long enough to get something visible accomplished but short enough to require the focus to succeed. Optimum healthy software development also requires project transparency. This means that everyone in the community knows what's happening, without needing to ask. The project plans are visible, what people are working on is visible, and the interaction between developers and users is visible. And lest anyone come to believe that software development is primarily a one-way process from developer to user, the Eclipse team sees its user base as a vitally important part of the development process. One interesting proof point is that over 24,000 registered Bugzilla users are at Eclipse. A healthy software project is one with an actively engaged community that tracks development progress and provides continuous feedback — in the form of newsgroup entries, bug reports, plug-in development, and articles. Transparency opens the door for these feedback channels; contributions can only occur when the community sees what is happening. Gamma and Wiegand consider such a tight feedback loop between developer and user to be the key to producing a quality shippable product. "We call this Live Beta," says Gamma. "There's always something to download. And by doing so, there's a continuous feedback stream. The users feel empowered and are motivated to provide feedback." "We don't want to have a firewall between our developers and our users," adds Wiegand. "With a tight feedback loop, where users are able to see the contributions they've made, it encourages them to stress the system even further and to find new areas for improvement." In addition to their Eclipse efforts, Gamma and Wiegand have turned their attention to software tools with team awareness, process awareness, and project health awareness. These tools will empower globally distributed development efforts such as their own. "Jazz is a team collaboration platform that we're currently working on," explains Wiegand. "It's a joint project between IBM Rational and IBM Research. It's still at an early stage, but we'll offer a sneak-peek onstage and then show Jazz in action at our Thursday evening gathering" at 7:30 p.m. in Great Room 1 and 2 at the W Hotel. "We see Jazz as the next step in developer productivity," adds Gamma. "We're moving forward from supporting individual developers to helping teams of developers be more productive in all their activities." | ||||
Comments | About
Sun | Privacy | Terms
of Use | Trademarks | Third
Party Content Disclaimer Conference content is subject to change. Copyright 1996 - 2006 Sun Microsystems, Inc. |
![]() |
|