In general I like this style of time-boxed monthly release planning. It
does make big disruptive changes harder but it makes small changes much
easier because they get out with regularity. It also gives a nice rhythm to
things.

There are a couple of potential issues for switching to this right now
though:

   1. To date our strategy has been to release at linkedin before doing an
   open source release. The advantage of this is that linkedin uses kafka very
   very heavily (literally thousands of producer and consumer processes,
   hundreds of topics, and a half dozen clusters separated by SLA). These
   rollouts take a lot of time and are really painful but I think they are
   valuable for other users because they ensure that by the time we do an open
   source release we are guaranteed pretty good quality. We have always found
   lots of issue in the course of each rollout. I am not sure how well we
   could manage this alignment with a more fixed schedule because the nature
   of things is somewhat stop and start--we rollout out on a few test
   clusters, then onto just some servers in a production cluster, then whole
   cluster, etc. Each time we find an issue we stop and debug it and then. On
   the other hand I am not sure how desirable it is to have kafka release
   schedule tied to linkedin since we want it to be a community driven project.
   2. Our current focus for linkedin folks was going to be on replication
   which will be a really disruptive set of features that need to be released
   together. Moving this to a branch would essentially move at least half of
   active development there too. Not sure if this is such a good idea. It
   might be better to just take a few months and get this worked out.

My personal opinion is that this would be a good change to make but we
should wait until after 0.8/replication goes out, at that point we should
be doing smaller iterations and the release alignment would be less of an
issue.

Any thoughts from others?

-Jay

On Fri, Nov 11, 2011 at 2:07 PM, Taylor Gautier <tgaut...@tagged.com> wrote:

> I think maybe once per month might be reasonable? Or 6 weeks?  I don't
> know exactly what exact timing would make sense.
>
> I'm not necessarily suggesting to break up features into smaller
> pieces and release them in parts. If a feature takes longer than a
> release cycle to build then it just comes out in the cycle when it is
> ready.
>
> My point is that you will have less numbers of large features per
> release with this strategy.
>
> Of course it will be required for the feature owner of a large feature
> to have a branch for development and be somewhat challenging to stay
> abreast of the trunk changes but it's doable especially with git.
>
> On Nov 11, 2011, at 1:50 PM, Jun Rao <jun...@gmail.com> wrote:
>
> > Taylor,
> >
> > What's the release cycle that you are looking for?
> >
> > Also, for big features like replication, it may be hard to decompose it
> > into multiple releases. We can probably stage it so that some of the more
> > advanced stuff (e.g., rebalance with new brokers) are released later.
> > However, even to get the basic replication work done requires significant
> > changes. Any suggests on how to do this better is welcomed.
> >
> > Thanks,
> >
> > Jun
> >
> > On Fri, Nov 11, 2011 at 1:32 PM, Taylor Gautier <tgaut...@tagged.com>
> wrote:
> >
> >> No - just that big feature changes are more risky than smaller ones
> >> and having smaller upgrades helps identify unexpected issues more
> >> easily.
> >>
> >> Having fixed time length releases reduces the tendency for releases to
> >> grow larger.
> >>
> >> Another benefit of frequent small releases is that you'll get good at
> >> it so the process should become easier and more routine with time.
> >> With big releases and long periods of real time in between this won't
> >> be as likely to happen.
> >>
> >>
> >>
> >> On Nov 11, 2011, at 1:08 PM, Jun Rao <jun...@gmail.com> wrote:
> >>
> >>> Hi, Taylor,
> >>>
> >>> Are you more worried about bug fixes? If so, we can have some fixed
> >> release
> >>> interval for bug fix releases.
> >>>
> >>> Thanks,
> >>>
> >>> Jun
> >>
>

Reply via email to