En el cuarto año de la carrera de ingeniería en
computación de la Universidad de la República (Uruguay), se brinda un curso de ingeniería
de software que consta de un primer semestre teórico, y un segundo semestre en
el que se desarrolla un proyecto con clientes reales, dirigido por los docentes,
con el objetivo de propiciar la reflexión sobre el proceso de desarrollo de
software.
El proyecto propuesto a los alumnos en 2003 consistió en
desarrollar un prototipo para gestión de expedientes electrónicos y en papel,
para el Servicio Central de Informática Universitario (Seciu) aplicando la
metodología de desarrollo que propone XP junto a la metodología incremental de
desarrollo con GeneXus.
Además, también usaron GXFlow, la herramienta de Workflow
de ARTech, en los casos en que los flujos de la gestión de expedientes eran
predeterminados.
Beatriz Pérez, docente de la Facultad de Ingeniería
estudió eXtreme Programming y lo acomodó a GeneXus, y para el curso curricular
2003 la propuesta a los estudiantes fue experimentar con XP, utilizando GeneXus.
eXtreme Programming (XP) es una metodología de desarrollo
de software cuya hipótesis básica es que el costo del cambio no crece
exponencialmente a medida que avanza el proyecto de desarrollo, explicó Jorge
Triñanes, docente de dicha Universidad. Esta hipótesis tiene bastante sentido en
el caso de GeneXus, señaló. "La facilidad que brinda GeneXus para realizar
cambios automáticos en la base de datos hace que la hipótesis de XP sea
razonable", dijo Triñanes. GeneXus provee la posibilidad de que uno modifique la
base de datos y las cosas sigan funcionando, agregó.
XP es una forma de trabajo en desarrollo de software que
surgió en 1996, orientada a grupos pequeños con requerimientos oscuros y
cambiantes. Propone un proceso ágil de desarrollo que surge en respuesta a los
procesos pesados como los desarrollos basados en documentación. En XP, antes de
hacer el programa hay que programar las pruebas, ya que uno de los conceptos que
defiende XP es construir software sobre bases sólidas y estables, informó
Triñanes. XP propone simplicidad en el diseño, diciendo con esto que no hay que
imaginar las necesidades futuras del cliente, sino que hay que diseñar de
acuerdo a los requerimientos de hoy. Las definiciones de los requerimientos se
hacen en base a historias -casos de uso simplificados- escritas por el propio
cliente, aunque en este caso fueron escritas por un analista del grupo de
alumnos a quien se le asignó este rol.
Otro de los conceptos por lo que aboga XP es que la
propiedad del código es colectiva, es decir todos tienen conocimiento del código
y potestad de modificarlo. Además propone la programación por pares -dos
personas en cada estación de trabajo- rotativos en forma planificada, y la
integración continua del código creado. Los alumnos se dividieron en dos grupos
que contaban, cada uno, con un PC destinado a la integración semanal (uno
brindado por el Seciu y otro por ARTech), informó el docente.
"El cliente quedó muy conforme, ya que resultado superó
las expectativas, y en cuanto a los estudiantes, hubo un grupo que disfrutó más
que el otro de esta propuesta de modalidad de desarrollo", comentó Triñanes.
GeneXus fue utilizado en 2002 en proyectos del curso de
ingeniería de software. Para ello en ese año se desarrolló un modelo de proceso
con GeneXus que fue presentado durante el XIII Encuentro Internacional GeneXus.
(http://www.gxtechnical.com/main/hdcenter.aspx?2,5,36,905)
Más información: http://www.fing.edu.uy/inco/cursos/ingsoft/pis/GXP/index.htm