Noosfero development cycle
This topic documents noosfero's development cycle as lead by
Colivre.
Overview
An image says more than a thousand words:
The process is cyclic, so we could represent it beginning with any phase, but we chose to represent it as it fits in the calendar month:
- first half of the month: development
- third quarter of the month: feedback and adjustments
- last quarter of the month: planning of the next release
Phases of the cycle
Development
During this phase, the team works on the new features and bug fixes defined in the previous planning phase.
No new features or bug fixes are allowed to be included. Any new features or bugfixes to be requested must be
scheduled for the next release.
(in this context "new" means "not already scheduled to be done").
If you have patches with features and bug fixes and want them to be included in the next release, them they must
be submitted and reviewed during this phase.
In the end of this phase we'll have a testing version, which will receive no more features or bugfixes.
Feedback and adjustments
During this phase the team receives feedback from customers and users
regarding the features and bugs which were worked on during the previous development phase. Fixes and
adjustments are done. Any new features of bugfixes to be requested must be scheduled to the next release.
In the end of this phase we have a release candidate version.
Planning
Strictly speaking, the cycle starts here. During this phase, customers and team work to define together which
features and bugfixes we'll developed during the subsequent development phase.
We shall follow the following algorithm:
- all wanted features and bugfixes must be written down as action items and scheduled to the release being planned
- the team estimates every action item in task points
- the team determines how many task points it will be able to develop in the next cycle
- the customer decides which action items must be developed. The sum of their task points must be less than or equal the number of available task points.
Why choose a fixed-time release strategy?
We have the following advantages:
- all different actors involved with noosfero can plan themselves independently of the others
- we keep a constant rhythm, which leads to:
- we don't get relaxed enough to become inefficient.
- we don't get stressed enough to become unhappy or unhealthy.
--
AntonioTerceiro - 30 Sep 2008