La ley de Yannis: la productividad de los programadores se duplica cada seis aƱos
martes, junio 19, 2012 at 9:57AM
Abraham

Yannis SmaragdakisYannis es un profesor de la Universidad de Massachusetts y de la de Atenas que ha propuesto una ley inspirada en la ley de Moore sobre el número de los transistores que pueden emplearse en la construcción de un microchip, pero relacionada sobre la productividad de los programadores. Su ley afirma que la productividad de un programador se duplica cada seis años. El motivo de esta duplicación en la productividad es que cada vez tenemos mejores herramientas de desarrollo.

Como evidencia empírica para su ley se apoya en una afirmación de David Parnas recogida en su artículo de 1972 "On the Criteria to Be Used in Decomposing Systems into Modules", donde se afirma:

The KWIC index system accepts an ordered set of lines, each line is an ordered set of words, and each word is an ordered set of characters. Any line may be "circularly shifted" by repeatedly removing the first word and appending it at the end of the line. The KWIC index system outputs a listing of all circular shifts of all lines in alphabetical order. This is a small system. Except under extreme circumstances (huge data base, no supporting software), such a system could be produced by a good programmer within a week or two.

 

Obviamente, a día de hoy no hace falta una o dos semanas para programar esa funcionalidad. Según Yannis hacen falta una o dos horas, lo que supone un incremento de productividad de 40 veces desde 1972, lo que se traduce en duplicar la productividad cada seis años.

No se como de cierta será su afirmación en los detalles (si la productividad se duplica exactamente cada seis años), pero mi impresión también es que nuestra productividad no para de crecer continuamente. A principio de este siglo hacer una aplicación web que implementase un CRUD sobre un modelo sencillo podría requerir tranquilamente unos pocos días, o hasta un par de semanas. A día de hoy, con motores de persistencia como JPA, y más todavía si empleamos frameworks basados en la aproximación "Model driven development" esto puede hacerse literalmente en unas pocas horas.

¿Estáis de acuerdo vosotros con la idea general detrás de la  ley de Yannis? ¿Y con su cuantificación, es decir, con el hecho concreto de que el incremento en la productividad es exactamente una duplicación cada seis años?


Article originally appeared on javaHispano (http://www.javahispano.org/).
See website for complete article licensing information.