Independent Developer Projects in the Workplace?
An anonymous reader asks: "My company wants to increase creativity and innovation, we our thinking of implementing a Google like policy of 20% of your time for independent projects but I can't find any details on how Google actually implements this. I am curious how they divvy up their time (1 day a week or 1 week a month)? How do you keep your real project from impacting it? At what point are the projects reviewed? Has anybody experienced other successful ways to stimulate creativity at their workplace?"
I don't see any major corporations thinking this is a good investment. I don't see many PHB's going along with this idea, regardless of how successful Google is with it.
Good quote, too many chars. Seriously, the slashdot 120 char limit sucks!
Google lets employees work on their own projects every Friday, and of course retains ownership of those projects.
The Googleblog had a hint into this 20% free time thing a month or two back. Here is posting from a Google employee about it. Here is what he said:
The project stemmed from an idea I had a few months ago, and since then I've been working on it in my 20% time, which is a program where Google allows their employees to devote 20% of their working hours to any project they choose. What's really amazed me about this project is how in a matter of months, working on my own, I was able to go from a lunch table conversation to launching a new service. In my opinion, this is one of the things that really makes Google a great place; that the company's systems, resources and, most important, people are all aligned to make it as easy as possible to take an idea and turn it into something cool.
At NASA, I was on a time-card system, and specified how much time I put in for each of the projects I was doing. The total time had to come to 80 hours for the fortnight. Overtime was prohibited, so if you worked over the 80 hours, you had to take a negative amount of vacation. (The total amount of vacation left went up as a result.) Also, if you left an hour early one day, you left an hour late sometime in the fortnight and simply "borrowed" that hour of vacation until you paid it back.
Projects also had a certain number of hours alloted to them, so if one project was running behind and another ran ahead, it was common practice to "borrow" time.
I imagine Google does something similar, where you have pools of time and can transfer between pools in order to obtain the time you need to do your independent project.
Such mechanisms are very primitive, largely because businesses have almost always operated on a very formal, rigid structure. Person A does task B for C hours a day, rain or shine. With no need for fancier time-management tools, nothing much has been developed. Flexi-time is probably the best system out there for this kind of thing, right now.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
A company I consult with has a policy like that in place, but instead of enforcing it by separating the work like you suggested they have a flexible Tutos based system which provides time tracking capabilities, so developers are free to divide that time as they please. They modified Tutos to display the ratio between the time spent on company-based and volunteer work in a graphical way on every page. The work done for the company is shown as a green bar and volunteer work is shown as a blue bar which turns red if the ratio goes beyond what is expected. It works well, the managers do not even have to keep a close eye on things because most people are disciplined enough if they are made aware of how they are spending their time like that. Of course they could always lie and pretend to be working on a company-based project, but without any significant results to show they can't do it for long. It's a cool system if you have moderately disciplined and self-motivated people who enjoy that kind of freedom and know to appreciate it.
What the official timeline doesn't make very clear is it took quite a bit of effort on the part of some folks within 3M to get 3M to market the notes. Notice the large gap in the timeline between initial samples and the product hitting the shelves. It was pretty bizarre - corporate secretaries were hooked on them and yet the product's backers couldn't convince corporate HQ to sell them.
Median salary for a massage therapist in the US is $2,385/month.
Incidentally, a full-time chef for an institution is $1,510/month. And, a chauffer costs $1,540/month.
In short, you can add a full-time massage therapist, chef and chauffer to your payroll for under $65,000/yr. I know there have been more than one project that would have been far better off ditching a developer and replacing them with those 3 instead.
The Glass is Too Big: My Take on Things
You might want to look into:
http://proxytunnel.sourceforge.net/
You, sir, have redeemed what was a dead joke (confirmed by Netcraft - that'll show them!). My hat is off to you.
It's fairly common amongst R&D companies, or R&D divisions of large companies, for researchers to have this exact deal - 20% of time, or thereabouts, on their own projects. The only thing unusual that Google has apparently done is extended this deal to people involved in more directly product-related development. However, software development is an unusual sort of business which has a lot in common with R&D, especially at a place like Google. In short, the main innovation here is that Google has managed to get some positive PR out of a practice that has been going on for decades.
Mandating something like this is counterproductive. People either have the drive to do things on thier own via personal projects or they don't. If having employees who have the drive to learn more and improve themselves via projects is important (and I believe it is), you need to make the cultural changes to enable it. Many people are likely to be doing things on thier own time as it is. You should start there and then begin accomodating "work time" to do it once you see people have the personal commitment not to abuse the freedom. Here's a few suggestions to encourage personal projects to start with:
1.) Provide a personal project server w/ CVS access from both inside and outside the company. Personally speaking, traffic sucks where I am. If I can crank on something out durring rush hour, then pick it up over the weekend or at night as well as tinker at luchtime w/o copying files around it would be a godsend.
2.) Sponsor weekly project lunch where the company pays for pizza around noon and people are encouraged to discuss, demo, or work on personal projects. Show, tell, talk, encourage.
3.)Work the project concept into the job itself. When doing performance reviews, ask what people have done in the way of personal projects and/or professional development since the last time. Let it become a cultural expectation and include the concept that "we encourage and support personal projects around here" part interview process.
If you do put these things in place, don't forget to include some Slack as well every now and then. Good developers write software in part because they love to, but even they need some downtime. Replace that show & tell pizza lunch w/ tickets to an afternoon geekfest type movie or something sometime.
*** Sigs are a stupid waste of bandwidth.
Math check. The project manager would have to add 25%, not 20%.
There are some caveats, but that's the broad strokes. News.google.com, Orkut and a bunch of stuff on labs came from 20% time.
Chris
Co-Editor, Open Sources
Open Source Program Manager, Google, Inc.
I have a friend who's an Uber Tech Lead (I am not making that up) at Google and he told me how it works in practice:
:)
Everyone gets their 1 day a week to work on whatever they want, *however*, in reality at Google you're slammed working on your project like anywhere else. Therefore, on Friday, you really need to finish patching that security hole in Gmail, so you 'bank' your time. Once your project lets up a bit, you withdraw your time and take n days to work on your personal project.
It seems like this is a fairly practical system for software development, which goes in waves of heavy work and then light times of regrouping and gathering requirements. The 20% gets used during those times when you'd otherwise be waiting for the next big thing to hit.
The interesting thing about Google is that people work to gather other 20%ers onto your 20% project, thereby increasing your project and hopefully eventually presenting it to mgmt for work as a real project (Orkut and Gmail started this way). If you can't gather others onto your 20% project, you're encouraged to find another project...
Anyway, I wish I could implement this system at my work, but my PHBs think it's "wasted time" and given our quarter-to-quarter existence, spending that 20% on customer issues is probably a better use of time, at least for the short-term.
Any network security product or admin worth their salt can detect this kind of "tunnelling" activity with minimal effort. Whether they "choose" to notice this is a different matter, until your productivity drops or an excuse is needed to trim staff.
I do not deploy Linux. Ever.
Sorry, you were a contractor. You don't get to speculate and do all kinds of things of volunteery things as a contractor and bill by the hour for it; you get to bill for the time spent on things your client asks you for. I would have asked for my money back too, not because your tool is bad (its quality is 100% irrelevant) but because I didn't approve it. Either get approval for it or don't bill for it. You're lucky they didn't sue your employer for your fraudulent billing practices.
TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.