Over the last few years, it has become more usual, and accepted as a good industry practice, the use of SCRUM as a team/project management methodology.
At the Symbian Foundation, we use SCRUM in our pdk build team. I have been recently pondering over what is the most efficient methodology for project management to use if you are building products out of Symbian Platforms.
Designed for Change
One of the key advantages of SCRUM, specially when compared again traditional waterfall systems, is that change is build into the process as a norm and not an exception.SCRUM assumes that priorities will change, in comparison waterfall makes changes costly and slow.
This becomes a key advantage when working in an environment that is beyond our control, such as open source communities.
Demonstrating constant quality.
The SCRUM concept of a continuous heartbeat for development, integration and testing has been integrated within the Symbian Foundation. This appears clearly in the kit release schedule.
Therefore, it is easier to take advantage of the frequent kit releases from Symbian platforms and to react to contributions from the community if you are following a compatible rythm to ours (every 2 weeks).
The cost of using waterfall
It is not impossible to work with Symbian Platforms with a waterfall porject management methodology. However, there is a hidden cost that needs to be taken into account.
A warterfall team is more likely to not take new contributions from the community until they represent a substantial step change in the code. They will prefer to maintain an known and stable baseline to work from.
In the long run, it increases the cost of integration and adoption of new baselines. It potentially leads to a situtation where the team becomes so out of date with the Symbian Foundation baseline that needs to fork in order to mantain there development schedules. Forking doesn’t only bring an additional maintenance cost, but also reduces the opportunities for collaboration with rest of the community.
So, which one do you use?
If you don’t mind I would like to understand (in a simple maner), what methodology do you use in your teams: