. Some organizations have release engineers and
managers full time.
Another problem regarding tests, I think we should enforce the rule to:
- add features, improvements just in milestone (M1, M2)
- concentrate on bug fixes for the features added in the RCs (RC1, RC2)
Sometimes we add features in the last moment of a RC and we don't have
enough time to verify the integration or they introduce a new series of
falling test.
Thanks,
Caty
BTW I was not talking about 3.4M1 but about the past 20 or so releases
we've done (if not more)… :) (I didn't get the time to compute the exact
variation for past releases)
Thanks
-Vincent
> Let me remind us what time boxing is and how
it can be made to work:
> * It means releasing on a fixed date and releasing whatever is ready at
that
date.
> * The idea is also to do quick releases so
that if a given feature is
not in a release it'll be in the next one coming
soon (we used to do 2 to 3
weeks releases at some points and recently we've been doing instead 3-5
weeks instead)
> * The reason for releasing often is because
this pushes the bug fixes
and new stuff to users ASAP and thus let them experiment
with them and give
us feedback (bugs, usability, etc)
> * The way to make timeboxing work is by
having automated functional
tests so that we can release safely knowing that our
test suite will catch
the problems if any. This means that whenever a commit is done, in the same
commit there are tests proving that what is committed is working (and not
several weeks later which would be anti-timeboxing).
> * it doesn't mean we cannot have a
roadmap. What it means is that we
should the maximum of what is in the roadmap in a
given time slot. What's
not done doesn't get released. This means that large features should be
divided into small one that will fit. Developers need to think about what
they're doing by constantly checking the release date and verifying what
they can achieve for that date and make absolutely sure that what they have
committed is working for that date (even if what they have committed is not
finished).
> * Timeboxing is not about how many men/days you have available or
whether
people are on holidays or not. If you have less men/days you do
less work. It doesn't change the release date.
You still need someone do to the release and we aren't that many
committers so if we all take the winter holidays (as it is normal)
then we have to adjust the release date.
>
> Basically you can only do timeboxing if you have good and automated
quality
control.
>
> The opposite of timeboxing is feature releases which lead to the
following:
> * People committing not working stuff or
without tests because they
know they'll have time to fix it later on before the
release (easy to think
this since there's no release date, it's only when the features are done
that it'll get released)
> * Release date become not important since
they keep being pushed since
what's important is to release planned features
> * Build failing all the time and developers
not caring about it ("it
can always be fixed later when we get close to the
release date" - that's
easy to say since there' no fixed release date)
> * Users seeing less frequent releases and
giving less feedback to
developers (thus helping less)
> * In general, quality dropping over time
>
> So we have several choices:
>
> 1) Forget timeboxing and do feature-based releases, i.e. we list
features and
we only release when they're done
> 2) Start doing real timeboxing again
>
> I've seen so many projects do 1) in the past with such bad results that
for me there's no doubt that the only good strategy is 2). Especially for
an open source project which has a strong community and we should be
releasing stuff regularly and quickly to this community to get good
feedback. Doing timeboxing is also a great way to improve the quality of
our code.
>
> Timeboxing can only work fine if everyone agrees with it (we can revert
stuff
from a developer if it breaks things but it's a pain) and believe in
the release date, so we'd need everyone's agreements.
So WDYT, are we ok to resume doing timeboxing and
go back on track?
I'm definitely for timeboxing.
Thanks,
Marius
> On my side I'm ok to do it and
help enforce it. If we agree we should
start now by releasing RC1 ASAP and give a
new date for 3.4 final and
release on that date.
Thanks
-Vincent
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org
http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
devs(a)xwiki.org