Monday, February 18, 2008

Release Early & Often

{

Paul Buchheit (who we can thank for Gmail) comments on a post by Marc Andreessen:

For web based products at least, there's another very powerful technique: release early and iterate. The sooner you can start testing your ideas, the sooner you can start fixing them.

I wrote the first version of Gmail in one day. It was not very impressive. All I did was stuff my own email into the Google Groups (Usenet) indexing engine. I sent it out to a few people for feedback, and they said that it was somewhat useful, but it would be better if it searched over their email instead of mine. That was version two. After I released that people started wanting the ability to respond to email as well. That was version three. That process went on for a couple of years inside of Google before we released to the world.

Interesting and it goes along with something Guy Kawasaki was saying in a recent podcast I commented on hearing.  So the next question comes down to technique - when you're working on something by yourself, how do you schedule builds?  I'm thinking I may start to take deliberate "coding vacations" - days I take off* from work in order to push through releases on my various little software projects.  Hm... other thoughts?

*My employer offers "comp days" so it's not at the expense of my day job.

}

2 comments:

AJ said...

So I know you said you were looking forward to reading the "Founders at Work" book (http://metadeveloper.blogspot.com/2007/02/founders-at-work.html), but did you ever? If not, there's a great chapter on / by Paul Buchheit and Gmail. One of my favorite chapters and a really fun book to read.

So.. comp days at work. How often do you get them and how much direction are you given?

David Seruyange said...

Hey AJ,

I have the book but it's been in my reading queue - I did read a few chapters though, the del.icio.us one and the one on Philip Greenspun.

I work a lot so I accumulate a good amount of comp time. But I'm not militant about taking the time off (feeling swamped with what I need to do) so it hasn't been a clearly defined area. The idea is that you take a day "when you need it."

It feels like I'm somewhat cheating myself though by not trying to keep track and be more militant about making sure I balance the whole "comp time" equation properly for what it was designed.