240 likes | 453 Views
Por: Niels Amador Cerda. Metodología SCRUM. Modelos de gestión tradicionales . Takeuchi y Nonaka. Dado que los cambios nunca van a dejar de existir, lo que necesitamos es ser capaces de gestionar los proyectos de una forma más ágil. Schwaber y Sutherland.
E N D
Por:Niels Amador Cerda Metodología SCRUM
Takeuchi y Nonaka • Dado que los cambios nunca van a dejar de existir, lo que necesitamos es ser capaces de gestionar los proyectos de una forma más ágil.
Schwaber y Sutherland • A principios de los años 1990 Ken Schwaber empleó una aproximación que lo llevó a poner en práctica el scrum en su compañía, AdvancedDevelopmentMethods. • Por aquel tiempo Jeff Sutherland desarrolló una aproximación similar en EaselCorporation y fue el primero en denominarla scrum. • En 1995 Schwaber y Sutherland, durante el OOPSLA ’95 desarrollado en Austin, presentaron en paralelo una serie de artículos describiendo scrum, siendo ésta la primera aparición pública de la metodología.
Scrum • La palabra SCRUM procede del vocabulario del rugby y significa melé; es decir, esa “figura” en la que los compañeros del equipo se amontonan, forman una piña y empujan todos en la misma dirección.
Definición Scrum. • Es un proceso en el que se aplican de manera regular un conjunto de buenas prácticas paratrabajar colaborativamente, en equipo, y obtener el mejor resultado posible de un proyecto.
Scrum en los Proyectos • Scrum está especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad, la flexibilidad y la productividad son fundamentales.
Características principales • Metodología de trabajo ágil. • Comenzar el trabajo lo más rápidamente posible. • Diseñada para acortar el ciclo de desarrollo. • Conseguir una mejor aproximación entre las funcionalidades del software y los requerimientos del cliente. • Evitar la burocracia innecesaria. • Mayor versatilidad frente a los cambios.
Mas Caracteristicas. • Manejo más eficiente de los requerimientos cambiantes en un proyecto. • Mejorar la comunicación entre el cliente y el equipo desarrollador. • Aumento de la productividad y de la comunicación directa entre el cliente y el equipo desarrollador. Recomendado para equipos de trabajo pequeños (máx. 8 personas). • Desarrollo incremental e iterativo producción frecuente de prototipos para evaluación del cliente. • Manejo más eficiente de los requerimientos cambiantes en un proyecto mejorando la versatilidad frente a los cambios. • SCRUM no dice Qué hacer sino Cómo hay que hacer las cosas.
Elementos específicos de la metodología. -Control de la evolución del proyecto. • Scrum controla de forma empírica y adaptable la evolución del proyecto. -Revisión de las Iteraciones • Al finalizar cada iteración (normalmente 30 días) se lleva a cabo una revisión con todas las personas implicadas en el proyecto.
-Desarrollo incremental • Durante el proyecto, las personas implicadas no trabajan con diseños o abstracciones. El desarrollo incremental implica que al final de cada iteración se dispone de una parte del producto operativa que se puede inspeccionar y evaluar. -Desarrollo evolutivo • Los modelos de gestión ágil se emplean para trabajar en entornos de incertidumbre e inestabilidad de requisitos. Intentar predecir en las fases iniciales cómo será el producto final, y sobre dicha predicción desarrollar el diseño y la arquitectura del producto no es realista, porque las circunstancias obligarán a remodelarlo muchas veces.
-Auto-organización • Durante el desarrollo de un proyecto son muchos los factores impredecibles que surgen en todas las áreas y niveles. En Scrum los equipos son auto-organizados (no auto-dirigidos), con margen de decisión suficiente para tomar las decisiones que consideren oportunas. -Colaboración • Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Ésta es necesaria, porque para que funcione la auto organización como un control eficaz cada miembro del equipo debe colaborar de forma abierta con los demás, según sus capacidades y no según su rol o su puesto.
Ciclo de vida del proyecto. • El ciclo de vida de un proyecto Scrum se basa en unidades iterativas que deben tener un tiempo fijo en las cuales se planifica, desarrolla y aprueba el resultado de esa iteración. Estas unidades iterativas se llaman SPRINTS. Se sugiere que un Sprint tenga una duración mínima de una semana y una máxima de cuatro.
-RITUALES • Se les llama rituales a las reuniones que establece SCRUM que deben ser cumplidas en esta metodología.
Sprint Planning • Al comenzar un nuevo Sprint se debe tomar la lista de requerimientos (ProductBacklog) y a partir de la prioridad de cada uno se debe seleccionar un conjunto de estos requerimientos los cuales serán ejecutados por el Team. • El ProductBacklog es un artefacto esencial en Scrum. Es una lista ordenada de ideas para el producto,mantenidaen el orden en que esperamos llevarlas a cabo.
Sprint Daily Meeting • Diariamente el Team debe realizar una reunión en donde cada integrante tiene 2 minutos para responder a las siguientes preguntas: 1. ¿Qué tareas comprometidas realizó? 2. ¿Qué impedimentos detectó al realizar estas tareas? 3. ¿Qué tareas se compromete a realizar mañana?
Sprint Review • Al finalizar un Sprint se debe realizar una revisión del producto concebido en ese Sprint. Para ello deberán reunirse el Team, el PO y el SM. Esta reunión deberá tener como resultado una aprobación o reprobación del producto por parte del cliente. Se recomienda una duración máxima de 2 horas.
Sprint Retrospective • Luego de realizar el Sprint Review se deberá realizar otra reunión entre el SM y el Team. El propósito de esta es realizar un análisis para ver cómo se aplicó la metodología y realizar una evaluación del resultado en donde se deberán tener en cuenta las correcciones que se deben aplicar para la siguiente iteración.
Los roles. • Scrum clasifica a todas las personas que intervienen o tienen interés en el desarrollo del proyecto en: propietario del producto, equipo, gestor de Scrum (también Scrum Manager o ScrumMaster) y “otros interesados”.
Esta metáfora ilustra de forma muy gráfica la diferencia de implicación en el proyecto entre ambos grupos: Una gallina y un cerdo paseaban por la carretera. La gallina dijo al cerdo: “Quieres abrir un restaurante conmigo”. El cerdo consideró la propuesta y respondió: “Sí, me gustaría. ¿Y cómo lo llamaríamos?”. La gallina respondió: “Huevos con beicon”. El cerdo se detuvo, hizo una pausa y contestó: “Pensándolo mejor, creo que no voy a abrir un restaurante contigo. Yo estaría realmente comprometido, mientras que tu estarías sólo implicada”.
Roles. • Propietario del producto: El responsable de obtener el mayor valor de producto para los clientes, usuarios y resto de implicados. • Equipo de desarrollo: grupo o grupos de trabajo que desarrollan el producto. • _Scrum Manager: gestor de los equipos que es responsable del funcionamiento de la metodología Scrum y de la productividad del equipo de desarrollo.
Ventajas. • - Se obtiene software lo más rápido posible y este cumple con los requerimientos más importantes. • Se trabaja en iteraciones cortas, de alto enfoque y total transparencia. • Se acepta que el cambio es una constante universal y se adapta el desarrollo para integrar los cambios que son importantes. • Se incentiva la creatividad de los desarrolladores haciendo que el equipo sea auto administrado. • Se mantiene la efectividad del equipo habilitando y protegiendo un entorno libre de interrupciones e interferencias. • Permite producir software de una forma consistente, sostenida y competitiva. • Las reuniones se dedican a inconvenientes recientes, evitando el estancamiento
Desventaja • Se requiere de un “agile champion”, experto en la metodología que monitorice su cumplimiento. • No genera toda la evidencia o documentación de otras metodologías. • Tal vez sea necesario complementarla con otros procesos.
Conclusión. • Scrum por sus características no es válido para cualquier proyecto ni para cualquier persona o equipo de personas. • Scrum es por lo tanto, una metodología más de las muchas que hay, Scrum no es ni la mejor metodología ni la única, pero es una metodología que está empujando muy fuerte por la facilidad de implantación y por su agilidad en cuanto a cambios y lo que propiamente aporta en comparación con otras metodologías.