4 ms·
I don't want to pick on Allan Odgaard, but I think the way he's handled the TM2 project is pretty bad. Allen is a great guy and I love TM. However, here are so
by thejerz 14y ago
I don't want to pick on Allan Odgaard, but I think the way he's handled the TM2 project is pretty bad.
Allen is a great guy and I love TM. However, here are some facts. TM2 has taken SIX YEARS. It was "90% done" 2009.
This is a living, breathing case study in why quick customer-driven releases are better than "big upfront plans" and "giant system rewrites." Anyone who has developed a major application knows what I'm talking about. These "big rewrites" almost always take much longer than expected, as has clearly happened here.
I have learned to listen to what your customers want, and just build it. Develop it in a few weeks, release it, and then ask again what your customers want. Some people call it "customer-driven development" and I think that's a good way of phrasing it.
- endersshadow 14y agoIt's a famous Joel Spolsky essay: Things You Should Never Do, Part 1 [1]. Never do a full system rewrite. Pain and sadness follow. [1]: http://www.joelonsoftware.com/articles/fog0000000069.html http://www.joelonsoftware.com/articles/fog0000000069.html
- jonknee 14y agoAnd Joel didn't even hit on having financial independence. He didn't need to ship and didn't.
- debugging 14y agoAgreed. You have all these great ideas on how to do things better, but along the way you inevitably forget all the work it took just to ship version 1 (let alone v2 with all this improvements both feature and design wise).
- lectrick 14y agoWhen I joined thredup.com as the very first employee and the 2nd programmer, we decided to do a complete rewrite. It ended up being a great decision. I think that the real lesson to be learned is that you should beware of rules that start with "always" and "never".
- humblepie 14y agoI don't think one person would make a case study. Whatever his reason is, it would be a very specific personal reason. A case study of this will be just be like profiling a patient in a lab.
- niels_olson 14y ago> I don't think one person would make a case study Actually, that is the definition of a case study.
- niels_olson 14y ago32 points?! I have far better comments with way less karma. This, for example, http://news.ycombinator.com/item?id=4358718 http://news.ycombinator.com/item?id=4358718
- Macha 14y agoEven HN isn't immune to the problems of a karma system, whereby long detailed comments get tl;dr, and karma is as much affected by visibility as quality. A quick throwaway reply to something that ends up at the top of a post on the front page can easily gain as much karma as a long detailed reply at a later date.
- humblepie 14y agoOf course we're talking about case study in terms of a group of developers with their own dynamics, not the mind of a single person.
- niels_olson 14y agoI get what you're saying, but thejerz's words are pretty specific to Allen and his project.
- unreal37 14y agoSorry, your comment made me laugh. Yes, one example does indeed make a case study. It may not be scientific proof of a theory however.
- luriel 14y agoSounds like a textbook example of Second System Syndrome.
- robmil 14y agoThat, and a reflection of the ecosystem as it was when TM2 first started development; it's a lot easier to countenance a full rewrite when you're by far the dominant player in your particular market.
- irrelative 14y agoBut it doesn't make them any more successful. See Netscape for another data point.
- wonderzombie 14y agoWell, I think the GP is just saying that it's all the more tempting in that circumstance. If it looks like nobody's breathing down your neck, you might be more willing to risk a rewrite. And we love writing code so much that I think we've all heard the siren song of starting afresh.
- robmil 14y agoOh, not at all — but it does make the potential hubris of a rewrite (slightly) more understandable. When you have no time for a rewrite because competition is fierce, the question never really comes up; it's not necessarily the conscious avoidance of "second system effect" that it might seem.