¿Alguna vez te has planteado para qué sirve la ingeniería del software?
¿Por qué existe y es necesaria esta disciplina?
¿Qué nos aporta? Y… ¿qué es realmente la ingeniería del software? Según Fritz Bauer, “la ingeniería del software es el establecimiento y uso de principios de ingeniería robustos, orientados a obtener económicamente software que sea fiable y funcione eficientemente sobre máquinas reales.” Es decir, la ingeniería del software es el proceso de desarrollo que seguimos para construir un sistema informático y posteriormente mantenerlo, ajustándonos siempre a diferentes factores: recursos, coste, duración, calidad, etc. Piensa en cualquier otro proyecto o actividad que se te ocurra: cambiar una rueda, construir una casa o incluso subir una montaña. En ellas, podemos encontrar factores comunes, como la necesidad de contar con productos específicos para llevarlos a cabo: el gato, planos, una botella de agua… Pero hay algo que destaca principalmente, y es que debemos seguir unos pasos muy concretos, y hacerlos en orden para poder realizar el objetivo. No podemos quitar la rueda de un coche si no lo hemos elevado primero con el gato, ni tampoco es habitual comenzar la casa por el tejado. La botella de agua podemos olvidárnosla y tendremos que darnos la vuelta sin haber logrado nuestro objetivo. Todo proyecto, y en particular un proyecto software, necesita de una planificación; es decir, debe definirse previamente paso a paso. La Ingeniería del Software nos va a ayudar en todo este proceso de construcción, aportándonos los métodos, elementos, técnicas y procedimientos adecuados para poder concluir con éxito un proyecto software. Esto también implica que todos los participantes, tanto usuarios y clientes como desarrolladores, obtengan un beneficio del proyecto y sus resultados. Por lo tanto, la ingeniería del software cubre la necesidad de los ingenieros de software de contar con una disciplina que nos ayude y nos proporcione normas y herramientas sobre las que nos podamos basar para desarrollar nuestros proyectos.