[Release] Release progress
Keith Hodges
keith_hodges at yahoo.co.uk
Tue Jun 3 14:59:30 UTC 2008
Keith Hodges wrote:
> Hello All,
>
> There has been a fair bit of progress towards our Sake/Tasks's version
> of ReleaseBuilder.
And since some still cant see the point of doing it this way. I thought
I would try a small explanation.
The plan is to change the development life cycle
From...
One person integrates a couple of small fixes -> generates an update - >
publishes an image
-> observers feedback (by which time the integrator has moved forward 5
steps) -> go around again -> (in case of a problem the integrator has to
go back 5 steps to undo a mistake and then go around again).
From the fix developer point of view, if the fix doesnt work correctly
they then have to produce a fix for the fix. The resultant "fix" is very
specific, and cant be used elsewhere.
To...
A. Produce a Test Candidate image from current release + "Tasks", submit
for test and feedback, improve/add/remove tasks, and build again.
Advantage 1: Tasks can be tested on old images, minimal images, full
images, production in-use images and the current release. So the release
work can be used in a pick and mix fashion by those who want to adopt it
into other places. And each task can be more broadly tested (automated
one hopes)
[All of the current tasks have been adopted into my main deployed image]
Advantage 2: Task developers, particularly those wanting to do a major
refactoring are not working with a moving target." The update
stream-only approach is a moving target.
Advantage 3: Newer ideas such as picking updates from several parallel
update streams (i.e. DS) can be adopted into this framework.
Advantage 4: A lot of work can be accomplished in parallel and integrated.
Advantage 5: Tasks which do not make it into the release are not wasted,
but can be used by those who want to use them, or deferred for later
release cycle.
Advantage 6: A framework is established for future releases, enabling
future "out of scope items" to be road-mapped. This means we can do some
actual planning.
Advantage 7: Radical innovations can be included/removed very easily if
they prove to cause a problem. But more importantly radical innovations
are more likely with this model.
Advantage 8: Tasks which are developed on a minimal kernel image, can be
tested on full-images. There is no need to wait until someone eventually
takes the final release, loads all of their packages and THEN finds that
it doesnt work.
Advantage 9: The overall control of the release progress is not
constrained by one person. Tasks can be developed independently. The
final vote on what the release contains can be offered to the community
(if you dare).
B. Generate a Release candidate as a "simple" incremental change from
the Current release
Automate the generation of an update from the current release to the
next release given that the desired result is known in advance.
cheers
Keith
More information about the Release
mailing list