26.04.2015 Views

Founders at Work.pdf

Founders at Work.pdf

Founders at Work.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

314 <strong>Founders</strong> <strong>at</strong> <strong>Work</strong><br />

to deliver within constraints. I’m building Rails while I’m building Basecamp—<br />

r<strong>at</strong>her, I’m building Basecamp, and every step of the way, I’m extracting Rails.<br />

So I’m doing wh<strong>at</strong> I need to do for Basecamp, then figuring, “Hey, this looks<br />

generic, I could pull this piece out and put it into the toolbox Rails.” And as<br />

time goes by, this toolbox gets larger and larger and somewhere in the process I<br />

realized th<strong>at</strong> this generic toolbox th<strong>at</strong> I had was actually a very useful toolbox<br />

and perhaps other people could use th<strong>at</strong> too to do the same thing we were<br />

doing <strong>at</strong> 37signals, use less resources and build less software.<br />

When we launched Basecamp, it was 4,000 lines of code—so not very<br />

much. One guy who’s now involved with Rails told me th<strong>at</strong> they had a single<br />

configur<strong>at</strong>ion file in XML th<strong>at</strong> was 5,000 lines!<br />

We released Basecamp in February 2005, and by then I knew th<strong>at</strong> I wanted<br />

to release Rails. We went through the hectic time after releasing Basecamp<br />

where we would keep on pushing a whole bunch of new fe<strong>at</strong>ures.<br />

We always give a major upd<strong>at</strong>e within 30 days after we launch a new product.<br />

Because th<strong>at</strong>’s really something th<strong>at</strong> reinforces people’s feelings about the<br />

project. If they buy in on day one and then they see a major new upd<strong>at</strong>e after<br />

2 weeks, they’re really pleased. So for us, one of the secrets about how we market<br />

the product is to make sure th<strong>at</strong> launch is not the end. We don’t say, “Whew,<br />

we’re done now,” and then go on vac<strong>at</strong>ion. It’s then when you keep on pushing<br />

to show this product is alive.<br />

So th<strong>at</strong> happened in February and then we had pretty much a finished<br />

framework for Rails, but I didn’t want to release it yet, because I wanted to document<br />

it. I’d been using open source software for so long th<strong>at</strong> I was really<br />

annoyed th<strong>at</strong> a lot of it had terrible document<strong>at</strong>ion. I didn’t want th<strong>at</strong> to happen<br />

to Rails, so I kept it back about 2 months, and then pushed it out about 3 or<br />

4 months after Basecamp.<br />

Livingston: Was there ever a time when you felt you couldn’t do all this?<br />

Heinemeier Hansson: Sometimes, but whenever we had those feelings we<br />

viewed them as clues th<strong>at</strong> we were trying to do too much, so we’d think, “How<br />

could we make this fe<strong>at</strong>ure require less engineering and programming?” And<br />

we got into a pretty good mode th<strong>at</strong>, whenever we wanted to do something new,<br />

we would brainstorm some ideas and try to look for the idea th<strong>at</strong> required the<br />

least amount of work.<br />

And I had this same thing in the development of Rails. When you try to do<br />

100 percent of wh<strong>at</strong> somebody wants, you need a perfect m<strong>at</strong>ch, and it’s pretty<br />

rare th<strong>at</strong> you have a perfect m<strong>at</strong>ch between wh<strong>at</strong> you thought people needed<br />

and wh<strong>at</strong> they actually need. If you just try instead to do 80 percent of wh<strong>at</strong><br />

they need, there’s a pretty good chance th<strong>at</strong> you’ll hit a sweet spot.<br />

So Rails is really about trying to get th<strong>at</strong> 80 percent all the time and not<br />

really caring about those last 20 percent th<strong>at</strong> are really specific to the situ<strong>at</strong>ion<br />

th<strong>at</strong> you’re in. When Rails launched, it was just 1,000 lines of code. So even<br />

though we’ve done all these things, there’s no superhuman strength involved.<br />

We aren’t producing more lines of software than everybody else; we’re just<br />

making each line count for so much more.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!