I’ve yet to hear a self-respecting engineering team boasting about using waterfall development. Nowadays, everyone claims to espouse at least some level of agility. However, few are able to articulate what their development process consists of.
There is a lack of information about how development is actually performed in software companies around the world. Often for good reasons; they don’t want you to know.

To fill this void, I’ve shared a series of stories about the development process I created when leading the engineering team at Songbird, the popular media player. This is a good start to get a picture of how a process transformation takes place.

This is by no means the only or best approach, but something that was tailored to our needs, capabilities and constraints. The inherent complexity of building, testing and releasing an open-source desktop software platform supporting hundreds of devices, integrated with dozens of services and running on multiple operating systems drove a lot of the decisions I made to find our optimum release process.

I hope you’ll enjoy reading these and perhaps learn something you can use.

Introduction of Agile Practices

A three part series view of a team embarking on an Agile development process.

Planning and Tracking

An analysis on how Agile data can be used for long term planning purpose and an overview of a tool I developed to improve tracking visibility of a release.