Release Early, Release Often
Thursday, July 22, 2010
Labels: googlechrome, releases
Over the next few months, we are going to be rolling out a new release process to accelerate the pace at which Google Chrome stable releases become available. Running under ideal conditions, we will be looking to release a new stable version about once every six weeks, roughly twice as often as we do today.
So why the change? We have three fundamental goals in reducing the cycle time:
- Shorten the release cycle and still get great features in front of users when they are ready
- Make the schedule more predictable and easier to scope
- Reduce the pressure on engineering to “make” a release
The first goal is fairly straightforward, given our pace of development. We have new features coming out all the time and do not want users to have to wait months before they can use them. While pace is important to us, we are all committed to maintaining high quality releases — if a feature is not ready, it will not ship in a stable release.
The second goal is about implementing good project management practice. Predictable fixed duration development periods allow us to determine how much work we can do in a fixed amount of time, and makes schedule communication simple. We basically wanted to operate more like trains leaving Grand Central Station (regularly scheduled and always on time), and less like taxis leaving the Bronx (ad hoc and unpredictable).
The third goal is about taking the pressure off software engineers to finish features in a single release cycle. Under the old model, when we faced a deadline with an incomplete feature, we had three options, all undesirable: (1) Engineers had to rush or work overtime to complete the feature by the deadline, (2) We delayed the release to complete that feature (which affected other un-related features), or (3) The feature was disabled and had to wait approximately 3 months for the next release. With the new schedule, if a given feature is not complete, it will simply ride on the the next release train when it’s ready. Since those trains come quickly and regularly (every six weeks), there is less stress.
So, get ready to see us pick up the pace and for new features to reach the stable channel more quickly. Since we are going to continue to increment our major versions with every new release (i.e. 6.0, 7.0, 8.0, 9.0) those numbers will start to move a little faster than before. Please don’t read too much into the pace of version number changes - they just mean we are moving through release cycles and we are geared up to get fresher releases into your hands!

29 comments:
Mr.Wizard said...
How about a roadmap?
With the understanding that if a feature isn't ready for the predicted version it'll just "ride on the next release train"
July 22, 2010 2:08 PM
jasonvaritekfan said...
How about peeps on the Beta channel like me? Will this new rapid release change include beta releases?
July 22, 2010 2:12 PM
Max said...
Can those on the chrome dev channel expect much faster updates then as well? Would this lead to increased instability?
July 22, 2010 2:13 PM
Roman said...
Cool, but what about better theming support. Like buttons in crx like you guys had previously?
July 22, 2010 2:14 PM
Wes said...
"Since those trains come quickly and regularly (every six weeks), there is less stress."
I don't see how having shorter deadlines will reduce stress on developers, and there is also less time to find bugs for stable release. Is this a decision pushed by the developers or the project managers? If it were me, I would appreciate an extra few weeks to find and remove any bugs before they make it into the stable build.
July 22, 2010 2:44 PM
Richard said...
Can't wait for "Chrome X: Chrome takes Manhattan". :-)
July 22, 2010 3:01 PM
laforge@chromium said...
Historically we've done a major update to the beta channel about once every 1-2 months. The intention is to keep pace with stable, so continue expect to see a new beta build roughly every 6 weeks.
July 22, 2010 3:30 PM
Rupert said...
I second the call for a roadmap.
Mozilla are great at keeping their community informed with mockups and so forth and this helps me know where they are focused.
I don't want to just use a great browser now, I want to know whether or not it is going to stay great and how.
July 22, 2010 3:35 PM
laforge@chromium said...
@Max, In terms of the Dev channel, those will remain at the same weekly pace. The stability of all the channels should remain consistent in this new life cycle.
July 22, 2010 3:36 PM
Andre said...
It would be great if the Google Chrome team published a "Google Chrome Hacks" blog, featuring new technologies coming for web developers, a-la "Mozilla Hacks".
July 22, 2010 3:47 PM
Meok said...
I know Google doesn't care about version numbers but what's so bad about using the decimal point? You don't have to jump a whole number each release. At least do a x.5 release in between or we'll be at Chrome 99 faster than you think. By 2020 we'll be at Chrome 87.
July 22, 2010 8:06 PM
netster007x said...
Google just blows me away with Chrome one day at a time. These version numbers really will get nutty soon, they're already past most other browsers even thought this is the newest browser out there.
July 22, 2010 8:17 PM
Jago said...
@Rupert, Mozilla is great on doing roadmaps... and then ignoring them and launching versions whenever they want.
I like that new stable version appears every 6 weeks, this must mean that everyone of us using the dev channel should be getting almost daily updates.
July 22, 2010 8:52 PM
Peter Jenkins said...
Interesting and positive development, not sure about increasing your major version number though. No other browsers have their numbers in this format in this way, it will make it hard for developers to understand what features are in what versions (especially from autodetect javascript code).
July 22, 2010 11:02 PM
Jim Ramia said...
keep up the great work on Chrome - the best browser ever.
July 22, 2010 11:02 PM
Google Fanboy said...
Hi Anthony,
I was wondering: Apparently you guys are using an Agile approach. What are you guys applying ? Scrum, TDD, something else.
Hope to hear from you.
Keep up the good work!
July 23, 2010 12:41 AM
Nuno said...
Are you thinking on releasing translated versions for chromium? As far as I know, Chrome already have several language translations, but what about Chromium?
Looking forward for an answer.
Greetings
July 23, 2010 2:43 AM
Grant Barry said...
Sounds like a plan
July 23, 2010 4:18 AM
Colin Scroggins said...
I like this pragmatic approach! I do not care about version numbers or roadmaps or being prepped. Give me core features and polish!
July 23, 2010 5:58 AM
Luc said...
Okay, nice to know all this. Good to see Chrome is making (and gonna make) some nice progress! :) But now a question that has been asked a million times: What about a bookmark sidebar?
July 23, 2010 6:18 AM
1337 said...
Hope Chrome will remain as light and fast as it is!
July 23, 2010 8:58 AM
Ian said...
@Wes The idea is you bite off smaller pieces, and finish them at a sustained pace. If you put off all your work until the last day, you have six weeks worth of work, not 3+ months. Hopefully they're working on shorter cycles internally though (e.g. 2 weeks); six weeks is still on the long side for agile and will likely lose some of the benefits.
RE: Roadmaps - that sounds like waterfall development. If you can accurately predict six months into the future you should probably be an iBanker and/or fortune teller. Better to be flexible and respond to customer needs as they arise.
I think a lot of these questions are from lack of exposure to agile. For those wanting a quick overview of agile principles, Mountain Goat Software (no affiliation) has some good summaries. For digging a little deeper there's a more robust Slideshare deck on agile.
July 23, 2010 12:07 PM
Kawika said...
I like the faster release schedules, but the version numbers are soon to get nutty. Three more full version number changes by the end of the year? Doesn't that seem overkill?
July 24, 2010 12:29 AM
David Jones said...
@Laforge interesting shift - for my own education - what is ratio of QA:eng resources ?
July 24, 2010 5:58 PM
Lars Gunther (itpastorn) said...
I really don't know what to make of this statement: "if a feature is not ready, it will not ship in a stable release"...
Considering the fact that Chrome has really sloppy criteria for a feature being "ready". E.g. HTML5 form features shipping without UI, constraint features shipping while still allowing the form to submit, etc.
And the whole browser being an accessibility nightmare.
I don't mind Chrome releasing often, but I do mind Chrome releasing half baked features.
July 28, 2010 1:34 AM
David said...
Is Google officially adopting Agile software development methodology? I saw comments by Ian in an answer to a question about Agile, but I'd like to hear from an official source.
July 29, 2010 11:51 AM
SagaciousFoo said...
I'm wondering why anyone would think having a constantly increasing version number would be confusing for Chrome. After all, it's not like ANYWHERE on the official Google Chrome site a version number is mentioned, nor it is it even possible to download anything but the most current version. Also, anyone using an official build of Google Chrome is almost certainly using the newest release version, as it auto-updates silently without user intervention. For the end user, the version number might as well as not be there.
People: Chrome is a constantly evolving program. You have to get out of the mindset of old software development model in which you couldn't be sure how often users would update. Google is essentially building their method of development on the silent auto-update feature. When updates are distributed evenly to everyone using your product at nearly the same time, silently, you can model the entire development process around it.
July 29, 2010 8:18 PM
Aseem Kumar said...
Just wondering if there is any particular reason for "6 weeks"? Why not 5 or 7 weeks..??
August 18, 2010 8:10 PM
Steve said...
issues:
In Ubuntu netbook you cannot scroll to the bottom of options page- not with scrollbar and not with arrow keys.
Chromium has the clunkiest system of accessing bookmarks of any browser I've ever used. at LEAST put a little button somewhere to drop down a list without ntaking up a whole bar's worth of screen estate. This is simply comical.
No way to have 2 pages open at startup - that's another possible way to get a bookmarks listing.
September 4, 2010 5:27 AM
Post a Comment