Agile Practices in Open Source – Developers are the Customer
Agile methodologies are much more common within the better open source projects than many would think based upon the primary tenets of Agile. Agile covets customer feedback during development of a project which is incorporated in subsequent releases or benchmarks of a project. Some might argue that open source projects lack the frequent customer feedback loops required for a true Agile approach. After all, benchmarks between open source releases are rarely seen by any end users, managers or stake holders in a company.
I would assert that the role of the customer for open source projects is the developers on the project. Most Agile projects, many of them developer libraries, succeed because a group of developers find a common need where they can collaborate to create code that each can use within some larger software project or within some larger IT system configuration. Each developer will be working on the open source project in the context of a larger project satisfying some sort of business needs. The larger project is where the end user feedback is important, more often than not, the open source project is a building block. Developers understand the building blocks; end users/customers understand less abstract, more tactile elements such as GUI's, emails, etc.
We cannot demonstrate Hibernate, Spring or JBoss to most customers or end users; these are tools that developer utilize to build or deploy applications that end users can test. A developer would provide the feedback for these open source projects and it would be rare to find a developer working on any of these projects, who is not also the consumer of the projects. In essence, the developer is the customer or end user for the open source project and will judge the usefulness of the project by its ability to save work, provide intuitive interfaces and other technical criteria.
Given that the open source developer is the customer for open source projects, then perhaps we can conclude that open source projects are truly Agile, perhaps even hyper-Agile; particularly when it comes to the customer feedback aspect of the Agile methodology. The developers do see the benchmarks regularly on an open source project and can provide one another with feedback quicker than is often gathered from end users.




We studied 5000+ open source projects to study the practice of continuous integration which is crux of Agile methodology. The results and conclusions are discussed here: http://www.amit-deshpande.com/2008/03/continuous-integration-in-open-source.html