According to Ohloh, it would cost 15 man-years to develop PostSharp from scratch by a team of professionals and the source code would have a value of 800 000 $. Amazing! I've started PostSharp in September 2004 and have programmed mainly in my spare time. Right, that's a lot of time. Ask my wife how it is to live with a passionated developer. But anyway, it hardly reaches 15 hours per week in the average. How to understand this difference in order of magnitude of 1 to 10? First, notice that it is not exceptional in open-source projects. Compare with other projects and you will see. What is maybe uncommon in PostSharp, it is the complexity of the problem. But even this statement may be pure vanity. So why a lot of open-source projects are 10 times more productive than commercial ones? I see a lot of factors. When working on PostSharp:
  • I don't take long coffee pauses neither read online newspapers.
  • I don't attend meaningless meetings.
  • I don't have to negotiate every design detail with doubtfully competent colleagues.
  • Business stakeholder don't change their mind every Monday.
  • I don't care writing analysis and design documents before coding.
  • ...
So if these estimates are really relevant in business context, the real question is why is software development so little productive in business environment?

Comments (2) -

2/24/2007 4:56:00 PM #

Also, because you own the project, you do not need have a plan, you do not have to implement things in a order written in that plan. you as the owner of the project can decide what functionality should be done next.

in the enterprise world, the managers want to manage, so instead of being a programmer one will be just a coder, and the managers will decide what the team should and is going to do next.

thats why some of the open source projects can be programmed faster.

Do you report hours task-wise while you program your pet projects? Even if you did, did it help any? I don't, should I?

Gael Fraiteur
Gael Fraiteur
2/24/2007 5:09:00 PM #

I agree of course. And to answer your question: no, I do not report hours.

It's clear that team working adds a lot of overhead because of management, planning and communication. And it's clear only a few projects can be done by a single person.

Working for Vodafone, I understand these reasons.

Another point, I think, is that I have no hard time constraint. When I get a really hard design problems (and there were a lot in PostSharp), it takes me day to think about it, without writing a single line of code or of design documentation. I think the result of really taking the time is a high design quality. And I don't count this reflection time in the 'hours'.

But anyway. The fact is that the difference is an order of magnitude (if Ohloh estimates are serious, of course). That's amazing!

Comments are closed