How To Mix Agile And Software Developed By A Community

Back from Italian Agile Day where Stefano Fornari of Funambol with Marco Abis of Sourcesense animated a debate about mixing Free/Libre Open Source Software (FLOSS) and Agile development methods. I used to think that there was no issue because, after all, free software is a way to release software and it’s not a development method like many still think. Strictly speaking, what makes software free and open source is its license, not how it’s developed. But a lot of FLOSS is indeed developed in similar ways, with distributed teams, volunteer based contributions, merithocracy based leadership and so on. Some of these traits make FLOSS and Agile difficult to mix.

At Funambol we love Agile, me included, and we love to try new things so we proposed an experiment mixing Agile methods with community based development into a new Funambol Code Sniper program. The slideshow below summarizes the basis of this experiment based on the assumption that the community is the Product Owner of the new software.  The community will have to define the user stories and also to define when they’re DONE.

There are still a few grey areas, the biggest being how to distribute rewarding to contributors. I think they should be proportionate to the efforts put into the project. Even if it is possible to evaluate code contributions proportionally to story points (or hours/weeks), code is only a part of software development. Bug reporting, quality assurance, feedback and even writing user stories is important as well: how to evaluate these other kind of contributions? What do you think?