The Artima Developer Community
Sponsored Link

Ruby Buzz Forum
Erich Gamma on Eclipse Lessons, Agility, and Open Source

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Rick DeNatale

Posts: 269
Nickname: rdenatale
Registered: Sep, 2007

Rick DeNatale is a consultant with over three decades of experience in OO technology.
Erich Gamma on Eclipse Lessons, Agility, and Open Source Posted: Feb 14, 2009 7:15 PM
Reply to this message Reply

This post originated from an RSS feed registered with Ruby Buzz by Rick DeNatale.
Original Post: Erich Gamma on Eclipse Lessons, Agility, and Open Source
Feed Title: Talk Like A Duck
Feed URL: http://talklikeaduck.denhaven2.com/articles.atom
Feed Description: Musings on Ruby, Rails, and other topics by an experienced object technologist.
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Rick DeNatale
Latest Posts From Talk Like A Duck

Advertisement
Dont Swing!

InfoQ recently published video of Erich Gamma's talk at QCon London 2008 about how his seven years of experience with Eclipse have changed his views on software development.

I enjoyed having another opportunity to hear Erich, one of the "Gang of Four" and a former colleague at OTI. Erich has always been an engaging speaker. I recall his status talk at the annual OTI technical conference around the time when VisualAge MicroEdition was making the transition to Eclipse, and from Swing to the new OTI developed SWT. Erich, who lives in Zurich, and is quite the alpine skier, talked about the problems we'd been having with Swing, illustrated with a slide he took at one of the Swiss ski resorts of a warning sign posted near one of the chair lifts, showing a pictogram of a skier about to fall out of a dangerously rocking chair lift seat, with a sign below in English saying "Don't Swing!." This may or may not have been the same conference where I had the opportunity to chair with Erich and Kent Beck when they were first pairing on JUNit. Something I got to do again on one of my business trips to the OTI labs in Zurich.

Watching the video, I was glad to see that Erich has aged well, and looks much the same as always. His fashion sense is unchanged, and he's still a "man in black."

Enough reminiscing though. I'd like to comment on a few of the things he had to say.

One of his comments is that Eclipse, unlike some of the earlier frameworks he'd done, like ET++, which was a sort of reimplementation of the old MacApp framework in C++ for other platforms, defines explicit hooks for extension rather than using inheritance-based interfaces. He likened inheritance-based frameworks to exhibitionism, in that they expose too much implementation. He said that this might be great for the first release, but it makes it hard to evolve.

This is the same point I tried to get across to Bill "Mosquito Man" Gates and his team at Microsoft almost 20 years ago now, which I recounted on this blog.

Another of Erich's lessons was the need to allow for growth. Eclipse put an emphasis on consistent, concise APIs with explicit conventions. These APIs matter, but they represent a huge commitment. Failure to maintain backwards compatibility is deadly to user enthusiasm. So it is better to start with sparing APIs rather than having to support wrong or unnecessary APIs indefinitely.

Another major focus of this talk is process. Erich talks about the transition we made in OTI and IBM from closed to open development. I know well of what he speaks having been working at the OTI Raleigh lab back then.

Being from Zurich, he called the old way the "Swiss Bank" approach, with the code and developers locked away like money in the vaults below the Banhofstrasse, or using a computer analogy, putting a 'firewall' between developers and users.

Open (source) development removes that firewall, and the lesson learned was that the transparency helps development. Both developers and users have a better understanding of current status. Responding to more frequent feedback from the users takes more time for developers, but pays off. Using the same communication channels both inside and outside the team, including newsgroups, mailing lists, bug trackers, dashboards, meeting notes, blogs and wikis helps both the users and the team, particularly when the team is geographically distributed.

IBM has learned to apply open development even when developing commercially licensed software. There is still value in allowing public visibility of news, bugs, status, and yes even source code, even when that source is not and will not be licensed under an open source license.

Erich also has some interesting things to say about how IBM has "scaled up" agile practices. The process he describes is pretty much the same as we followed in OTI, with "time-boxed" internal drops every six weeks, Of course in an open-source project, internal here doesn't mean private, just interim.

So if you are interested in software processes, approaches to designing systems which can adapt and grow, and how a large corporation like IBM applies agile techniques, you might want to spend an hour or so watching Erich's talk.

Read: Erich Gamma on Eclipse Lessons, Agility, and Open Source

Topic: New Ruby Blog Previous Topic   Next Topic Topic: Quick gem indexing backfires (on me)

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use