[Cosmo-dev] Next steps for Cosmo

Ted Leung twl at osafoundation.org
Thu Aug 23 16:59:19 PDT 2007


Hi folks,

I thought I would try to tie together Jared's note on "quick  
releases" and Brian's note on "Cosmo 0.8", and try to give a sketch  
at how we things might change in the Cosmo world.  My intent in doing  
this is not to set down a definitive notion of what we will do, but  
to try and give a flavor of what I think a desirable outcome looks  
like, and then get people's reactions.  In particular, are there  
things that are missing, are the obstacles preventing us from getting  
to a scenario  like this, and so forth.   If you have questions,   
concerns, or ideas *please* speak up.

With that said, here goes:

1. We are currently testing Cosmo 0.7 RC4.   Unless we find some  
catastrophic bugs, this is going to become Cosmo 0.7.0.    Between  
now and the Cosmo 0.7 launch, most people should be working on  
beefing up our test coverage for Cosmo.   This is particularly  
important for the web UI.    Also, there will be a series of IRC QA  
sessions between now and than.   If you are a Cosmo developer you  
should be participating in these sessions.

2. After we launch Cosmo 0.7, we plan to do (at least) 4 Cosmo 0.7.x  
bug fix releases, once a week.   When I originally proposed this, my  
expectation was that the release happens every week and whatever  
stuff is actually done within a particular release frame is what will  
go into that release.   If it isn't done, it doesn't go into the  
release.    We have not yet worked out all the details for how this  
process is going to work, but here is a proposal:

- PPD comes up with an overall priority for all bugs currently  
targeted for Cosmo 0.7.1 (How they do this is up to them).   We  
preserve these priorities, and then put all bugs marked 0.7.1 into a  
new milestone 0.7.Future.

- Prior to the start of each release "frame", we (TBD - but likely a  
version of the bug council) figure out which bugs from 0.7.Future, as  
well as critical bugs reported by end users.  In order to do this  
effectively, we will need to work with individual developers to make  
sure that bugs can be fixed in the time allotted to a release.   It's  
possible that a bug that gets prioritized will take more than a week  
to fix.  If this happens, the developer will start working on the  
bug, but the fix will have to wait for the next release for  
inclusion.  An example of a something like this is the Safari support  
that we punted.  It's unlikely that we can fix all the Safari bugs in  
a single week, but we can start fixing them until they all get  
done.   Whatever release the last bug is in will be the release that  
supports Safari

- developers make the necessary fixes

- at a well known date (we don't know what this needs to be yet), QA  
begins qualifying the release - bugs which are not fixed by this date  
are dropped into the next release - partially committed fixes will  
need to be backed out.

- while QA is validating, the "bug council" picks the next set of  
bugs and the process repeats.   Once validation is complete, we issue  
the release and update the hub.   There is going to be an element of  
re-planning at each release, because we'll need to adjust to what  
happened (or didn't) in the previous release frame.

This proposal is a large change from our existing practice, and I  
think it's safe to say that we will have some hiccups and learning as  
we go in order to make this happen.

3. We have a branch for Cosmo 0.8 that Brian is working in.  Right  
now, the only goal for Cosmo 0.8 is to be compatible with Leopard  
(this mostly means iCal 3).   We've been kind of loose about exactly  
what this means.   Mikeal observed that Leopard iCal does scheduling  
and we dont' support scheduling and currently our plan is not to do  
scheduling, although I think we might be revisiting that discussion.   
Let's assume for the sake of simplicity that 0.8 does not include  
scheduling (if we do scheduling it ends up in a later release due to  
size).

If you assume that Cosmo 0.7.0 launches next week, and then add four  
weeks for the bug fix releases, then that puts us just about at the  
end of September.   Leopard is supposed to launch in October, but we  
don't know exactly when.  This probably means that we should plan to  
be done with Cosmo 0.8 in time for an early October launch of  
Leopard.   You'll notice that this leaves very little time for anyone  
except Brian to work on features for Cosmo 0.8, so at this point I  
think it is very unlikely that we will do any other features for  
Cosmo 0.8.   We haven't had a real discussion of this with PPD yet,  
but the laws of physics seem pretty clear to me here.

4. After Cosmo 0.8, I would like to see us get on a regular release  
cycle that lasts somewhere between 2-4 weeks.   The 4 1 week releases  
for 0.7.x as a special event due to the need to stabilize Cosmo  
during its debut to a large audience, but I also think that a 1 week  
pace is probably a little too frenetic. It is very important that we  
be able to turn releases of Cosmo quickly in order to address user  
feedback, and to continuously improve the Chandler Hub service.    
There are several areas which need to change in order to be able to  
do this:

- We need to plan in smaller, less interdependent units, and plan for  
regular releases to happen.   We will be revamping our planning  
process to make sure that this happens -- this is a Chandler project  
wide goal, not just a Cosmo goal.   The days of 3-6-9 month release  
cycles needs to be over.

- We need to improve our automated test coverage.   The  
responsibility for that lies both with developers and with QA.

I know that this is a long message and there are a lot of changes  
being proposed.  At the same time, we've been saying for months that  
we'd like to shorten our release cycles after preview, and that time  
is just about upon us.   Please speak up with your questions,  
concerns, and ideas.

Thanks,

Ted


More information about the cosmo-dev mailing list