+1

A

On 11/12/2010 09:02 AM, Vincent Massol wrote:
> Hi committers,
>
> I've started a thread recently on this list about the Roadmap leading to the 
> 3.0 release. The outcome of this thread is that we need a global strategy for 
> our major releases (e.g. the "2" in the "2.N" releases).
>
> First here's the rationale for doing major releases:
> * It's a way to mark progress to the outside world and to be able to do open 
> source marketing
> * It's a milestone in the project's life and it feels good to do it. It makes 
> us developers feel proud of our achievements too.
> * It allows us to move forward since it's a good time to think back about 
> what the xwiki project is and where it wants to go
>
> I've tried to capture all arguments from the past discussion to come up with 
> a Release Cycle strategy that take them into account without changing our 
> core values which is to do timeboxing (rather than featuritis).
>
> So here goes the proposal:
>
> 1) Introduce the notion of "Release Cycle".
> - A release cycle means all the release of the type X.N where X is the major 
> and represent the cycle (and N is a non constrained number 0<= N<  infinity)
> - Duration: 6 minor releases (e.g. 2.0 till 2.5). That's approximatively 1 
> year since each minor release is about 2.5 months.<fun>For the geeks in us, 
> six is a unitary perfect number, a harmonic divisor number and a highly 
> composite number (see http://en.wikipedia.org/wiki/6_(number)).</fun>
>
> 2) When we release the last minor of the cycle we announce it:
> - Send mail mentioning that the cycle is over and that version X.N is the 
> last minor release of that cycle (but there can still be bugfix releases: 
> X.N.P)
> - In that mail, explain all the major features that were implemented during 
> that release cycle (make a special Release Notes for a Cycle)
>
> Advantages:
> * Users are satisfied since it means X.0 is the first release of a cycle 
> (this was one of the major comment in our past discussion thread)
> * For developers, we have a notion of "work done", ie when a cycle is over.
> * We have 2 points of communication:
> ** When a cycle is finished (with the last minor release of the cycle)
> ** When a new cycle begins (to describe the rough directions of the new cycle 
> and internally to decide where the project is heading)
>
> Note: The rule about 6 minor releases is really important for several reasons:
> * It implements timeboxing our core tenet regarding releases
> * It allows us to not have to rediscuss when is the major going to happen 
> every time
> * It allows us to know well in advance when the major release is going to 
> happen and thus to adjust our commits during the whole cycle
> * It prevents featuritis
>
> Note 2: Having rule doesn't mean we'll never have good reasons to do things 
> differently. It may happen that from time to time we need one more release 
> for a cycle for example but this will be treated as an exception and will 
> need to be justified. What's important is to have defined rules in order to 
> give a stable rythm to the dev process.
>
> Here's my +1.
>
> Thanks
> -Vincent
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to