They threw out 3 months of work... That's not a rewrite, that's a prototype. People do this all the time.
Why We Threw out All Our Code (And Why You Should Too)
11–20 of 66 posts
Re: Why We Threw out All Our Code (And Why You Should Too)
#12My codebase is 10s of thousands of lines, it evolves as I get better but I'm not going to scrap it.
Re: Why We Threw out All Our Code (And Why You Should Too)
#13Re: Why We Threw out All Our Code (And Why You Should Too)
#14Throwing out all your code and rewriting it from scratch is like demolishing your building and constructing a replacement from scratch. It's usually not the right thing to do, it occasionally and rarely is the right thing to do, and it's always the tempting thing to do. It's stupid to argue, "You should never tear down a building" (like http://www.joelonsoftware.com/articles/fog0000000069.html implies) and it's also…
In this case it was 3 months worth of code. I think the analogy is closer to "we tore down this clay hut we built". Easy to build, easy to tear down.
If this were a mature code base, I would be a little more shocked.
Re: Why We Threw out All Our Code (And Why You Should Too)
#15Egos are what drive people to throw away their entire codebase and start over.
Re: Why We Threw out All Our Code (And Why You Should Too)
#16Anyway, congrats on 0.7 Sri!
Re: Why We Threw out All Our Code (And Why You Should Too)
#17Relevant: Things you should never do - http://www.joelonsoftware.com/articles/fog0000000069.html
Re: Why We Threw out All Our Code (And Why You Should Too)
#18When you throw out your code you're throwing out all that knowledge on the assumption that you can build it all back with improvements.
Evolving an application from a known good state to a known better state is usually the best approach unless your codebase is small or your app has no traction.
Rewriting your app from the ground up is like getting divorced and dating a new girlfriend. The first few months are a lot of fun until you figure out how much you lost.
Re: Why We Threw out All Our Code (And Why You Should Too)
#19They threw out 3 months of work... That's not a rewrite, that's a prototype. People do this all the time.
+100 - the biggest questions (to me) were HOW MUCH code did they throw out, and how old was it? Throwing out a few months of code you just finished writing (and which you're still intimately familliar with) is vastly different to throwing out a code-base that would be entering middle-school if it was a person.
I know that startups do way more that just write code, so I'm not criticizing them at all. And it seems they're not afflicted with the typical engineer modesty when it comes to their own codebase, which is a good thing. On the other hand it's not exactly a superhuman hacking achievement to rewrite this from scratch.
Re: Why We Threw out All Our Code (And Why You Should Too)
#20Chances are if you wrote properly modularized code, you can rewrite modules one by one, which is perfectly legit. But just dropping everything and trying to rewrite a product from scratch is a mistake that a company usually only makes once (before they die).