Wednesday, May 6, 2009
Tweaking the Eclipse Development Process
A while ago, I compared the Eclipse Development Process (EDP) to that of the Rational Unified Processs. The EDP specifically addresses the steps that a eclipse project goes through to be released. It addresses a little bit on management, and touches only briefly on technical practices of actual development. I've been told that the Eclipse Foundation feels that how the code is developed is best left up to the individual projects. In general, I'm okay with that, as not every team works best the same way. However, for those teams that want to be more agile in their development, and incorporate some more technical practices what can be done?The EDP, as can be seen by the picture above, focuses on 6 week iterations. With one week for planning and one week for stabilization. In many cases during the plan, develop, stabilize you could write "Magic Black Box Here". As we all know that the magic black box solves it all.There are some problems from an agile point of view with the EDP. First, a team that wants to implement an agile development process, they may not need a complete week for planning. They may not even need a stabilization week. Planning can be shortened to a day, and a week for stabilization may not even be needed. The EDP also does not specify the technical practices to accomplish this. It's written from a managements point of view.The EDP is a management process. It is running into some of the same issues that SCRUM by itself experiences. SCRUM is an agile project management practice. Organizations that only implement an agile project management solution may not be gaining the full benefit of the solution. In fact, many companies or projects that just adopt SCRUM by itself, are not any more successful than the waterfall methodologies they replaced.In my opinion, where the these highly focused project management solutions fail, is not addressing the technical practices that are needed to make them a success. SCRUM is a great project management addition to other agile practices like XP, FDD, BDD, and TDD. With out some of the disciplines of the technical practices no project management practice is going to succeed.Over the coming weeks, I'll start to focus in on how I think the EDP can be enhanced with a bit of SCRUM for project management, and pieces of XP for project development. There are pain points that I'll try to address including technical debt, builds that are never green (or rarely), and last minute cram sessions. Ideally an eclipse project should be able to declare a milestone or release quality build at any given day. Impossible? Unlikely? It can be done, it just takes a bit more discipline on our parts as committers to make it happen.
Subscribe to:
Post Comments (Atom)

No comments:
Post a Comment