Metodologia Scrum
Metodologia Scrum
Metodologia Scrum
1 Introducción
535
en el desarrollo de software. Sin embargo, en el marco de un PID, estos problemas
tradicionales se conjugan con otros conflictos propios de la investigación en el ámbito
universitario. GEMIS ha identificado algunas problemáticas específicas en su propio
proyecto que requieren la definición de una metodología de desarrollo precisa y
acorde a sus necesidades.
Este trabajo presenta las características del PID y los recursos humanos asociados
al mismo (sección 2), realiza una descripción de la organización inicial del trabajo del
equipo (sección 3), recorre las bases teóricas y metodológicas en las cuales se sostiene
la propuesta de este trabajo (sección 4), presenta una metodología para el desarrollo
de software en equipos de I+D (sección 5) y una evaluación de la experiencia de su
implementación (sección 6). Finalmente, se indican las conclusiones obtenidas y
futuras líneas de trabajo (sección 7).
536
Además, en particular el PID de GEMIS no aspira a construir un producto software
único, sino diferentes aplicaciones software a través de las cuales involucrarse en la
mejora de la didáctica, por lo cual no se trata de la construcción de un producto sino
de múltiples productos que, integrados, tengan un impacto positivo y permitan
cumplir los objetivos. En este contexto, se lleva adelante un Desarrollo de Software
basado en Componentes (CBSE, Component Based Software Engineering), cuyo
concepto se tratará más adelante.
Por otra parte, los requerimientos asociados al desarrollo son identificados o surgen
a lo largo del ciclo de vida de la investigación. Los resultados obtenidos a partir de la
implementación de un producto construido son fuente de análisis para el propio
proyecto de investigación y permiten la definición de nuevos requerimientos. GEMIS
se encuentra en un trabajo continuo para el relevamiento de dificultades asociadas al
proceso de enseñanza y aprendizaje, lo que constituye un dominio de aplicación
dinámico, con requerimientos cambiantes y cuyos stakeholders (interesados) no
necesariamente conocen acerca del desarrollo de software.
Finalmente, el nivel de remuneración de los desarrolladores de los proyectos de
investigación y desarrollo en la Universidad es bajo, tratándose de becas o, en un alto
porcentaje, de integrantes de actividades voluntarias.
Además dado que el objetivo de GEMIS (y deseable en todo PID) involucra la
formación de sus recursos humanos, se incorporan al proyecto recursos con poco
expertise o con conocimientos tecnológicos básicos.
537
El equipo de desarrollo previsto al inicio del proyecto poseía conocimientos en
cierto lenguaje de programación (PHP) y los primeros productos fueron desarrollados
bajo dicho lenguaje. Sin embargo, nuevos recursos humanos mostraron su interés en
participar en el proyecto lo que planteaba la disyuntiva de descartar su participación o
incluirlos diversificando los lenguajes de desarrollo. GEMIS ha optado por esta
segunda opción ya que el lenguaje de programación (y la tecnología en general) no
operan como restricciones del proyecto, excepto por su grado de factibilidad de
implementación y de la disponibilidad de un servidor para su despliegue.
538
Poole [7] define el desarrollo ágil “como aquel que, en comparación con el desarrollo
tradicional, provee beneficios de mayor flexibilidad, retorno de inversión más alto,
realización más rápida del retorno de la inversión, más alta calidad, (y) mayor
visibilidad” [8]. El desarrollo ágil no sólo ha otorgado diferentes metodologías
(Scrum, XP, ASD, Crystal, entre otras) sino que también ha brindado técnicas y
herramientas aplicables independientes de la metodología (algunas de las cuales han
sido inicialmente aplicadas en el equipo GEMIS).
El Manifiesto Ágil [9] reúne las motivaciones y principios de un desarrollo ágil,
entre los cuales se encuentra la satisfacción del cliente con entrega temprana y
continua de software, considerando al software funcionando como la medida principal
de progreso; adaptación a requisitos cambiantes; confianza en los individuos (con el
entorno y apoyo necesario) y simplicidad en el desarrollo. Por otro lado, a partir de las
características de GEMIS cobran especial relevancia algunos otros aspectos
expresados en el Manifiesto: valoración de la comunicación (con conversaciones cara
a cara); promoción del desarrollo sostenible por medio de los procesos ágiles; mejora
en las arquitecturas, surgimiento de requisitos y soluciones a partir de la actividad de
equipos auto-organizados; y reflexión periódica del equipo sobre cómo ser más
efectivo para, a continuación, ajustar y perfeccionar su comportamiento en
consecuencia.
4.3. Scrum
Scrum es una metodología ágil que se basa “en la teoría de control de procesos
empírica o e mpirismo. El empirismo asegura que el conocimiento procede de la
experiencia y de la toma de decisiones basándose en lo que se conoce. Scrum emplea
un enfoque iterativo e incremental para optimizar la predictibilidad y el control del
riesgo” [10].
El equipo Scrum se compone de un responsable del producto (dueño del producto,
Product Owner), el equipo de desarrollo (Development Team o Scrum Team) y el
Scrum Master, que es responsable de asegurar que Scrum es entendido y adoptado
correctamente.
Scrum supone los siguientes artefactos: lista del producto (Product Backlog), lista
del sprint (Sprint Backlog) y un incremento. Un sprint es cada iteración del proceso
de desarrollo. La lista del producto contiene todas las funcionalidades previstas para
el producto y la lista del sprint contiene el listado de aquellas funcionalidades que
serán incluidas en la iteración siguiente (sin considerar ni definir en cuál sprint serán
incluidas las restantes). El incremento es “la parte de producto producida en un sprint,
y tiene como característica el estar completamente terminada y operativa, en
condiciones de ser entregada” [11], independientemente de si finalmente el Product
Owner decida realizar la entrega al cliente o destinatario del mismo.
Los sprints comienzan con una reunión donde se planifica el mismo (Sprint
Planning Meeting) y finalizan con una revisión del sprint en cuanto al producto
(Sprint Review) y una retrospectiva (Sprint Retrospectiva), que implica una revisión
del sprint en cuanto a personas, relaciones, procesos y herramientas [10]. Durante el
sprint se llevan a cabo reuniones diarias (Daily Meeting) donde se comparte
información sobre el estado de la iteración y las dificultades presentes
539
4.4. El papel de la arquitectura de software
540
recursos como un inventario de recursos disponibles. Según el DRAE, un pool es un
“grupo de personas entre las que se reparte una tarea determinada” [18].
5 Metodología propuesta
541
nueva iteración de un producto un recurso que estuviera, hasta la iteración anterior,
involucrado en otro proyecto.
La asignación de recursos a cada uno de los proyectos se hace a p artir de la
presentación del estado general de cada uno de los productos y la revisión de
productos por crearse o tareas asociadas a i nvestigación tecnológicas (listado
proporcionado en una Visión de Proyecto y que es discutido en un Project Meeting,
coincidente en tiempo y espacio con el Scrum Meeting (Figura 2)). De esta manera,
en el Scrum Meeting se presentan los diferentes productos existentes y su estado de
avance, los requerimientos pendientes y los recursos podrá seleccionar en cuál
producto desean continuar su participación siendo asignados al mismo previo a la
generación de un nuevo sprint, constituyendo un Project Meeting.
6 Experiencia de implementación
Desde el inicio del PID se han presentado diversos trabajos que avalan la perspectiva
de trabajo del grupo GEMIS [19],[20],[21] y se inició el desarrollo de diversos
productos: un sitio web para el análisis de evaluaciones en el ámbito universitario
[22], desarrollo de soluciones móviles dirigidas a la evaluación diagnóstica como
parte del proceso de enseñanza y a l a resolución de problemas [23],[24] y el
desarrollo de una aplicación móvil para la autoevaluación por parte del alumno [25].
Si bien los desarrollos previstos han mostrado avances, se tornaba dificultoso
constituir versiones estables de las aplicaciones y los tiempos reales siempre
superaban, en gran medida, a los tiempos previstos. A partir de la nueva perspectiva
de trabajo y la implementación de la propuesta metodológica explicada en este trabajo
542
se ha logrado configurar un mapa de aplicaciones en las cuales, incluso, a partir de las
discusiones generadas en las primeras reuniones de equipo bajo esta nueva
metodología, se logró acordar un nuevo componente, denominado Datos Maestros
(DM), que prestaría servicios a l as diferentes aplicaciones, definiéndose que se
realizaría como Servicios REST.
Respecto de cada producto, se ha logrado llegar a una documentación precisa
respecto de los alcances esperados, pudiendo constituir todos los artefactos definidos
en la metodología y posibilitando la disponibilidad de software funcionando que se
encuentra en las primeras etapas de puesta en producción. El producto CW que se
inició en el año 2014 tuvo gran deficiencia en la construcción del software ya que, a
pesar de presentarse algunos avances, estos no cumplían con las expectativas. A partir
de la puesta en marcha de la metodología, se logró finalizar una primera versión del
sitio web (primer sprint) e incorporar el módulo de reportes (segundo sprint)
encontrándose actualmente en el desarrollo de su tercer sprint. Asimismo, se logró
poner en marcha un proyecto de centralización de datos maestros (DM) y generar una
primera versión de los productos RR y TD [23],[24], constituir el equipo necesario
para el inicio de un nuevo producto que se encuentra transitando su primer sprint
(producto AS, Asistencia) e integrar el trabajo de GEMIS con el trabajo de una
institución terciaria con carreras asociadas al desarrollo de software tal como el
Instituto Superior Da Vinci a través del cual se pudo iniciar el producto IA
(Intercambio de Archivos), que se encuentra también en el primer sprint.
Finalmente, la metodología propuesta en el presente trabajo permitió la
incorporación de nuevos recursos humanos al proyecto que en principio no tenían una
asignación prevista pero su participación en las Project Meeting permitió asignarlos a
algunos de los productos con desarrollo vigente.
7 Conclusiones
543
los recursos humanos, será necesario realizar una gestión de los recursos no sólo para
resolver problemas y necesidades presentes sino también previendo potenciales
cambios y necesidades futuras, bajo una perspectiva de gestión del pool de talentos
[26].
Referencias
1. Kimball, R., et al. The Data Warehouse Lifecycle Toolkit. John Wiley & Sons. (2011)
2. Ambler, S. User Stories: An Agile Introduction. (2014)
3. PMOInformatica. Historias de usuario en 5 pasos. (2014)
4. Fuentes, L.; Troya, J.M.; Vallecillo, A. Desarrollo de Software Basado en Componentes.
ETSI Informática. Universidad de Málaga. Málaga, España.
5. Szyperski, C. Component Software. Beyond Object-Oriented Programming. Addison-
Wesley. (1998)
6. Casal Terreros, J. MSDN Microsoft. Desarrollo de Software basado en Componentes.
7. Poole, D. Do It Yourself Agile. (2009)
8. Gimson, L. Metodologías ágiles y desarrollo basado en conocimiento. Universidad
Nacional de La Plata. (2012)
9. Manifiesto por el Desarrollo Ágil de Software. Disponible en
http://agilemanifesto.org/iso/es/
10. Schwaber, K. y Sutherland, J. La Guía Definitiva de Scrum: Las reglas del Juego. (2013)
11. Scrum Manager. Disponible en www.scrummanager.net
12. IEEE Std. 1471-2000.
13. Mago, E.; Harvey Alferez, G. El Papel de la Arquitectura de Software en Scrum. Revista
Software Gurú Nro. 30. Noviembre 2010 - Enero 2011. Venezuela. (2011)
14. PMBOK. Guía de los Fundamentos de la Dirección de Proyectos (Guía del PMBOK®).
Tercera Edición. Project Management Institute, EE.UU. (2004)
15. PMI. Informe Pulso de la Profesión: marcos de trabajo de la PMO. PMI. (2013)
16. Casey, W. y Peck W. Choosing the rigth PMO setup. En Network, Febrero (2001).
17. Alonso González, A. Como implantar una oficina de gestión de proyectos en su
organización. Visión Libros. Madrid. (2008)
18. DRAE. Diccionario la Real Academia Española.
19. Straccia, L.; Vegega, C.; Bernal, L.; Deroche, A.; Pytel, P.; Pollo-Cattáneo, M.F.
Intervención tecnológica no convencional en los dispositivos didácticos de la carrera de
Ingeniería en Sistemas de Información. XVII WICC. Universidad Nacional de Salta.
(2015)
20. Straccia, L.; Acosta, M.; Pytel, P.; Pollo-Cattáneo, M.F. Intervenciones tecnológicas no
convencionales en dispositivos pedagógicos. En Libro de Trabajos IV Jornada de
Enseñanza de la Ingeniería. UTN, Avellaneda. (2014)
21. Straccia, L.; Vegega, C.; Pytel, P.; Pollo-Cattáneo, M.F. Tecnología Informática para
facilitar la labor docente en la formación por competencias en Ingeniería. XII Congreso
Internacional sobre el Enfoque basado en Competencias. Cartagenas de Indias. (2016)
22. Straccia, L.; Deroche, A.; Vegega, C.; Pytel, P.; Pollo-Cattaneo, M.F. Software para
análisis de instrumentos de evaluación en la formación por c ompetencias. Proceedings
XX CACIC. Universidad Nacional de La Matanza. (2014)
23. Straccia, L.; Acosta, M.; Vegega, C.; Pytel, P.; Pollo-Cattáneo, M.F. Mejora de la
didáctica en la enseñanza de la Ingeniería a través del uso de nuevas aplicaciones sobre
los dispositivos móviles. TEYET. Univ Nacional del Noroeste. (2015)
544
24. Straccia, L.; Marino Aguirre, M.; Acosta, M.; Vegega, C.; Pytel, P.; Pollo-Cattáneo, M.F.
El desarrollo de artefactos de tecnología informática como aporte a las intervenciones
didácticas. III CONAIISI. UTN. Buenos Aires. (2015)
25. Deroche, A.; Acosta, M.; Vegega, C.; Bernal Tomadoni, L.; Straccia, L.; Pytel, P.; Pollo-
Cattáneo, M.F. Diseño de aplicación móvil para asignatura de grado en Ingeniería en
Sistemas de Información. III CONAIISI. UTN. Buenos Aires. (2015)
26. MalikehBeheshtifar; Fateme-BegomKamani-Fard. Talent Pool: A Main Factor to
Success. En Interdisciplinary Journal of Contemporary Research in Business. Vol. 4. Nro
12. Abril 2013.
545