Technical Release Manager for Samba
Michael Adam
obnox at samba.org
Tue May 5 12:13:18 MDT 2015
On 2015-05-05 at 16:41 +0200, Stefan (metze) Metzmacher wrote:
> > In thinking about 4 month release cycles, I've been concerned that our
> > current 'nobody is in charge'/consensus mode of operation may make practical
> > operation difficult.
>
> As written before I think 4 month cycles are too short for us.
> 6 would be ok for me.
Is this a gut feeling or is there reasoning behind this?
For me, this really depends on how much we would be able to
slim down the release and maintenance work:
I do certainly see the appeal for having very short release
cycles. By having releases very frequently (<= 4 months), each
single one becomes much less important, and more easy to do.
Slipping a feature to the next release would hurt much less.
This would require us to have a very strict and simple process
with rules and deadlines for which there can not be exceptions
(of technical nature like feature foobar must make it in..).
> > Now, much more than at times in the past, I think the team is finally at a
> > level of mutual respect where we could cope with someone being elected
> > into a position of leadership, 'in charge', as regards getting us to
> > actually make releases.
> >
> > To be clear, I see this as being in addition to Karolin continuing in
> > her critical role, the aim would be instead to tackle the things we
> > specifically excluded from that role:
> > - championing features
> > - applying technical insight to difficult choices
> > - deciding what makes it in and doesn't for a particular release, where there isn't a timely consensus.
> > - and more generally providing leadership and project direction.
> >
> > The idea is to ensure that Karolin can do the mechanics (the 'doing')
> > with support, confidence and greater ease. In particular, I'm keen that
> > Karolin has someone to rely on to make the difficult technical choices
> > that will ensure that releases ship on time.
>
> During the past releases I was typically the one who helped Karolin with
> such decisions. I also went through all the bugs and
> moved blocker bugs to the next release.
This silent background support has been extremely valuable!
But I think Andrew was rather suggesting a a role that acts
in public, as a gate-keeper. One that speaks up in public
towards the team and community, having decision powers for
the case where a consensus can not be reached in a timely manner.
> But I don't think we should have a single person assigned to this,
> who would then have more power than others.
I can understand where Andrew sees the possible desire for such a role,
but I understand and partly share the very general concerns.
> I guess shorter and strict release cycles might already solve the major
> problem.
Indeed! That is a very important point. Let me elaborate on this
a bit, because I was thinking in these lines myself:
- With the current, long release cycles, each release is very
important, and if a features misses a release it hurts.
Hence the developer tries to get this feature into the release
by having the release deferred.
==> vicious circle: release cycle get longer and longer.
In this situation that such a gate-keeper ("in-charge person") in
front of the technical release management might be useful.
- If we had very short (<=4 months even) and regular release cycles
with fixed branch and release dates, as indicated above, each release
would be much less important, ideally not a big deal any more.
And slipping a feature into the next release would hardly hurt.
With a very strict and simple set of rules for the release process
there would hopefully not be a real need any more for deciding
which features make it in and which don't.
==> I.e. this model might remove the need for such an in-charge role
completely. I am not 100% convinced that we can achieve this
effect with a 6 months cycle but with <=4 months, I am pretty sure.
> Our review process should make sure master is always able to run in
> production
> with its default settings. This prevents unstable stuff to be
> included/activated.
>
> Releases based on deadline would then just take what's there and ready.
>
> I'd propose to try this before we try to add more complex rules to our
> release management.
I think this is wise: Change one thing at a time!
Let's try purely with short and fixed release cycles first.
How short we can get/try depends imho on how much we
can reduce the effort for each single relase and for
the maintenance.
So we would next need to decide on:
- release frequency (6 months? or more radically try 4?)
- fixed release times (e.g. december, april, august)
- lifetime of releases
(do we stick with current - maintenance - security?)
- release process, e.g.:
- branch 4 (? or 6?, or ...) weeks before release date
- stabilize with bugzilla work, no features ported
- have fixed dates for beta / rc / freeze / release
If this does not work out, we can revisit other options like
the need for an in-charge person.
Cheers - Michael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: not available
URL: <http://lists.samba.org/pipermail/samba-technical/attachments/20150505/92f277a3/attachment.pgp>
More information about the samba-technical
mailing list