Fog Creek Software
Discussion Board

Good Software Takes Ten Years. Law of nature?

The Joel has made a good case that good software development takes 10 years - I don't know if any has tied these two articles together, but Peter Norvig makes a similar case that developing human expertise also takes 10 years -

Coincidence? or is ten years an underlying law of nature?

Friday, July 02, 2004

I have made that connection too... when I first read Joel's 10 year postulate, I thought about that psychology thing where it basically takes 10 years to really be good at anything.

I think it is sort of true but doesn't always hold true... for playing drums I feel like 5 years was a good mark, but then again I have played music all my life.

Friday, July 02, 2004

I've often wondered the same thing. I seem to recall reading once that developing guru-level expertise in a field, any field, typically requires 10,000 hours of effort. That would translate into 20 hours a week for 10 years, which is probably about a realistic estimate of the actual time one invests in a full-time vocation or very serious avocation.

John C.
Friday, July 02, 2004

Those of us who are more highly evolved only require 8.3 years.

Friday, July 02, 2004

Depends on available resources. There is no magic number in my opinion. Maybe ten years means just that:

a) the company needed 1000 programmer-years to develop the software and started with 2 programmers, growing organically up to 200

b) only after the first years the company stops imagining features and instead starts to listen to its customers (for example this nice article about winning Japan to MS Word developing specific features)

And I also don't believe that after 10 years the product is done, and you must go work in something else. Think if Word started in 85. In 95 it would be the best DOS bases editor, then it would have to start again in a WIMP system (Windows 95), more and more powerful machines, bigger/colorful monitors, et al... things are always changing in computing and software always needs to evolve.

Mauricio Macedo
Friday, July 02, 2004

That would explain why vi/emacs are the best development editors around.

Friday, July 02, 2004

I guess joel's products aren't any good yet?

son of parnas
Friday, July 02, 2004

Probably not unrelated.  One way to think about it (which may or may not be true): It takes 10 years for any one person to get good at something; with a program, even if you don't have the same programmers for 10 years, the domain knowledge of the organization is maintained (we hope!), so there is 10 years of continuously building programmer-knowledge being put into it.

Sunday, July 04, 2004

*  Recent Topics

*  Fog Creek Home