Don’t let the beer get warm : Iterate!

I can’t believe I’m using drinking references, but maybe I’m allowed to since I’ve got a batch of homebrew sitting in the other room…
 
This should probably come as a surgeon generals warning or something on that big bottle of startup elixir we’ve all been drinking, but think twice before you get all ghetto-tastic and grab that big-ass project equivalent of a 40oz.  If you don’t pound it, its gonna get warm.
 
This is a story about how we grabbed not one, but three 40s and nearly ended up under a pile of cushions with profanities scribbled down our arms.  For those of you who need some context, Olark lets you monitor and chat with visitors on your website (http://www.olark.com)  Back in October of last year we had some pretty ambitions plans.  We were still fresh off the Y-combinator high, chomping at the bit and ambitious as ever.  Much of our backend code at the time was hacked together over the course of a year and a half, we desperately wanted an extensible API for rounding out our feature set, and our website (a patchwork of previous versions) needed a serious overhaul.  So what did we do?  We tackled all three, AT ONCE.  
 
 
 
When you’re a 4 person company the implications of this are huge.  How do you keep these monolithic projects moving forward with a constant flow of bugs and feature requests from your loyal customers?  Answer: It’s pretty damn hard.  I can’t count the number of times I heard “but if we can just wait until the new (insert – API/Backend/Website) is done, it’ll be so easy to implement!”  And that’s the thing, we always felt these projects were just around the corner but it was so easy to change the specifications (often they had to change).  One month turned into many, and we ended up with few customer-facing improvements to show for it.
 
I write this on the heels of launching our new website (yesterday!), and our new backend (two weeks ago).  But had some (partially serendipitous) decisions been different we’d still be stuck.  For example, we nearly added even more time to our website development by “starting from scratch” with Rails 3 instead of just cleaning up what we already had.  They would have probably sent us straight to the drunk tank for that one.  Our backend got kicked out the nest by mama bird when the old stuff just couldn’t keep capacity.  Fortunately we didn’t fall out of the nest.
 
So here’s the takeaway, never have a bunch of massive projects going on at once.  Stay agile, iterate, listen to your customers and react quickly.  There’s a time for big overhauls (we needed ours, and now we get to reap the rewards) but don’t overdo it.  Overdoing it is easier than you think too.  A project in your head is a simplified version of reality… so take that minimally viable product stuff, release early and often stuff to heart.
 
Anyone else have similar stories?  Have anything to say about our new website or service?
 
Also, you like my stick figures.  Go ahead, say it.
This entry was posted in Uncategorized. Bookmark the permalink.

Comments are closed.