En el artículo anterior se expuso que el software es un sistema complejo, así como las seis características principales de la complejidad inherente más la llamada complejidad accidental. Cierro la serie explicando cuáles son las leyes que rigen la evolución del software y respondiendo y reflexionando sobre la pregunta del título.
¿Realmente es difícil hacer software? (I)
En esta serie de dos artículos intentaré explicar cuál es el origen de la inmensidad de problemas que tiene una disciplina –en apariencia sencilla– como es el desarrollo de software. La serie va dirigida a todos mis colegas, para que se armen de argumentos cuando tengan que explicar a qué nos enfrentamos, y a otros profesionales que deseen entender qué pasa en este mundo; muy especialmente, a aquellos miembros de la alta dirección de las empresas tecnológicas que sigan sin entender por qué se retraso ese proyecto o por qué la entrega de aquel otro terminó en desastre. Les adelanto que no se debió a la incapacidad de los ingenieros.