La crisis del software
La crisis del software, en mi opinión, es algo que todavía no se ha superado, desde que se empezase a hablar de ella, en la década de los sesenta, a partir del genial holandés Edsger Dijkstra en su obra «The Humble Programmer»
Bien es cierto, que hay autores, con un prestigio infinitamente multiplicado por infinito superior al mío, que consideran que es algo que está superado, como por ejemplo, Roger S. Pressman, que lo redefine como aflicción crónica, al existir cada vez más casos de éxito.
Mi experiencia, al menos en el segmento en el que me muevo, es que se quiera llamar como se quiera, la crisis del software sigue presente.
La crisis del software se refiere principalmente a las siguientes características del proceso de desarrollo:
– Incumplimiento sistemático de los plazos de entrega.
– Desajuste entre el presupuesto inicial estimado y el presupuesto final del proyecto.
– Baja calidad del producto final: Incumplimiento de especificaciones y dificultad de mantenimiento.
Que alguien me diga en qué porcentaje de los proyectos en los que ha participado como programador, analista, jefe de proyectos o gerente se ha cumplido algunas de las premisas anteriores. En bastantes, ¿verdad?.
Por eso pienso que la crisis del software continua, por mucho que la aparición del concepto de ingeniería del software o de múltiples metodologías hayan intentado paliarla.
Bien es cierto, que las bases para eliminar la crisis del software en un proyecto de desarrollo de software son muy conocidas por todos, lo que pasa es que son tantos los ingredientes a utilizar (unos dependientes del grupo de desarrollo y otros no) para que un proyecto salga bien en plazos, presupuesto y calidad, que no resulta nada sencillo (aunque no es imposible) conseguirlo.
Por todo lo anterior, pese a que la solución tiene una base metodológica y de disciplina (de todas las partes que intervienen en el proyecto, teniendo mucho peso la parte usuaria), la base para arreglarla es cultural, es decir, la adquisición de buenos hábitos de base para el desarrollo de proyectos software (ya que sin esta cultura, la metodología se llenará de polvo en las estanterías y la disciplina un bien perecedero) y la erradicación de los mitos del software en todas sus vertientes.
Nadie tiene la llave para ser infalible en los proyectos de desarrollo de software, es decir, como he dicho antes, un proceso de desarrollo tiene muchos condicionantes y es muy complicado manejarlos todos, sobre todo cuando no dependen de uno. En cualquier caso, lo que hay que intentar siempre es tender a hacer las cosas de la mejor manera posible y a intentar cumplir los objetivos de plazos, presupuestarios y de calidad, porque si hay una cosa que debe clara a todos, es que si un proyecto no se enfoca hacia esos objetivos, es complicado, muy complicado, que se consigan por casualidad.
Pingback: Los 25 artículos más leídos de mi blog « Jummp's Blog
Pingback: Historia de la Informática » Blog Archive » La Crisis del Software
Pingback: Crisis del software. Más reflexiones « Jummp's Blog
Pingback: Principio de Pareto y los ciclos de vida iterativos e incrementales « Jummp's Blog
Pingback: La crisis del ciclo de vida en cascada « Jummp's Blog
Pingback: Manifiesto ágil. Un manifiesto a favor del desarrollo de software I « Jummp
Pingback: Desarrollo de software. Testing ágil « Jummp
Pingback: Kent Beck y la adaptabilidad frente a la predecibilidad en el desarrollo de software « Jummp
Pingback: Desarrollo de software. La adaptación no solo es cosa de requisitos « Jummp
Pingback: Desarrollo de software. Programación extrema (eXtreme Programming: XP) « Jummp
Pingback: Desarrollo de software. Método de desarrollo de sistemas dinámicos (DSDM) II « Jummp
Pingback: Desarrollo de software. Método de desarrollo de sistemas dinámicos (DSDM) I « Jummp
Pingback: Crisis del software. Crisis de confianza « Jummp
Pingback: Desarrollo de software. Metodología de desarrollo guiado por las pruebas (TDD: Test-driven Development) « Jummp
Pingback: Desarrollo de software. Ciclo de vida RUP (Rational Unified Process) « Jummp
Pingback: Desarrollo de software. El testing debe ayudar y no ser un obstáculo « Jummp
Pingback: Desarrollo de software. Cuando menos es más « Jummp
Pingback: Desarrollo de software. Diferentes enfoques de la calidad del software « Jummp
Pingback: La imagen del desarrollo de software « Jummp
Pingback: Desarrollo de software. Ed Yourdon. Dos causas para la crisis del software en la actualidad « Jummp
Pingback: Desarrollo de software. Presupuestos holgados y presupuestos excesivos « Jummp
Pingback: Desarrollo de software. James A. Ward. Calidad, planificación y coste « Jummp
Pingback: Desarrollo de Software. CMMI (Capability Maturity Model Integration) « Jummp
Pingback: Desarrollo de software. Alan Kay. Estrategia, procesos, ingeniería del software, pirámides « Jummp
Pingback: Desarrollo de software. Crisis del software, ¿superada?, no « Jummp
Pingback: Desarrollo de software. Barry Boehm. Costes software, costes hardware « Jummp
Pingback: Desarrollo de software. ¿De verdad que tenemos en cuenta la incertidumbre y riesgos inherentes a un proyecto? « Jummp
Pingback: Desarrollo de software. El precio/hora y el triunfo de la mediocridad « Jummp
Pingback: Desarrollo de software. Antipatrones « Jummp
Pingback: Desarrollo de software. Antipatrón. Productividad a toda costa « Jummp
Pingback: Desarrollo de software. Antipatrón. Humo y espejos « Jummp
Pingback: Los 25 artículos más leídos de mi blog II « Jummp
Pingback: Desarrollo de software. Cascada y sin dinero para el mantenimiento « Jummp
Pingback: Desarrollo de software. Cuando Darwin falla hay más crisis del software « Jummp
Pingback: Desarrollo de software. ¿Qué es caro?, ¿qué es barato? « Jummp
Pingback: Desarrollo de software. ¿Estamos condicionados por el mercado? « Jummp
Pingback: Desarrollo de software. La crisis del desarrollo a medida « Jummp
Pingback: Desarrollo de software. Antipatrón. Billete lobo « Jummp
Pingback: Desarrollo de software. Beau Sheil. La adaptación, la exploración como estrategia de desarrollo « Jummp
Pingback: Ingeniería del software « Jummp
Pingback: Crisis del software | Ingenieria del Software
Pingback: Los 25 artículos más leídos de mi blog III « Jummp
Pingback: Master Executive en Gestión de las Telecomunicaciones y Tecnologías de la Información » Predicciones de Arun Gupta
Pingback: Desarrollo de software. No hay magia tras los procesos | Jummp
Pingback: Calidad del software y valor IV | Jummp
Pingback: Malas especificaciones, malos resultados | Jummp
Pingback: Los 25 artículos más leídos de mi blog IV | Jummp