views:

80

answers:

4

I'm preparing a short talk for a conference in august and I'm looking for open source projects that are using agile methods internally or have tried them in the past.

My goal is to talk about the things that work well and what won't work and promote the agile methods a little bit, because I think certain agile techniques are a good fit, but don't seem to be that common in real development.

So does anyone know projects that have tried agile methods and techniques before? I'd like to contact them for a few questions.

Update: Thanks for the answers I'll contact the teams in the next weeks. :-) (I first have to prepare the questions and an introduction...)

I am still monitoring this question, so feel free to add more answers/projects/...

+3  A: 

I would have thought that the Open Source development model was quite contra that of agile. Most agile practices (pair programming, stand-up meetings, for example) require that the developers are co-located. On most FOSS projects, the developers are widely separated geographically.

anon
@Pascal As it happens I've been a project manager on a multi-site project (Amsterdam/London/New Jersey) and the time differences really were a killer - I don't think something as informal as a stand-up meeting could possibly have worked. Same issue for pair programming, only worse.
anon
I'm not saying distance ease things, I'm just saying it isn't a blocking issue. But I hadn't enough space in the comment box, soi I'm writing my own answer (also note that pair programming is not mandatory to be agile, nothing forces you to use XP).
Pascal Thivent
@Neil Agile is far more than just pair programming and/or stand-up meetings. When you abstract the essence of what these techniques are about, you can find substitutes that help ypu to achive the goal like peer review and scheduled voice or IRC chats. Of course it's not "common agile approach" but you can get many of the advantages even for distributed open source projects.
Patrick Cornelissen
+1  A: 

The Twisted project uses XP plus some additional procedures that it calls the Ultimate Quality Development System:

Twisted Matrix Development Process

Khorkrak
+1  A: 

You can try to contact the XWiki Team.

http://www.xwiki.com/xwiki/bin/view/About/Team

They have a great product, it is Open Source, Vincent Massol knows very well agile practices (espeacially tests) and the team is distributed. You can try ask for some of their "secret recipes" ;-)

Bernard Notarianni
+2  A: 

Sure, Agile favors face to face communication and most open source projects have distributed members and the distance doesn't simplify communication. Does this means you can't be Agile on an OSS project? I don't think so.

First of all, I need to say that modern tools can help to reduce the communication overhead introduced by distance: skype, phone, conference calls, video conference, collaborative editors and review tools, mail, written document, (even travel), etc. If you can avoid distance, do it. But this is not a blocker issue.

Second, Agile is in my opinion not about doing pair programming or stand-up meetings... These are just practices and practice are not an end, they are just a means. Agile is more about principles: maximizing the delivered value while minimizing waste to provide the most optimal ROI (ok, the last part may not apply for an OSS project but you still want to deliver valuable working software to your users or Darwin will make you disappear). Practices from a given methodology are a way to achieve this goal in a given context but for me Agile is still more about continuous prioritization, limiting Work In Process, (i.e. short cycles and time boxes), incremental delivery, feedback loops, high quality (perceived and conceptual), Stop-the-Line culture, building a mistake proof process, just enough specifications, just enough and just in time documentation, etc, etc. In other words, not doing pair-programming doesn't mean you can't be Agile.

Back to the question, I consider Ubuntu as a good example (maybe not strictly a programming example but it involves development): fixed date release cycles (every 6 months with several shorter iterations during these 6 months), strict prioritization of things to do, no date shifting (the scope varies), working software, and all this with highly distributed contributors and plenty of technologies and languages. Check Ubuntu Development, I'm pretty sure it's possible to contact "someone".

Another example I had in mind is Sonar. At some time, they were delivering their great piece of software every month (although it seems the rhythm is not so regular anymore). You can contact the dev team to discuss with them at SonarSource.

Pascal Thivent
Thanks pascal, I completely agree with you. BTW: Mark Shuttleworth was at the linuxtag and I was able to see his talk and he wants more projects to have a more quality and release focused approach, which is what I'm also trying to embrace in my talk at froscon this year.
Patrick Cornelissen
@Patrick Mark Shuttleworth is in my opinion a great "Meta Product Owner": he know where to go and really succeeds at communicating his Vision (which is what makes Ubuntu successful). It's nice you could attend to his talk and so is the topic you're going to cover. Good luck for your presentation.
Pascal Thivent