Sunday, March 30, 2008

Accidental Properties of Software: Programmer Productivity

While researching for these articles I ran across this blog entry describing something the author refers to as Yannis's Law: Programmer Productivity Doubles Every 6 Years.  The whole premise of the article is to dispute Brooks statement that there will be no order of magnitude improvement in the essential properties of software development.  The author goes on to prove that programmers are seeing a 11x improvement in software development since 1986.  There are two places this assessment is wrong.  First Brooks was looking for an order of Magnitude improvement in 10 years (by 1996) not 21 years (2007).  Second this is an attack on the accidental property of software (it's construction), not the essence of software, the mental crafting of the conceptual construct.

I do not dispute there are a great many cool tools and languages out there to increase programmer productivity, but we should all have seen the breakdown of the Software Development Life Cycle by now.  How much of the SDLC is related to software construction?  If we say it is 30% (which is probably a bit high) we are still looking at over 70% of the project time that is not being addressed by this improvement.  As we reduce the construction time to zero (which would be magic :-)), we are still only attacking the accidental properties of software.  What are we going to do about the other 70%?  We have still not addressed the essential property.

No comments: