Re: releasing: it takes two

2006-01-20 Thread David Blevins

On Jan 20, 2006, at 12:20 PM, Jeff Genender wrote:


I agree with this.  The release can be difficult at best.  And I
appreciate you giving me *much* more credit that is due...you did a  
lot

more than just a co-pilot (perhaps I should be scolding you for giving
me more credit than is due) ;-)


Well it was the first time we tried someone else as pilot.  Learning  
experience for us all.  I'm thinking it probably wasn't fair to put  
you or Matt in the pilot seat without having co-piloted a release  
first, but then again that may be the best way to learn.  Time will  
tell I guess.


In any case, this is a great idea, and I would be happy to help co- 
pilot

others in some coming releases.  Having 2 is the way to go, and its a
great learning experience to be able to learn from your peers, as
everyone does things a little differently.


You said a keyword ("peer") that just made me go "duh!"  This is  
pretty much peer programming but for releases.  Not really a new  
concept.


-David


Jeff

David Blevins wrote:

One thing I've been meaning to hit the list with now that we are
formalizing our release process a bit more

For every release I've done ever (in OpenEJB, Geronimo, or  
otherwise),
the dynamic I call Pilot and Co-Pilot seems to always come in.   
You have

the person leading the show, the Pilot (aka "Release Manager") and
someone dedicated to the pilot.  The two of them are responsible for
delivering a good release.  It's just too much work to do a release
completely alone; too much to remember and too many steps to do.  You
usually have someone putting in the hours with you dotting the  
"i"s and

crossing the "t"s while you are doing the tagging and branching,
building and signing, etc.

In OpenEJB for many of the releases is was me as pilot and Alan as
co-pilot.  For some Alan would be pilot and I would be co-pilot.

In Geronimo, I seem to remember the releases going like this:

 1.0-M1:  David B. (pilot), Dain (co-pilot)
 1.0-M2:  David B. (pilot), Dain (co-pilot)
 1.0-M3:  David B. (pilot), Dain (co-pilot)

Those were all done in the exact same Dunn Brothers coffee shop,
ironically, and took 1-2 weeks each.  In M3 we actually tried to  
do it

at OSCON '04 and I lost Dain to endless meetings and the release just
didn't happen till the second week after when we happened to be  
back in

MN again.  None of those releases could have happened without Dain.

 1.0-M4:  David B. (pilot), David J. (co-pilot)

This one was a bit TCK release and it was David J. and I up till  
the wee

hours of the morning the last three days and pushing binaries getting
the last few tck results.  I remember I screwed up the installer  
cause I
built it from the branch and no the tag by mistake.  Since David  
J. was
working with me on it, he was able to figure it out and put out a  
good

installer right away the next morning when people complained about it
not working quite right.  Definitely, that release would not exist
without David J.  He carries more than his weight in TCK work in all
releases these days, but this one he did a significant amount of the
polish on the binary work.

 1.0-M5:  Jeff (pilot), David B. (co-pilot)

Jeff lead the charge with closing up issues, branching, etc., and I
pretty much just did my best to try and figure out what it is I  
usually
did for releases and communicate that to Jeff.  David J. and I did  
the

pre-final-build TCK testing and managed to get that done just before
OSCON '05.  The final run happened on David J's machine "crow" during
OSCON '05.

 1.0: Matt (pilot), David B. (co-pilot)

Matt lead the charge.  He gets the record for the most endurance
displayed during a release cycle ;).  This was the most community  
driven

release to date namely because many of us in LA then San Diego for a
week.  TCK work done by David J. and myself.  The
final-final-final-final binaries created, signed and pushed to the
mirrors by Matt with help from me.  I'm not a very good co-pilot or I
would have remembered to push the OpenEJB binaries at the same  
time we

did the Geronimo ones :)


Anyway, all releases should be community run and they are getting  
that
way more and more.  But I know from experience doing a release is  
hard
work and you need a dedicated backup to really do it right.  It's  
also
the only real way to pass the release baton from one person to  
another:
let them co-pilot a release with you and then let them be pilot on  
the

next release; or let them be pilot and you be co-pilot.

The proposal is that I think it would be great if we designated a  
pilot

and co-pilot for every release cause that's pretty much the way every
release has been done.  I've also noticed that the quality of release
seems to be very tied to how closely the pilot and co-pilot work
together (i.e. less is overlooked).

What do you guys think?

-David






Re: releasing: it takes two

2006-01-20 Thread Jeff Genender
I agree with this.  The release can be difficult at best.  And I
appreciate you giving me *much* more credit that is due...you did a lot
more than just a co-pilot (perhaps I should be scolding you for giving
me more credit than is due) ;-)

In any case, this is a great idea, and I would be happy to help co-pilot
others in some coming releases.  Having 2 is the way to go, and its a
great learning experience to be able to learn from your peers, as
everyone does things a little differently.

Jeff

David Blevins wrote:
> One thing I've been meaning to hit the list with now that we are
> formalizing our release process a bit more
> 
> For every release I've done ever (in OpenEJB, Geronimo, or otherwise),
> the dynamic I call Pilot and Co-Pilot seems to always come in.  You have
> the person leading the show, the Pilot (aka "Release Manager") and
> someone dedicated to the pilot.  The two of them are responsible for
> delivering a good release.  It's just too much work to do a release
> completely alone; too much to remember and too many steps to do.  You
> usually have someone putting in the hours with you dotting the "i"s and
> crossing the "t"s while you are doing the tagging and branching,
> building and signing, etc.
> 
> In OpenEJB for many of the releases is was me as pilot and Alan as
> co-pilot.  For some Alan would be pilot and I would be co-pilot.
> 
> In Geronimo, I seem to remember the releases going like this:
> 
>  1.0-M1:  David B. (pilot), Dain (co-pilot)
>  1.0-M2:  David B. (pilot), Dain (co-pilot)
>  1.0-M3:  David B. (pilot), Dain (co-pilot)
> 
> Those were all done in the exact same Dunn Brothers coffee shop,
> ironically, and took 1-2 weeks each.  In M3 we actually tried to do it
> at OSCON '04 and I lost Dain to endless meetings and the release just
> didn't happen till the second week after when we happened to be back in
> MN again.  None of those releases could have happened without Dain.
> 
>  1.0-M4:  David B. (pilot), David J. (co-pilot)
> 
> This one was a bit TCK release and it was David J. and I up till the wee
> hours of the morning the last three days and pushing binaries getting
> the last few tck results.  I remember I screwed up the installer cause I
> built it from the branch and no the tag by mistake.  Since David J. was
> working with me on it, he was able to figure it out and put out a good
> installer right away the next morning when people complained about it
> not working quite right.  Definitely, that release would not exist
> without David J.  He carries more than his weight in TCK work in all
> releases these days, but this one he did a significant amount of the
> polish on the binary work.
> 
>  1.0-M5:  Jeff (pilot), David B. (co-pilot)
> 
> Jeff lead the charge with closing up issues, branching, etc., and I
> pretty much just did my best to try and figure out what it is I usually
> did for releases and communicate that to Jeff.  David J. and I did the
> pre-final-build TCK testing and managed to get that done just before
> OSCON '05.  The final run happened on David J's machine "crow" during
> OSCON '05.
> 
>  1.0: Matt (pilot), David B. (co-pilot)
> 
> Matt lead the charge.  He gets the record for the most endurance
> displayed during a release cycle ;).  This was the most community driven
> release to date namely because many of us in LA then San Diego for a
> week.  TCK work done by David J. and myself.  The
> final-final-final-final binaries created, signed and pushed to the
> mirrors by Matt with help from me.  I'm not a very good co-pilot or I
> would have remembered to push the OpenEJB binaries at the same time we
> did the Geronimo ones :)
> 
> 
> Anyway, all releases should be community run and they are getting that
> way more and more.  But I know from experience doing a release is hard
> work and you need a dedicated backup to really do it right.  It's also
> the only real way to pass the release baton from one person to another:
> let them co-pilot a release with you and then let them be pilot on the
> next release; or let them be pilot and you be co-pilot.
> 
> The proposal is that I think it would be great if we designated a pilot
> and co-pilot for every release cause that's pretty much the way every
> release has been done.  I've also noticed that the quality of release
> seems to be very tied to how closely the pilot and co-pilot work
> together (i.e. less is overlooked).
> 
> What do you guys think?
> 
> -David


releasing: it takes two

2006-01-20 Thread David Blevins
One thing I've been meaning to hit the list with now that we are  
formalizing our release process a bit more


For every release I've done ever (in OpenEJB, Geronimo, or  
otherwise), the dynamic I call Pilot and Co-Pilot seems to always  
come in.  You have the person leading the show, the Pilot (aka  
"Release Manager") and someone dedicated to the pilot.  The two of  
them are responsible for delivering a good release.  It's just too  
much work to do a release completely alone; too much to remember and  
too many steps to do.  You usually have someone putting in the hours  
with you dotting the "i"s and crossing the "t"s while you are doing  
the tagging and branching, building and signing, etc.


In OpenEJB for many of the releases is was me as pilot and Alan as co- 
pilot.  For some Alan would be pilot and I would be co-pilot.


In Geronimo, I seem to remember the releases going like this:

 1.0-M1:  David B. (pilot), Dain (co-pilot)
 1.0-M2:  David B. (pilot), Dain (co-pilot)
 1.0-M3:  David B. (pilot), Dain (co-pilot)

Those were all done in the exact same Dunn Brothers coffee shop,  
ironically, and took 1-2 weeks each.  In M3 we actually tried to do  
it at OSCON '04 and I lost Dain to endless meetings and the release  
just didn't happen till the second week after when we happened to be  
back in MN again.  None of those releases could have happened without  
Dain.


 1.0-M4:  David B. (pilot), David J. (co-pilot)

This one was a bit TCK release and it was David J. and I up till the  
wee hours of the morning the last three days and pushing binaries  
getting the last few tck results.  I remember I screwed up the  
installer cause I built it from the branch and no the tag by  
mistake.  Since David J. was working with me on it, he was able to  
figure it out and put out a good installer right away the next  
morning when people complained about it not working quite right.   
Definitely, that release would not exist without David J.  He carries  
more than his weight in TCK work in all releases these days, but this  
one he did a significant amount of the polish on the binary work.


 1.0-M5:  Jeff (pilot), David B. (co-pilot)

Jeff lead the charge with closing up issues, branching, etc., and I  
pretty much just did my best to try and figure out what it is I  
usually did for releases and communicate that to Jeff.  David J. and  
I did the pre-final-build TCK testing and managed to get that done  
just before OSCON '05.  The final run happened on David J's machine  
"crow" during OSCON '05.


 1.0: Matt (pilot), David B. (co-pilot)

Matt lead the charge.  He gets the record for the most endurance  
displayed during a release cycle ;).  This was the most community  
driven release to date namely because many of us in LA then San Diego  
for a week.  TCK work done by David J. and myself.  The final-final- 
final-final binaries created, signed and pushed to the mirrors by  
Matt with help from me.  I'm not a very good co-pilot or I would have  
remembered to push the OpenEJB binaries at the same time we did the  
Geronimo ones :)



Anyway, all releases should be community run and they are getting  
that way more and more.  But I know from experience doing a release  
is hard work and you need a dedicated backup to really do it right.   
It's also the only real way to pass the release baton from one person  
to another: let them co-pilot a release with you and then let them be  
pilot on the next release; or let them be pilot and you be co-pilot.


The proposal is that I think it would be great if we designated a  
pilot and co-pilot for every release cause that's pretty much the way  
every release has been done.  I've also noticed that the quality of  
release seems to be very tied to how closely the pilot and co-pilot  
work together (i.e. less is overlooked).


What do you guys think?

-David