Roadmap & Unified Process
People often ask about a roadmap for b2evolution. How odd! :))
Not only don’t we have a roadmap, but we certainly don’t plan having one. Sounds amateurish to you? Read on!
b2evolution development embraces the Unified Process approach to software development, and more specifically Iterative Development – or Incremental Development – if you prefer. In other (buzz)words, we use an agile approach with an adaptative process, as opposed to a predictive process with roadmaps and the like.
However, not following a roadmap doesn’t mean we don’t have a vision! Check out the Main UseCases for a long term view of where b2evolution is headed to.
Development is split into iterations that last typically one month, but can very depending on contributors’ availability.
At the end of each iteration there is a release. The version number increment of this release reflects the importance of the changes introduced in this iteration.
Then, the next iteration uses feedback from the previous iteration to implement new features, based on real user needs, not based on some several months old roadmap that doesn’t match anything but an already obsolete vision of how blog/cms usage should have developped in the future.
What exactly gets done in each iteration depends on how many contributors are available to work on the project at that time. It also depends on what exactly they are willing to do! Remember this is Free software! :)
Each contributor picks features he is going to implement from the todo list.
These features may have been discussed thouroughly before. If not, they need some sort of quick yet sufficient collaborative specification. This is typically carried out as comments on the todo list. However, the ideal spec here would be to write an UML style UseCase.
Contributors should commit code to CVS only if they foresee to have it operationnal for the end of the current iteration.
A few days before the end of the iteration no new features are added. There’s a lot of worked involved at that time:
- Updating the language files. Localizers should be able to begin translating as early as possible in this stage.
- Packaging the release and updating install instructions.
- Testing the full package.
- Making the package available on SourceForge.
- Updating the website (download area, features, screenshots… bleh that’s no fun! )
The next iteration can begin as soon as the package is available on SourceForge.
User feedback is collected through the forums: http://forums.b2evolution.net/.
Contributors will pick up anything that makes sense in the forums and add it to the todo list.