Joel: Five Easy Ways to Fail (in a Software Project)
inc.com
inc.com
Would startups be better off if their founders only worked 40 hours a week? I don't think so - working crazy hours is a competitive advantage of startups.
Of course, motivation is the big difference, but that's a whole different argument than Joel is making.
John.
That said, I can't imagine any startup getting far by working 40 hours a week. 80-100 is probably a minimum for a founder... it has to be your focus, not just your 'day job'.
How old is MS Office now?
Compare that with Silicon Valley startup mentality: code like crazy, take shortcuts, release early, flipped your company and let the new hires figured out the mess.
(Or you could opt for re-writes like the Reddit people have been doing since their inception).
Once you've expanded to the point where you have people who only program, Joel's advice is probably good: "encourage your staff to work a sane 40 hours per week" except for occasional bursts.
Joel is a pretty smart businessman and a lot of the articles are written within the management of an established software company frame of mind. Remember that:
- FogCreek is not a startup
- FogBugz has a long ship cycle
- products developed are mature
- code base is being used over a long time frame
- good software takes 10 years anyway ~ http://www.joelonsoftware.com/articles/fog0000000017.html
Quite the antithesis of what you might associate with Startups discussed here.
Not sure he would qualify as one of those (not even sure what the definition is).
It doesn't take much inherent difficulty or complexity for a project to become a total mess in a year or two if left in the hands of incompetent programmers.
This article reads to me like a thinly veiled recruitment effort. "Work for me and I'll appreciate your contribution, only ask you to work 40 hours a week, and even call you 'superstar'!"
I'd rather start a startup.
By doing anything other than the following:
Have one to three rock stars and a pretty clear picture of what your audience wants. Code like crazy. Get Version 1.0 out there. Get feedback. Adjust. Repeat until done.
One thing that was glaringly missing from Joel's article was the importance of taking in user feedback and iterating like crazy. I'd go so far as to say that iteration is even more important than fine-grained estimates.