Current Articles | RSS Feed RSS Feed

What Agile can Learn from Open Source

Posted by adam feber on Mon, Nov 28, 2011 @ 10:36 AM
 

Agile development practices were initially designed to work with smaller co-located teams, but these practices begin to break down when applied to large and/or distributed teams. With this said, open source projects have managed to be Agile with hundreds to thousands of contributors across multiple time zones.

So how can Agile learn from open source projects? On November 3, 2011, Andy Singleton, CEO of Assembla, spoke at the Agile New England event on ‘What Agile can Learn from Open Source.” Below is a video of Andy’s presentation as well as the slides. Enjoy. 

Watch the presentation:

View/download the slides:

View on Slideshare | Download

 Andy's notes:

About halfway through, I started talking about scaling projects, and I made some claims that caused active rebellion in the audience. That's awesome when you consider that this audience is composed of corporate agile people who specialize in calmly coming to consensus. I said that the Mythical Man Month is wrong (it turns out that at least one audience member studied with the author), and that it's a good idea to let people go around dependencies by duplicating work, because that way the worst delay is a 50% reduction in productivity, which is much better than most large projects, etc.  It's a fun subject that is worth more debate.

At the end, I present "Release Driven Development." This is my synthesis of the agile process that people actually end up with when they try out Scrum but know how open source projects work. It's a lot like Scrum, but with a twist. Instead of doing iteration planning at the beginning (this is hard, almost nobody does it well, doesn't scale), you do what open source projects do and assemble the release at the END, including or "accepting" components that are ready to meet your quality standards. This improves scalability, saves time, and gives more time for design and quality control. We're going to do a lot more with RDD.  Check out the last few slides in the slideshare deck above for a description.

Tags: , , , ,

COMMENTS

Hi Adam, 
 
I thought that Agile only works in small teams, and even if the team is large, then it is split into smaller, manageable teams.

posted @ Thursday, December 01, 2011 3:13 AM by PM Hut


Yes, most Agile methodologies are specifically for small teams. To handle bigger projects, they break into agile-sized teams, and then they coordinate with things like a "scrum of scrums" or "all at once" meeting where each team negotiates to get its dependencies. I don't think this is an optimal situation. You need to pay a lot of attention to the care and feeding of these teams. Some of them are "high productivity" and some are not. When organizing them into a bigger project, you get the same problems that affect a big waterfall project. You do get a hierarchy of teams, if not of people. There is a lot of top down management, which reduces adaptability and productivity at the team level. And, it's really hard to come up with plans that coordinate a lot of people effectively.

posted @ Thursday, December 01, 2011 8:31 AM by Andy Singleton


Post Comment
Name
 *
Email
 *
Website (optional)
Comment
 *

Allowed tags: <a> link, <b> bold, <i> italics

Follow Assembla

twitter facebook youtube linkedin googleplus

Subscribe by Email

Your email: