miércoles, 2 de febrero de 2011

Software y productividad: la ingeniería y el arte

Hace ya algunos años, cuando me dedicaba de lleno al mundo del software, no dejaba de llamarme la atención las enormes diferencias de productividad que se podían encontrar entre diferentes programadores, o ingenieros de software si preferimos decirlo así.

Lo cierto es que existían tareas que una persona hacía en horas con altísima calidad y a otra le podía consumir días...o no lograr nunca su correcta finalización.

Aunque no es el objeto del libro sino sólo una mención colateral, me he quedado con la siguiente frase de Seth Godin en su obra '¿Eres imprescindible':

"Esta es una noticia asombrosa: un programador senior muy bueno (que puede tener un sueldo de 200.000 dólares anuales) recibe más o menos el mismo sueldo que un programador excepcional que aporta un rendimiento valorado en cinco millones de dólares por el mismo precio. Esta diferencia basta para montar todo el beneificio de una empresa alrededor de ella. Hazlo con diez programadores y te haces rico."

Razonando sobre estas grandísimas diferencias de productividad que Seth Godin parece compartir, lo que se me ocurría pensar es que, aunque se trataba de una gran noticia para las personas, al menos las de talento, no dejaba de ser un síntoma de falta de madurez del software como industria.

Si pueden existir, y de forma frecuente, esas grandísimas diferencias de productividad entre unas personas y otras, es porque no existen metodologías maduras y no existen (a lo mejor no pueden existir) unas herramientas y unos procedimientos definidos y más o menos estandarizados que industrialicen la actividad del desarrollo de software. Las metodologías tienden a ser, más bien, una serie de ideas y buenas prácticas y las herramientas un apoyo...pero poco más.

Como alguna vez he dicho irónicamente, más que de una ingeniería de software, deberíamos hablar de una artesanía de software.

Visto como industria, no puede considerarse esa falta de madurez como una buena señal. La falta de madurez lleva a mayores costes y, en ocasiones, a menor calidad. Como industria, deberíamos desear una mayor estandarización y automatización del desarrollo software. Y en esa línea se trabaja, aunque con un éxito, creo, sólo mediano.

Sin embargo, desde la perspectiva de las personas, especialmente de aquellas de mayor talento, esto es una grandísima noticia. Una industria con tantas posibilidades como es el software, en la que no existan (¿aún?) unos modos de hacer industrializados y encorsetados, es un caldo de cultivo excepcional para la creatividad, para el desarrollo de las cualidades personales, para el desafío, para la innovación, para la diferenciación...para el arte si lo entendemos al modo en que Seth Godin lo hace.

Quizá por eso el software, cuando es personalizado, es muy caro. Quizá por eso el software tiene una frecuencia de fallos sin parangón en otras industrias. Pero quizá por ello, también, el mundo del software es uno de los más creativos, innovadores e impulsores del progreso de la sociedad.

Será cuestión de arte, más que de productividad.