Alan Cyment, colaborador de Artinsoft e investigador de la Universidad de Buenos Aires, Argentina expuso ante los miembros del Club de Investigación Tecnológica el tema “Métodos ágiles de desarrollo de software: una introducción a Scrum”.
Cientos de proyectos de software están fracasando mientras usted lee esta frase. Se entregan tarde, con calidad pobre o, peor aún, nunca terminan siendo útiles para sus usuarios. Y sin embargo llevamos más de treinta años intentando aplicar métodos de desarrollo que prometen productividad y certezas. ¿Seremos tan indisciplinados? ¿Será la solución ser aún más estrictos a la hora de recabar requerimientos? ¿Debemos ser aún más rigurosos a la hora de estimar y planificar? ¿O nos habremos equivocado de metáfora? Durante décadas nos hemos flagelado, proclamando a viva voz un mea culpa por ser la oveja negra de las ingenierías. Tal vez lo mejor sea agachar la cabeza y seguir intentándolo… ¿o no?
De acuerdo con Cyment, entre las características de una proceso ágil están el que sea empírico, simple, adaptable, emergente y está centrado en el cliente. “Rápido no significa que sea apurado. Además, el proceso ágil debe preocuparse de darle valor al cliente y poner siempre la atención en él”, comenta Cyment
Los métodos ágiles de desarrollo de software proponen que nos miremos en otro espejo: el de los artistas. Las compañías de teatro han venido preparando obras creativas y exitosas desde hace cientos de años, teniendo que cumplir con fechas estrictas y requerimientos más que vagos. ¡Tal vez podamos aprender algo de ellos!
Sin embargo, Scrum, más que una metodología es un camino, un andamiaje sobre el cual llevar a cabo el trabajo. De hecho Scrum nació en un ambiente que no es el del software sino de la administración de proyectos complejos. “¿Cuándo es útil Scrum? Cuando se atacan proyectos complejos para llevarlos a unos más sencillos”, agrega Cyment.
En cuanto a los roles en Scrum, el responsable del producto es el encargado de administrar el proyecto, la visión y los requerimientos, además define las características del producto, es responsable de la rentabilidad del producto y prioriza las características según el valor de mercado, asimismo acepta o rechaza el trabajo realizado por el equipo.
En tanto, el Scrum Master pone en práctica los roles de Scrum, ya que elimina los impedimentos y hace lo necesario para que el equipo trabaje a máxima productividad. “Promueve el trabajo en equipo y lo protege de interferencias externas. El equipo es por lo general de cinco a nueve personas, es multidisciplinario y debe trabajar tiempo completo (con excepción del DBA)”, señala Cyment.