Ingeniería del software
El término ingeniería del software resulta muy controvertido debido a la existencia de muchos detractores que ven más adecuados otros términos como por ejemplo el término desarrollo de software.
De hecho pese a que creo en el concepto uso con más frecuencia el de desarrollo de software.
La ingeniería del software es una disciplina que tiene como objetivo que el software que se desarrolla seaa de calidad (en todos los sentidos, no solo que verifique los requisitos funcionales) a través de un proceso que sea productivo para el que lo implementa.
Hay muchas definiciones académicas o de autores conocidos de este término. Me gusta mucho la de Bauer (1972) «Ingeniería del software trata del establecimiento de los principios y métodos de la ingeniería a fin de obtener software de modo rentable, que sea fiable y trabaje en máquinas reales».
Detrás de la ingeniería del software hay procesos, estrategias, tácticas, metodologías, actitudes, prácticas y herramientas que lleven desde la idea inicial de un programa a un producto instalable, que funcione y sea mantenible. La ingeniería del software es la suma de todo eso adaptada con intención al contexto real de un proyecto de desarrollo de software.
Tengas una visión ágil o no, al final aplicas un enfoque, un forma de trabajar, precisamente la ausencia de ese enfoque y la falta de disciplina a la hora de orientar los trabajos hacia el contexto concreto que rodea al desarrollo ha dado lugar a la crisis del software o lo que es lo mismo, productos de baja calidad, costosos y fuera de plazo. Estas características están presentes en gran parte de los sistemas con los que trabajamos, se puede mirar para otro lado, pero la realidad es esta por lo que la crisis del software no es un concepto del pasado sino algo muy presente y desgraciadamente y, si no cambian las cosas, con bastante futuro.
Pingback: Crisis del software. Más reflexiones « Jummp
Pingback: La comprensión del código y citas de Martin Fowler y Steve McConnell « Jummp
Pingback: Manifiesto ágil. Un manifiesto a favor del desarrollo de software VII « Jummp
Pingback: Desarrollo de software. Los principios y metodologías ágiles vs incumplientos de plazos y presupuestos « Jummp
Pingback: Desarrollo de software. Ciclo de vida RUP (Rational Unified Process) « Jummp
Pingback: Desarrollo de software. Mark Ardis y el One Page Principle « Jummp
Pingback: Desarrollo de software. David Gelernter. La belleza contra la complejidad « Jummp
Pingback: Desarrollo de software. Boris Beizer. La necesidad del testing « Jummp
Pingback: Desarrollo de software. Harlan D. Mills. Errores y la importancia de buenas prácticas « Jummp
Pingback: Desarrollo de software. David Lorge Parnas. Feedback, adaptación y satisfacción del usuario. « Jummp
Pingback: Desarrollo de software. Samuel T. Redwine, Jr. Su visión sobre la calidad del software que se entrega « Jummp
Pingback: Desarrollo de software. Grady Booch. La ingeniería del software no es magia « Jummp
Pingback: Desarrollo de software. Pamela Zave. Ingeniería del software y complejidad « Jummp
Pingback: Desarrollo de software. Ed Yourdon. La documentación « Jummp
Pingback: Desarrollo de software. Gerald Marvin Weinberg. Documentación y programación « Jummp
Pingback: Desarrollo de software. Michael Anthony Jackson. Software, percepción, realidad « Jummp
Pingback: Desarrollo de software. Richard E. Fairley. Distancia intelectual entre un problema y su solución informatizada « Jummp
Pingback: Desarrollo de software. Richard E. Fairley. Distancia intelectual entre un problema y su solución informatizada « Jummp
Pingback: Desarrollo de Software. CMMI (Capability Maturity Model Integration). Nivel 2: Gestionado. Área de Proceso: Gestión de requisitos « Jummp
Pingback: Desarrollo de software. Joel Spolsky. Programador aceptable, gran programador, diferencia, comunicación « Jummp
Pingback: Desarrollo de Software. CMMI (Capability Maturity Model Integration). Nivel 3: Definido. Área de Proceso: Verificación « Jummp
Pingback: Desarrollo de Software. CMMI (Capability Maturity Model Integration). Nivel 3: Definido. Área de Proceso: Verificación « Jummp
Pingback: Desarrollo de software. Alan Kay. Estrategia, procesos, ingeniería del software, pirámides « Jummp
Pingback: Desarrollo de software. Barry Boehm. La gestión y los costes « Jummp
Pingback: Desarrollo de software. Barry Boehm. Ingeniería del software, preocupaciones humanas « Jummp
Pingback: Desarrollo de software. Watts Humphrey. Problema, requisitos, comprensión, usuarios « Jummp
Pingback: Desarrollo de software. Antipatrón. Cargo cult « Jummp
Pingback: Desarrollo de software. Antipatrón. Anunciado en televisión « Jummp