Tag Archive for 'universidad de chile'

Artículo: Un modelo ágil de inserción de alumnos de ingeniería de software en la industria. El caso del curso CC61A “Proyecto de Software”

Desde el año 1998 se ha implementado en el DCC una experiencia en donde los alumnos desarrollan en un semestre un proyecto de software para resolver necesidades de organizaciones del mundo real, emulando un modelo de outsourcing. En un inicio se empleó el ciclo de vida de cascada, con resultados no siempre satisfactorios, teniendo muchos proyectos que no alcanzaban sus objetivos. Esto llevó a intentar diversas mejoras hasta que el año 2005 se implementa un enfoque ágil en la gestión de los proyectos, logrando mejoras sustantivas en la efectividad y repetibilidad de resultados de los proyectos. En este modelo se organiza el desarrollo en 3 ciclos de un mes cada uno, al final de cada cual se genera un producto funcional que es complementado en los ciclos siguientes. La planificación es adaptativa y puede ser ajustada en todo momento del proyecto. Se utilizan herramientas simples para la planificación y gestión de riesgos que permiten aprender y tomar decisiones correctivas oportunamente. La estructura del equipo de desarrollo es horizontal, debiendo los alumnos asumir roles multifacéticos en el desarrollo, y se enfatiza la habilidad de interpretar las necesidades de negocio de los clientes. En la actualidad se apunta a dar mayor fortaleza organizacional a esta experiencia para difundir esta experiencia y proyectarla hacia todo el mercado nacional de modo de servir no sólo como curso formativo para los alumnos, sino también como una forma de posicionar a nuestros egresados dentro del mercado chileno.

El artículo completo se encuentra disponible aquí

Industria de Software: 35% de éxito. Curso CC61A: Proyecto de Software, 84% …

Si les cuento que la estadística de éxito en la industria del software (entendido como aquellos proyectos que logran productos funcionales, de valor para el cliente con los recursos y tiempos establecidos) no supera el 35% (segun The Chaos Report del año 2006), ¿qué me dirían de una experiencia que desde el 2005 ha desarrollado 26 proyectos, con 22 de ellos exitosos? (84% de éxito)

Desde el año 1998 en la Universidad de Chile se realiza una experiencia en donde los alumnos del la carrera de Ingeniería Civil en Computación realizan proyectos de 3 meses para organizaciones del mundo real. En sus principios los resultados eran similares a los de la industria, pero desde el 2005 comenzamos aplicar conceptos ágiles y la realidad cambió.

El pasado martes 8 de Julio de 2008 realizamos el cierre de la más reciente versión del curso, en donde se presentaron 4 proyectos:

  • Sistema de Análisis de Resultados, para la empresa Everis
  • Red Social Ammilia, para la empresa Everis
  • Mejora de framework de desarrollo, para la emrpesa Everis
  • Aplicacion para Facebook, cliente Falabella

Lo interesante, además de la variedad de temas abordados, es que en todos los casos se logro un software funcional y útil para el cliente.

Ahora bien, ¿en donde está el secreto?. No hay un sólo elemento, sino que podemos nombrar entre otros:

  • la buena calidad técnica de los alumnos de la carrera, que claramente están entre lo mejor que existe a nivel nacional
  • un equipo docente que ha mantenido, aprendido y perseverado a lo largo de los años
  • Y a partir de la influencia de los métodos ágiles: la definición de reglas claras tanto para alumnos como para los clientes en donde se asegura un juego justo y de mutuo beneficio para ambas partes, y la definición de hitos que van dando ritmo y estableciendo momentos de evaluación, valoración y aprendizaje para todos.

Lo que fue una novedad es que esta generación logro entender muy bien los fundamentos de gestión de la incertidumbre de las metodologías ágiles, logrando explicar convincentemente cuales fueron sus estrategias para generar valor al mismo tiempo que se reducían los riesgos tecnológicos y de requerimientos del proyecto. Y no quiero dejar de mencionar el entusiasmo y motivación con que se enfrentó cada uno de los proyectos.

Quizás lo anterior quede mejor explicado en un video con mis palabras finales, en donde se resume muy bien el sentido de esta experiencia y como la filosofía ágil se impregna en ella.



Proximo semestre: nueva versión del curso CC62V “Taller de metodologías ágiles”

Desde la última semana de julio se vuelve a realizar en el la Universidad de Chile el curso CC62V “Taller de Metodologías Ágiles de Desarrollo de Software”, experiencia que se realiza desde el 2002 que ha formado a unos 60 ingenieros en Extreme Programming y metodos afines, y en cuya experiencia base mi tesis de magister publicada en un articulo anterior

La idea de este curso es que los alumnos vivan una experiencia “miniaturizada” de XP, es decir: realizan un proyecto de desarrollo de software real pero acotado a las 3 horas semanales del taller. Esto quiere decir que se planifica con le Planning Game, se programa en pares y guiando el desarrollo por tests, hay un cliente in situ,… en fin, se aplican las prácticas valores y principios de XP

Como profesor de este ramo fue que me inicie como coach de XP, experiencia que después de muchos años he podido comenzar a aplicar en mi vida profesional en la empresa Microsystem.

Espero que haya una buena cantidad de alumnos que inscriban el curso (es opcional) y que se entusiasmen con la agilidad como forma de hacer mejor software de forma más agradable para clientes y desarrolladores.

Tesis: Un modelo empírico de enseñanza de metodologías ágiles

Después de mucho luchar pude convertir mi tesis a formato PDF manteniendo en su mayoría la calidad de las imágenes explicativas.

Esta es mi tesis de magister, en donde analizo al metodlogóa que aplico en mi curso de la Universidad de Chile desde el 2002 en el curso “Taller de metodologías Ágiles de desarrollo de Software”, para decubrir las razones del entusiasmo que ha provocado en los alumnos y clientes de los proyectos realizados.

Espero en el futuro generar algunos artículos que resuman los tópicos descubiertos en esta tesis. Por mientras, esta disponible en la URL  http://chileagil.comopapel.com/publicaciones/1/

Aprovecho de avisar que este espacio se abre para todo aquel que quiera compartir sus trabajos sobre metodología ágiles, sean estos académicos o no.

Saludos

Agustín Villena

Este es el Abstract de la Tesis:

Las metodologías ágiles de desarrollo de software, y en particular Extreme Programming (XP), constituyen una de las tendencias de mayor impacto en la industria del desarrollo de software en la última década, gracias a su enfoque centrado en la generación temprana de valor y en su acento en el aspecto humano del desarrollo de software. Su adopción sin embargo ha demostrado ser bastante compleja debido a los cambios de paradigma que ellas plantean.

Desde los inicios de estas metodologías surgió el interés de incorporar esta nueva mirada como una forma de enriquecer la formación de los futuros ingenieros de software. En este trabajo se plantea que un buen aprendizaje de las metodologías ágiles de desarrollo de software puede ser logrado por los alumnos a través de una experiencia educativa teórico-práctica basada en la aplicación de dichas metodologías en proyectos reales. Este enfoque ha sido aplicado desde el año 2002 en el curso CC62V “Taller de metodologías ágiles de desarrollo de software” del Departamento de Ciencias de la Computación de la Universidad de Chile, y en esta investigación se pone a prueba esta hipótesis, a partir del análisis de una de las instancias del curso realizada entre los meses de agosto y noviembre del año 2005.
Para realizar este análisis se construyó un modelo evaluativo de aprendizaje basado en cómo las metodologías ágiles, y en particular Extreme Programming (XP), organizan el entorno de un proyecto de desarrollo de software para mantener la sincronía entre los cambiantes elementos que allí están en juego. Dichos elementos son el problema de negocios, la tecnología, la experiencia y destrezas del equipo de desarrollo, y el producto en desarrollo.
El modelo de evaluación fue aplicado sobre los trabajos generados por los alumnos de la versión del curso usado como experimento de esta investigación, complementados con las observaciones realizadas por el profesor en la sala de clases, y otras evidencias tales como las opiniones de los clientes y una encuesta de evaluación de impacto hecha a los alumnos aproximadamente 6 meses después de finalizado el curso.
Con respecto al impacto en el aprendizaje de los alumnos, se observó una comprensión y aplicación generalizada del marco de prácticas de XP, aunque el nivel de logro estuvo muy relacionado al entorno de trabajo logrado por cada uno de los proyectos realizados. En particular se encontró que algunos elementos no considerados en la hipótesis original, tales como la complejidad del problema a resolver y la relación con el cliente, tenían también un impacto relevante sobre el éxito de los proyectos, y no sólo los aspectos pedagógicos. Se comprobó la eficacia de este modelo pedagógico que promueve el equilibro entre teoría y práctica, el ambiente humano de equipo y de colaboración con el cliente y las destrezas entrenadas. Por su parte, la práctica de XP más destacada por los alumnos es la “programación en parejas”, que presenta la mejor evaluación durante el curso y es la más aplicada a posteriori. Otra práctica que causa mucho interés es el “desarrollo guiado por test”, pero se indican problemas de tiempo y experiencia para poder aplicarla después del curso.
En lo que se refiere al modelo pedagógico aplicado para que los alumnos conozcan e internalicen las prácticas de XP, se determina que las claves de su éxito se encuentran en:

  • reproducir de manera fiel el ambiente de aprendizaje colaborativo acelerado que se genera en la práctica profesional de las metodologías ágiles,
  • y complementar dicho ambiente con una leve capa de acciones docentes orientadas a reflexionar y retroalimentar el dominio de la metodología.