Reflexiones sobre la Enseñanza de la Ingeniería de software

En mi actividad profesional cotidiana me desempeño como ingeniero de software ocupando distintos roles y realizando distintas tareas dependiendo de las particularidades del proyecto de turno. Por ello cuando en 2011 tomé a mi cargo la materia Elementos de Ingeniería de Software en la Universidad Nacional de Quilmes busqué una dinámica de dictado de la materia que efectivamente pudiera preparar a los alumnos para desempeñarse profesionalmente en esta disciplina.

Personalmente considero que la ingeniería de software es una actividad naturalmente industrial, y en este sentido me parece fundamental que su enseñanza tenga un enfoque práctico puesto que la ingeniería de software teórica resulta insuficiente para el ejercicio profesional de la disciplina.

Curiosamente mi formación  en Fiuba no tuvo este enfoque. Como alumno tuve un conjunto de materias de índole más bien teórica y  tiempo después otras materias de tipo taller donde se suponía ponía en práctica la teoría aprendida tiempo atrás. Esto me parece perjudicial para el alumno, pues a la hora de estudiar la teoría, la misma se aprende “en el aire” sin ponerla en práctica. Luego, tiempo más tarde se cursa un taller, pero al llegar al taller uno ya se olvidó de la teoría “supuestamente aprendida”. Exactamente esto me pasó con el tema de estimación: en una materia me enseñaron los diversos métodos de estimación pero nunca me pidieron estimar, simplemente me pidieron describirlos en un examen escrito. Tiempo después cuando cursé el taller y tuve que estimar, tuve que volver a estudiar los métodos y fue ahí, a la hora de aplicarlos, que me surgieron mil dudas. Algo similar me ocurrió con las cuestiones de testing y calidad.

Otra curiosidad de mi carrera (y que también se repite en otras casas de estudio) es que cursé en primera instancia una materia de análisis y luego una de diseño, como si fueran dos actividades disjuntas (un punto sin duda debatible). Hasta ese momento carecía de una visión general del proceso de desarrollo de software, cosa que aprendí tiempo más tarde en la materia de gestión. Creo que resulta muy dificil (y poco conveniente) enseñar técnicas de análisis y diseño sin contar con el marco general de un proceso de desarrollo. En este sentido me parece interesante el enfoque de la Universidad Nacional de Quilmes, donde primero se ofrece una materia introductoria a la Ingeniería de Software que brinda al alumno una visión general de la disciplina, con un enfoque muy práctico y luego en siguientes cuatrimestres se ofrecen materias específicas para cada actividad: Ingeniería de requerimientos, Gestión de proyectos, Arquitectura de software, etc, etc.

Respecto del enfoque práctico, en concreto creo que es necesario hacer el ejercicio de construir/extender un pieza de software de cara a poner en práctica toda la teoría y técnicas enseñadas, tengo la sensación que enseñar ingeniería de software a partir de lecturas, cuestionarios y ejercicios conceptuales es insuficiente para formar profesionales de la informática y como dije antes el hacer estas actividades en materias separadas no me parece apropiado.

Creo que algunas de estas cuestiones han sido consideradas en el nuevo plan de la Licenciatura en Sistemas de la FIUBA (aunque no estoy seguro de hasta que punto). Espero también que estas cuestiones sean consideradas en el próximo plan de estudios de la carrera de Ingeniería Informática de FIUBA.

 

 

 

Anuncios

3 comentarios en “Reflexiones sobre la Enseñanza de la Ingeniería de software

  1. Interesante lo que exponés. Creo que estos planes (agrego el de la UTN) se desprenden de una visión anacrónica de la ingeniería de SW. Donde el mainstream era cascada y los proyectos se parecían más a la construcción de un edificio que a la concepción ágil que podemos tener hoy en día.
    Está claro que este tipo de programas no guardan ninguna relación con la realidad de la industria, y que los alumnos que solo estudian los mismos, no están ni cerca preparados para poder desempeñarse como profesionales.
    Creo que como docentes tenemos un doble desafío, a corto y largo plazo. A corto es poder mostrarles un poco de la “realidad” en las materias que tengamos a cargo, y a largo plazo poder traccionar sobre las instituciones con el fin de aggiornar los programas y modificarlos para que sean más cercanos a la realidad.

  2. Nico, antes que nada comparto en absoluto tu punto de vista, sobre todo cuando te referís en que las materias de la carrera deberían abordarse de un enfoque mas práctico. Justamente hace un par de años comencé a adoptar dicho enfoque en la carrera en la que soy docente y me a dada muy buenos resultados.

    También comparto con Seba en que es momento de ” aggiornar los programas y modificarlos para que sean más cercanos a la realidad.”.

    ¡Un abrazos grande!

  3. Nico: Sabes que tengo el mismo punto de vista tuyo frente a la enseñanza de la Ingeniería del Software en la Universidad, me gusto mucho el incluir Arquitectura de Software en este proceso aun que me gustaría tu opinión frente a desarrollar actividades en entornos reales por ejemplo un desarrollo en una empresa o en un trabajo de grado donde se construya una solucion basada en software

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s