I actually built a HN clone in a weekend.<p>Of course it has a few bugs: It isn't really polished, is easy to game, vulnerable to attacks, a security hazard, doesn't work in IE6, isn't scalable, dosen't verify links properly, sometimes misses dupes, doesn't have a proper admin interface and needs some design love.<p>But except for that, and a few other things I can do in a weekend it's done.<p>:-)
The world needs <i>more</i> people saying foolhardy things like "I could do that in a weekend", not less.<p>Actually it occurs to me it would be incredibly interesting to see someone's attempt at cloning justin.tv in a weekend. Sure it's impossible, but I would be fascinated to see what got done if someone actually tried.
While his specific point is true, it is also true that delusion can be a valuable tool of progress (aka if we knew what having children is really like, the humankind may have died out). Obviously, you can't hash out a full-fledged system in a weekend, but you can get enough of a start that it pulls you in and makes you work on it after the weekend is done. Also, sometimes you can actually build a pretty sophisticated project if you have done enough of the pieces in the past. Of course, all of the above applies only to self-inflicted work; "managerial pressure" should be resisted :)
He has a point, but anyone who has ever built something non-trivial from start to finish already knows this. It's the subtleties, not the broad concept, that drains time.
This post feels a lot like he reworded <a href="http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-hacker-news/" rel="nofollow">http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-ha...</a> but with less insight & effort and inserted a couple drawings instead.
Guys, I'm setting up a meetup for hackers that does this exact thing. It's right here: <a href="http://www.meetup.com/lets-build-something-together/" rel="nofollow">http://www.meetup.com/lets-build-something-together/</a> . Think of it as speed dating for hacker.<p>I'm still revising the text and doing some other things. I'm going to start promoting it soon. Please join if you're interested.
Here's Daniel Markham's surefire rule to estimate projects:<p>Take your estimate. Double the number. Then go to the next unit.<p>So if you think you can do it in 2 weekends, 2x2 = 4, and the next higher unit is weeks. Sounds like a four week job.<p>The beauty of this is that it doesn't rest in any mathematical principles at all -- it's totally made up. Just like regular project estimating.
I understand the annoyance at someone saying they could replicate a product in a weekend. And I also understand the desire to say that this is a bad idea because it probably isn't possible.<p>However, I think all of us at some time or another worked up the courage to build something much larger, important, or interesting because we deluded ourselves into the belief that it would be simple or easy or only take a small amount of time.<p>I consider this nearly universal estimation problem a benefit to the entrepreneur (at least at the beginning). It allows people to start projects that would be too daunting if they saw each and every task in front of them and that it would actually take them many months or years of their lives to make it work.
I think a useful place to begin estimates, before you dive into the detail level and go bottom up from tasks, is estimate by analogy. Look at how long it has actually taken you or your team to deliver a real system. Use that as the baseline for the estimation process.<p>Unless you have delivered systems in 2 days, you probably don't have a process that supports delivering systems in 2 days. That's why delivering something in 2 days is a good thing to try. I like this post of a team building something in 4 hours.
<a href="http://blog.palantirtech.com/2009/07/06/the-multisnake-challenge/" rel="nofollow">http://blog.palantirtech.com/2009/07/06/the-multisnake-chall...</a>