I was supposed to post this a month and a half ago but somehow never got around to it. Jon Pincus who organized the session put up his notes on the 20% time session at CFP 2005. It was a pretty interesting discussion, some of which is excerpted below

Some examples that started as 20% projects at Google include GMail, Google Suggests , Firefox prefetching, and various technology pieces that are used throughout Google's code base. At Microsoft, many of the Windows Power Toys had a similar genesis, and attendees thought that Apple's iPod may have had similar origins in a "part-time, on-the-side" project.

One question that came up repeatedly (in various forms) is "how does the company know that people aren't just goofing off?" The short-term answer comes down to trust (that is, the assumption is that most employees will do their best to use this time in ways that give value to the company); in the longer term, contributions from 20% time projects are considered as part of reviews, and so if you've wasted the time, it will come out at that point. [It was pointed out that trust in general reduces "transaction costs", and so can increase efficiency -- so that even if (say) 10% of employees are accomplishing absolutely nothing with this time, it still could be a big win not to have any monitoring overhead which would slow down the other 90%.]

Another question that came up a couple of times was how to manage the impact on schedules -- does this mean that all dates wind up 20% further out than they would otherwise? I don't think there was an explicit answer to this in the meeting, but several people pointed out that a large chunk of many engineers' days at a lot of companies goes to various kinds of not-specifically-product-related tasks (e.g., reading Slashdot); if that "breakage" is diverted into time on a 20% project, then the actual hit is much smaller.

Most of the discussion was devoted to discussing the reasons that this approach appears to work well at Google.

I personally think that creating a framework that encourages developers at a company to work on side projects is very rewarding for both the employees and the company. I don't know how I'd have dealt with some of the issues I had with being a cog in a [relatively] slowly moving corporate wheel if I didn't have RSS Bandit to work on in my previous job.  Now that it is a mature project that has seen hundreds of thousands of downloads since it started, I often end up talking to product teams working with RSS at Microsoft in an adviser role. I got something out of it and Microsoft got something out of it.

One of the questions that kept coming up during the session was how one measured 20% time and made sure employees weren't goofing off. The answer was that it isn't really about taking a day off every week, its more about factoring in the time that the person will spend on their side project into their work schedule. After all, no one has 20% of their time free just before shipping and then there are times when weeks go by with not a lot of work to do. 20% time is more about allowing developer employees to reclaim some of that slack in ways that may or may not benefit the company but would make them more satisfied with their day jobs.

Joe Beda mentioned that the fact that Google was a web application built around web services enabled people to quickly write interesting applications utilizing the data and processing power of their back end. Now that I work on the back end of various services at MSN I can see his point. It would be very interesting to see the kind of applications built if we encouraged people to go wild with the APIs behind applications like MSN Search, MSN Spaces, MSN Messenger, Hotmail, MSN Groups, Start.com, MyMSN and see what they could build in their spare time.  In fact, I've already seen one cool hack built on top of MSN Virtual Earth by some internal folks and it isn't even out yet. This is one of those things I'll definitely be evangelizing at work. Wish me luck. :)


Categories: Life in the B0rg Cube | Mindless Link Propagation
Tracked by:
"4tsq8" (4tsq8) [Trackback]
"y37bl" (y37bl) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"nk4ye" (nk4ye) [Trackback]
"Welcome to linuxtld.com!" (Welcome to linuxtld.com!) [Trackback]
"nyav.purple-icing.com" (nyav.purple-icing.com) [Trackback]
"oqxtu" (oqxtu) [Trackback]
"1k8jd" (1k8jd) [Trackback]
http://www.walshperformancegroup.com/contact.htm [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"Welcome to linuxtld.com!" (Welcome to linuxtld.com!) [Trackback]
"default parking homes for sale at free815.com" (default parking homes for sale ... [Trackback]
"fp8ll" (fp8ll) [Trackback]
"free815.com" (free815.com) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"search the web" (search the web) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"meskateboards.com/mesite01.swf" (meskateboards.com/mesite01.swf) [Trackback]
"o7w34" (o7w34) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]
"d4gug" (d4gug) [Trackback]
"ue6ax" (ue6ax) [Trackback]
"purple-icing.com" (purple-icing.com) [Trackback]
"vkaed" (vkaed) [Trackback]
"me Skateboards" (me Skateboards) [Trackback]