agile meets distributed open source development

Total-impact will always be open-source.  It is a pretty standard OSS project in its early stages: its core developers are geographically distributed and contributions have been fueled by enthusiasm rather than paycheques.  Producing Open Source Software gives a great overview of standard processes for these sorts of projects.

At the same time, Jason and I (Heather) are sold on the principles behind agile development: iteration, adaptation, tight feedback loops, simplicity.

OSS and agile methodologies have many similarities, but some differences.  In particular, agile development is practiced most often by co-located, dedicated-coding teams.  As a result, we’ve been rolling our own process a bit.  It is working well: it feels good, we aren’t spending too much time on process, and we recognize and change things when they aren’t working.

For example: we were keeping our sprint backlog in a google spreadsheet. Last sprint we moved to tracking sprint items as GitHub issues.  Although this makes it harder to do time estimation, it is easier to integrate into our workflows… currently a win.

Here is what our development process looks like right now:

  • two-week sprints.  We practice a little more flexibility in pre-determined scope than Scrum agile.
  • developer conversation take place openly on the newly-formed total-impact-dev google group
  • weekly Skype calls with active developers (Richard, Mark, Heather, Jason) for start/mid/end sprint conversations
  • sprint issues in GitHub
  • product backlog in a google spreadsheet
A few things are lacking: good ways to get customer feedback is a main one! We’ll get there soon.
Sound fun?  It is 🙂  Join us!