Jueves, 16 febrero 2017

Técnicas de aprendizaje para entender lo que conlleva ser un ingeniero del software

Una de las competencias más importantes que deben aprenderse durante el grado de ingeniería del software es a cómo poder llevar a cabo de forma satisfactoria un proyecto de desarrollo de un software. Aunque la teoría está clara y es fácil de comprender, no es hasta que este tipo de competencias se ponen en práctica mediante la realización de un proyecto real, cuando los alumnos comprenden realmente a qué deben enfrentarse y qué tipo de problemas genera este tipo de prácticas. Es importante, por parte de los educadores, dar a los alumnos una enseñanza lo más real y vívida posible con el objetivo de prepararlos lo más posible para el mundo real.

De entre las técnicas de enseñanza de esta competencia, destacamos las siguientes tres por estar demostrado que son con las que más aprenden los alumnos:

Participación en un proyecto real

No hay mejor manera de aprender todo lo que conlleva la realización de una aplicación software que realizando una aplicación software para un cliente real. Tratar con el cliente de forma adecuada es uno de los grandes retos que conlleva la realización de una aplicación software por encargo. Mediante una clase teórica es muy difícil enseñar a los alumnos todo lo que ello conlleva y, ¿qué mejor manera de aprenderlo que mediante una interacción cliente-usuario real? En caso de no disponer de clientes reales siempre es posible hacer que unos alumnos se comporten como clientes y otros como desarrolladores y al revés. No es lo mismo que trabajar con un cliente real pero si se carece de recursos para obtener proyectos de realización de software reales es una buena opción.

Construcción en grupo de una aplicación software

Otra gran capacidad que debe aprender un desarrollador de software es aprender a trabajar en grupo. La correcta comunicación y compenetración con el resto de miembros del equipo es muchas veces clave a la hora de determinar si un proyecto de creación de software ha tenido éxito o, por desgracia, todo acaba en fracaso. La mejor manera de enseñar a los alumnos esta competencia es mediante el trabajo en grupo. Por ello, nunca es mala idea dividir a los alumnos en varios grupos y encargarles la realización de un proyecto mediano de software de forma que cada grupo tenga que pasar por cada una de las fases que conlleva el desarrollo del software juntos, como grupo. Esto hará que los alumnos aprendan a comunicarse y dividir el trabajo de forma equitativa.

Uso de gamificación

Durante el proceso de desarrollo de software, es normal que sucedan diferentes eventos que hagan que todo lo que había construido hasta ahora se vea comprometido. La gestión de riesgos y aplicación de cambios a mitad del desarrollo de software es otra de los grandes retos a los que todo ingeniero de software se ve sometido. Una forma de enseñar esto en las aulas es usar juegos que permitan a los alumnos enfrentarse a diferentes retos.

 

Referencias

Beecham, S., Clear, T., Damian, D., Barr, J., Noll, J., & Scacchi, W. (2017). How Best to Teach Global Software Engineering? Educators Are Divided. IEEE Software34(1), 16-19.