Table of contents
Antecedentes
Recuerdo ver las materias de mi carrera universitaria siempre que estaba a punto de iniciar un semestre, tenía curiosidad de los temas que vería y cómo implementar los conocimientos en mis proyectos que tenía con mis clientes. Tal vez, era de esperarse que mi atención estuviera en las materias de tecnologías y no en las de metodologías, después de todo, era muy joven para comprender la importancia de las segundas.
Los clientes se impresionaban de lo que se sugería implementar en sus aplicaciones, como: visión artificial, aprendizaje automático, predicción de precios de insumos, localización GPS, entre otros. Sin embargo, en algún momento se perdían los indicadores, requerimientos, actividades y recursos del avance del proyecto, se observaba que el proyecto marchaba según lo esperado, pero para el momento de retroalimentación era complicado dar una respuesta a las interrogantes: ¿en cuál fase nos encontramos?, ¿cuál es el porcentaje de avance del proyecto?, ¿qué se necesita para la siguiente fase?, ¿cuál será la próxima fecha de entrega?, ¿nos encontramos dentro del presupuesto?
Era poco común que no se tuvieran datos precisos sobre los avances del proyecto, pese a las anotaciones que se tenían a la mano, sin una estructura definida. Sin embargo, frecuentemente las interrogantes que surgían cada fin de mes respecto al proyecto persistían: ¿realmente, me identifico como ingeniero?, ¿por qué me encuentro con la dificultad de no tener datos concisos del proyecto?
Ingeniería de Software
Recuerdo mis materias de Ingeniería de Software en la universidad, sinceramente, me atraían demasiado, me interesaba en ellas, sin embargo, no recuerdo interesarme en implementarlas en los proyectos. En el momento que me percaté de que se extendía el tiempo de entrega de un reporte o del mismo proyecto, porque no estaba consciente de los datos, fue cuando intenté hacer un cambio en la forma de desarrollar Software.
Sommerville (2011) refiere que "los ingenieros hacen que las cosas funcionen. Aplican teorías, métodos y herramientas donde es adecuado. Sin embargo, los usan de manera selectiva y siempre tratan de encontrar soluciones a problemas" (pág. 7). Además, Sommerville (2011) menciona que "la ingeniería de software no sólo se interesa por los procesos técnicos del desarrollo de software, sino también incluye actividades como la administración del proyecto de software y el desarrollo de herramientas, así como métodos y teorías para apoyar la producción de software" (pág. 8).
Cabe destacar que Sommerville (2011) describe que "la ingeniería busca obtener resultados de la calidad requerida dentro de la fecha y del presupuesto" (pág. 8).
Ahora, cuando profundicé en la Ingeniería de Software y en su implementación en los proyectos, se observaron cambios: estimaciones precisas, metodología de trabajo colaborativa, trazabilidad de requerimientos y avances, productividad, entre otros.
Sin duda, se puede desarrollar Software sin la Ingeniería de Software, pero, exponiéndose a exceder los recursos y obtener un producto o servicio de Software con menor grado de calidad.
Ahora bien, ¿tú qué opinas? deja tus comentarios y; si es posible, las referencias.
Referencias
- Sommerville, I. (2011). Ingeniería de Software. Pearson Educación.