jueves, 16 de septiembre de 2010

Agile para estudiantes / Agile for students


No hace mucho, el propietario de una empresa de software, alguien que no estudió ingeniería informática, me preguntó si yo lo había hecho. Cuando le contesté afirmativamente me preguntó qué era lo que se estudiaba en la facultad en el ámbito de la gestión de proyectos y la ingeniería de software. El contexto donde la pregunta fué formulada era inmejorable: un curso sobre SCRUM y metodologías de gestión Agile. No era yo la única que había estudiado la carrera, éramos en el curso una muestra representativa en cuanto a educación universitaria en informática se refiere. No es extraño que una discusión muy interesante siguiera.

La duda era cómo se podía incluir metodologías Agile en el plan de estudios de una facultad de informática. Y no tiene fácil respuesta.

El propietario de la empresa comentó que a finales de los años 80, los que como él ya trabajaban en el mundillo informático, viendo el desorden que había en los proyectos, creyeron que los estudios de ingeniería de software eran la solución. Se decía que uno de los objetivos de la carrera era la de formar a profesionales que dominasen metodologías ordenadas e “hiciesen las cosas bien”.

En efecto, a finales de los 80 y durante los 90 (yo me gradué en 1999) se estudiaba el modelo Waterfall en las asignaturas de ingeniería de software. No es extraño y refleja los estándares de la industria al respecto. Tampoco niego que es mejor el Waterfall a no utilizar ninguna metodología. Pero en el momento en el que nos encontramos, en el que las metodologías Agile están copando el mundo anglosajón y buena parte del europeo, quizás llegue el momento de revisar qué se está estudiando en nuestras universidades.

Durante mi época de estudiante, los profesores provenían predominantemente del ámbito académico. No se habían encontrado con los cambios de opinión del cliente, con las modificaciones a última hora o con tiránicas restricciones de tiempo y presupuesto.

Una alumna más joven que el resto y que había acabado la carrera recientemente, comentó que un profesor sí les había hablado de SCRUM y XP. Curiosamente, dicho profesor provenía del mundo corporativo y compaginaba las clases con labores menos académicas. Así que actualmente se estudian las metodologías Agile en la universidad, averiguamos los más veteranos. Nos quedamos satisfechos.

Pero luego una duda me asaltó. Vislumbré un potencial problema, arraigado en la forma en la que se enseña en las universidades. Mi preocupación es cómo al enseñar las nuevas metodologías a alumnos que aún no están en el mercado laboral y que no se han peleado con los problemas que Agile intenta solucionar, puedan ellos entender realmente los beneficios.

Pese a alegrarme al oír como el mundo de la enseñanza refleja como las empresas se adaptan a la realidad utilizando nuevas metodologías, ¿podrán los alumnos entender el porqué están proliferando estas metodologías? ¿su verdadero valor?

¿Cómo se puede hacer entender a un alumno lo que se va a encontrar en el mundo de la empresa? ¿No sería útil un modelo de prácticas más adecuado a la realidad? Los informáticos trabajamos, la mayoría de las veces, en proyectos. ¿No sería una buena idea que los profesores actuasen como clientes, cambiando los requerimientos, rechazando proyectos, etc.? De esta forma, en sucesivas asignaturas, los alumnos aprenderían a usar SCRUM y verían las ventajas que realmente aporta.

Curiosamente un alumno contó que uno de sus profesores (allá en los 80!) le rechazó una práctica y cuando él protestó, le contestó: “¿Acaso esperabas que la primera versión me gustase?”. A él se le quedó grabada la conversación por lo inusual. Y después, cuando se sumergió en el mundo laboral y se dió cuenta que era el pan nuestro de cada día, le dio a la actitud del profesor el reconocimiento que merecía.

Si no se hace así, me asusta pensar que los estudiantes verán SCRUM o XP como el modelo Waterfall. Una manera como otra de hacer las cosas. Le planteé mi duda a la chica que había estudiado XP en la facultad. Y ella me respondió que, precisamente, así lo había visto. Como una anécdota.

4 comentarios:

  1. Me acabo de dar cuenta que acabo de "practicar" el fenómeno por todos observado, en lugar de hacer un comentario en el blog, lo hago en twitter. ¿Será porque llegué aquí por un twit?

    Por cierto, el comentario era tipo "twitt simplón": "Muy centrado en la realidad. Me ha gustado".

    ResponderEliminar
  2. Una entrada bastante interesante. Yo he hablado asiduamente con algunos de mis antiguos profesores, y ellos mismos aceptan que lo más complicado de enseñar a los alumnos cómo se trabaja en el mundo real, es que ellos mismos no han vivido esa experiencia. Me alegra ver que hay universidades en las que se está complementando la enseñanza puramente académica con la experiencia de gente que ha trabajado en el "mundo real". Aquí en la Universidad de La Laguna algunas asignaturas están colaborando con empresas para que los alumnos tengan un acercamiento al mundo laboral de verdad, aunque creo que todavía falta mejorar un poco o al menos dar mayor relevancia a estas asignaturas aumentando el número de horas dedicado.

    Estoy totalmente de acuerdo contigo en que es fundamental que los alumnos comprendan porque nacen las metodologías ágiles y cual es su razón de ser, aunque aún no tengan la madurez o el grado de experiencia para comprenderlo al 100%.

    Un saludo :-)

    ResponderEliminar
  3. Gracias por los comentarios.
    Muy interesante que los alumnos colaboren con empresas, no sólo porque así entenderán los problemas con los que se van a encontrar y las situaciones reales con las que se van a enfrentar una vez dejen las aulas, sino porque quizás así el temario de la universidad se puede ir adaptando, gradualmente, a lo que necesita el mundo laboral.
    En carreras técnicas como la nuestra, es importante tener los pies en la tierra y formar a los alumnos en lo que les va a ser necesario.

    Saludos y gracias por las aportaciones,
    Marta

    ResponderEliminar
  4. Que tiene que ver los ciclos de vida con la metodologia de desarrollo?
    Es que ultimamente esta muy de moda hablar de tecnicas de programacion o incluso de definicion de proyectos (como las tecncias lean) como sustitutivas a Waterfall, Espiral iterativa o Chaos y me parece un error.
    Las metodologías ágiles tienen su cabida en varias fases de desarrollo pero no son sustitutivas de un ciclo de vida completo. Es decir, el ciclo de vida en cascada es meramente teorico para definir las fases de un proyecto, como se haga cada fase o que tencica se aplique ya es otro cantar pero lo que hay que enseñar si hace falta a base de suspensos masivos y sin lagrimas es METODOLOGIA y PATRONES DE DISEÑO. Luego que cada cual use el ciclo de vida, metodologia lean, zen o arriquitaun que le salga de las narices, es decir, que cada uno haga las cosas como mas productivo sea pero siempre compatible con el trabajo de los demas y los intereses de un proyecto. Como se llame esa tecnica es lo de menos. Y eso si se inculca ne la universidad, porque enseñarse desde luego se puede enseñar pero aprenderlo es cosa del alumno. Se puede mostrar el camino pero no obligar a recorrerlo.

    ResponderEliminar