Diseño y Programación de Videojuegos, Prof. Rigoberto Sáenz Imbacuán
Resumen Ejecutivo de Proyectos Ágiles con Scrum, de Martín Alaimo
Ante la complejidad en aumento de los procesos de desarrollo de software —agravados por
las economías cambiantes y el vertiginoso avance tecnológico contemporáneo—, se hace necesario adoptar metodologías de desarrollo que hagan frente a nuevos obstáculos. Entre las llamadas metodologías ágiles, esas que favorecen los vínculos interpersonales y el buen funcionamiento del software, encontramos Scrum. En teoría, este provee de un sistema que, al permitir frecuentes inspecciones y adaptaciones, propicia que el equipo de desarrolladores ejecute un proceso autónomo, que a su vez obedecerá fielmente a las particularidades del proyecto en cuestión. Lo anterior gracias al intercambio balanceado entre un ScrumMaster (suerte de líder optimizador miembro del equipo)/Equipo de Desarrollo y un Product Owner (representante del cliente final del software) —es decir, un contacto entre los productores y el utilizador—. Un conjunto de características diferencian y exaltan a Scrum por sobre otras metodologías ágiles. Primero, está inspirado en cinco pilares (foco, coraje, apertura, compromiso y respeto); esto acentúa su ámbito humano. Segundo, a través de la periodización en Sprints (iteraciones en las que un compromiso fija una serie de metas para las cualidades del producto) alcanza una progresión más retroalimentada, detallada y diligente de los procesos de desarrollo de software. Tercero, tiene elementos distintivos como el Product Backlog (conjunto de características únicas del proyecto), el SprintBacklog (conjunto de características por desarrollar en cada Sprint), el sistema de estimaciones basado en el conocimiento del esfuerzo propio y no en números exactos (que posibilita un entendimiento más realista y menos utilitario-falseado del desarrollo) y la implementación de historias de usuario como método conversacional cara-a-cara entre participantes, esto en un mundo altamente despersonalizado. Todo lo anterior, junto a otras características secundarias, permite obtener optimización, agilidad y humanización de los procesos de software development. En definitiva, entendemos que Scrum es una exitosa metodología de desarrollo que favorece la elaboración y perfeccionamiento de tecnologías a través de un entorno cooperativo y vinculativo. Esto fomenta no solo el conocimiento del producto o servicio que se está desarrollando, sino también del contexto para el que se elabora y tanto de los seres humanos que lo conciben como de aquellos que le darán uso eventualmente.