Hacker Newsnew | comments | ask | jobs | submitlogin
The Mythical Man Weekend (clickdeck360.com)
66 points by kolya3 387 days ago | comments


40 points by DanielBMarkham 387 days ago | link

Here's Daniel Markham's surefire rule to estimate projects:

Take your estimate. Double the number. Then go to the next unit.

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.

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.

-----

13 points by tdavis 387 days ago | link

Here's mine:

Double it, add another unit up. So, two days becomes four days + 1 week = 11 days. I've found this (depressingly) accurate over a large sample size.

The only problem is, for each new task, I refuse to accept that such a "ridiculous" estimation could be correct, so I just stick with the original.

And the cycle continues...

-----

6 points by bodhi 387 days ago | link

(Taking you seriously) Try keeping a log of your estimations and the actual time taken. Write down both the original two day estimate and the extended 11 day one.

Then after a few months you should have a good set to look at and hopefully convince yourself to believe your modified estimates. Or how to adjust your formula to be more accurate.

-----

4 points by didip 387 days ago | link

(agreeing), I believe that's called velocity. This skill will help any programmers while doing consulting.

-----

7 points by mixmax 387 days ago | link

I have a project I think I'll be able to do in a year, what unit should I use?

-----

33 points by DanielBMarkham 387 days ago | link

Sounds like a two-decade job, my friend.

I'm writing a book on the method -- as soon as I figure out how to stretch one sentence into 400 pages.

-----

3 points by mixmax 387 days ago | link

I know a management consultant that has a surefire method of stretching a sentence into a book. He is also good at stretching the truth. I believe he helped Tim Ferris out with the four hour workweek

-----

23 points by req2 387 days ago | link

Are you saying the book should be called the eight day workmonth?

-----

1 point by DanielBMarkham 386 days ago | link

Sounds like a cool book. I'll have to read it after I finish the 2-hour manager.

-----

2 points by woadwarrior01 387 days ago | link

I once knew a project manager who took 2 pages I'd scribbled while explaining him the possible architecture of some odd project, and came up with a 150 page SRS

-----

4 points by Periodic 387 days ago | link

I think you want the unit I always round up to: sitting-in-your-source-code-folder-unviewed-for-a-year-with-all-intentions-of-finishing-it-though-really-just-avoiding-it-because-you-know-it-is-way-too-large-to-really-finish-to-the-degree-of-polish-you-initially-envisioned.

Really the point is to keep yourself honest and realize that things tend to take a lot longer than you'd expect.

Also, if you are scoping a project out in terms of years you probably want to break it down into smaller features and implement them one-by-one.

-----

2 points by jackchristopher 387 days ago | link

Or use the Inside Vs. Outside view: http://lesswrong.com/lw/jg/planning_fallacy/

-----

15 points by mixmax 387 days ago | link

I actually built a HN clone in a weekend.

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.

But except for that, and a few other things I can do in a weekend it's done.

:-)

-----

11 points by DanielBMarkham 387 days ago | link

Heck, I could do it in a day -- as long as I get to define done!

-----

9 points by nostrademons 387 days ago | link

That's exactly the point though. You're never done with a software project, so define "done" in a way that gives you something maximally useful in a minimum amount of time.

The "I can do it in a weekend" meme is just ruthless application of the 80/20 principle. Pick out the most useful 80% that'll take the shortest amount of time to implement. Then repeat until you've got the time down to a weekend. Chances are that if you've picked well, you've still got something fairly useful. Most decent software ideas have a useful kernel that really can be done in a weekend.

Gall's Law: “A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”

Once you've got folks using your system, then you can worry about all the nitty-gritty details. But generally, it doesn't matter.

-----

4 points by wooby 387 days ago | link

Sometimes even when I define what done means before I start a project, I embarrass myself with my underestimates of complexity. Software is just plain fickle. Proof of concept on most any web app? Weekend. Something that satisfies anyone but me? At least two weekends :)

-----

5 points by Periodic 387 days ago | link

Your first mistake was thinking "done" has a fixed definition.

-----

1 point by DanielBMarkham 387 days ago | link

Yes. I agree.

The best time to define done is when the time period has expired. Just take what you've done, list that as your acceptance criteria, and viola! You're batting 100%.

(And yes, I did that on purpose)

-----

1 point by digamber_kamat 387 days ago | link

I too did something like HN on a lazy weekend

-----

27 points by edw519 387 days ago | link

I've been 90% done for years.

-----

19 points by samlittlewood 387 days ago | link

Heh! - easy - just the other 90% left.

-----

9 points by abstractbill 387 days ago | link

The world needs more people saying foolhardy things like "I could do that in a weekend", not less.

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.

-----

2 points by mattchew 387 days ago | link

The world needs more people saying foolhardy things like "I could do that in a weekend", not less.

As long as you're the one working for them and not me.

-----

8 points by wyday 387 days ago | link

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.

-----

10 points by ajross 387 days ago | link

But it's the concrete knowledge that your prototype just needs polish that makes the "weekend hack" valuable. Given the choice between two developers with proposals, one of whom spent last weekend banging out a prototype but with no plan, and the other with an elaborate plan and documentation but no code, which would you pick?

That's why the "weekend" meme persists. It's not about being "done" (software is never "done" anyway), it's about getting it to a point where "done" has meaning.

The little stuff can always be done. But my fear is that the people who insist on mocking the weekend hackers are the people who refuse to start on the big thing for fear that they'll take too long.

-----

3 points by Periodic 387 days ago | link

Spikes (in the agile nomenclature) are great fun. You just try to figure out what the shortest point from where you are to minimal functionality is, then get there.

Regarding a HN clone:

Sorting? Just do it by date. Logins? Just a basic login, perhaps with tons of security vulnerabilities. Flagging? Later Comments? Not yet.

Once you have that, which is usually just a weekend job, then you can start to see what's going to be necessary and what isn't and start to see some of the edge cases and features you didn't even know you would need.

-----

5 points by kneath 387 days ago | link

This post feels a lot like he reworded http://blog.bitquabit.com/2009/07/01/one-which-i-call-out-ha... but with less insight & effort and inserted a couple drawings instead.

-----

7 points by cdr 387 days ago | link

To me, it gets the same point across more simply, clearly, and quickly.

-----

2 points by ErrantX 387 days ago | link

indeed the original post felt a bit ranty

-----

1 point by raganwald 387 days ago | link

Much as Miles Davis reworded Thelonius Monk's "'Round Midnight" with simpler, easier to play changes.

-----

4 points by mgenzel 387 days ago | link

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 :)

-----

4 points by steveeq1 387 days ago | link

Guys, I'm setting up a meetup for hackers that does this exact thing. It's right here: http://www.meetup.com/lets-build-something-together/ . Think of it as speed dating for hacker.

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.

-----

1 point by mattmcknight 387 days ago | link

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.

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. http://blog.palantirtech.com/2009/07/06/the-multisnake-chall...

-----

1 point by jeremymims 387 days ago | link

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.

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.

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.

-----

3 points by wglb 387 days ago | link

Great headline, and I cannot enumerate the number of times that I have done this, both under managerial pressure and totally of my own volition.

-----




Lists | RSS | Search | Bookmarklet | Guidelines | FAQ | News News | Feature Requests | Y Combinator | Apply | Library

Analytics by Mixpanel