Revista Economía

Software y complejidad

Publicado el 08 abril 2015 por Ignacio G.r. Gavilán @igrgavilan
Software y complejidadEl software es algo casi mágico: moldeable, flexible, potente... 
...y sin embargo es también una fuente casi inagotable de quebraderos de cabeza: proyectos que se retrasan casi sistemáticamente, 'bugs' que resisten cualquier depuración, comportamientos inesperados, 'cuelgues'... y degradación con el uso.
¿Qué pasa con el software?
Quizá simplemente le hemos perdido injustamente el respeto, quizá lo hemos menospreciado y lo hemos considerado algo familiar y del día a día, al alcance de todos cuando, en realidad, el software es enormemente sofisticado.
En su libro 'The mythical man-month', Frederick P. Brooks Jr. nos lo dice de forma muy clara: se trata de que el software es, por naturaleza, complejo.
The complexity of software is an essential property, not an accidental one.

Y no es extraño. Una gran parte de la magia del software es su capacidad de adaptarse a situaciones y datos diferentes. Ese comportamiento flexible y aparentemente inteligente indica una lógica compleja y una gran cantidad de combinaciones y caminos posibles. Por eso mismo, no sólo se trata de que sea inherentemente complejo sino que, además, dicha complejidad crece mucho con el tamaño, cuando los caminos se multiplican:
Many of the classical problems of developing software products derive from this essential complexity and its nonlinear increases with size.

Y si esto ya lo hace difícil de producir y mantener, Brooks nos apunta una última dificultad de cara al diseño:
software is difficult to visualize

Software y complejidadEs decir, trabajamos con una materia intangible, muy compleja, con muchas variantes y caminos y queremos aprehenderlo en nuestras mentes...pero no se deja visualizar ni reducir fácilmente a esquemas.
¿A alguien le puede extrañar que sea de tan difícil gestión? ¿Nos sorprende que no se deje domesticar?
Desde un punto de vista de gestión y dirección de proyectos no podemos dejar de lamentarlo pero, seamos sinceros y reconozcamos, aunque sólo sea por un momento que, para nuestra alma de desarrolladores, para nuestra vena de innovación, esa complejidad, ese reto, esa dificultad...forman parte también de la magia...

Volver a la Portada de Logo Paperblog