Qué es SCRUM Scrum es un proceso en el que se aplican apli can de manera regular un conjunto conjunto de buenas prácticas para prácticas paratrabajar trabajar colaborativamente, en equipo, equipo, y obtener el mejor resultado posible de posible de un proyecto. Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de la manera de trabajar de equipos altamente productivos. productivos . En Scrum se realizan entregas parciales y regulares del producto final, f inal, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, el lo, Scrum está especialmente indicado para proyectos en entornos complejos, complejos, donde se necesita obtener resultados pronto, pronto, donde los requisitos son cambiantes o poco definidos, definidos, donde la innovación innovación,, la competitividad competitividad,, la flexibilidad flexibilidad y y la productividad son fundamentales. Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, necesita, cuando las entregas se alargan demasiado,, los costes se disparan o la calidad no es aceptable, demasiado aceptable, cuando se necesita capacidad de reacción ante la competencia, competencia, cuando la moral de los equipos es baja y la rotación alta al ta,, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto. producto.
Ver en detalle cuales son los benefi beneficios cios de Scrum, Scrum, sus sus fundamentos y fundamentos y sus sus requisitos.
El proceso En Scrum un proyecto se ejecuta en bloques temporales cortos y fijos (iteraciones ( iteraciones que normalmente son de 2 semanas, aunque en algunos equipos son de 3 y hasta 4 semanas, límite máximo de feedback y reflexión). Cada iteración tiene que proporcionar un resultado completo, un incremento de producto final que sea susceptible de ser entregado con el mínimo esfuerzo al cliente cuando lo solicite.
El proceso parte de la lista de objetivos/requisitos priorizada del priorizada del producto, que actúa como plan del proyecto. En esta lista el el cliente cliente prioriza los objetivos balanceando el valor que le aportan respecto a su coste y coste y quedan repartidos en iteraciones y entregas. Las actividades que se llevan a cabo en Scrum son las siguientes: Planificación de la iteración El primer día de la iteración i teración se realiza la reunión de planificación de la iteración. Tiene dos partes:
1. Selección de requisitos (4 horas máximo). El cliente presenta al equipo equipo la la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.
2. Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas. Ejecución de la iteración
El proceso parte de la lista de objetivos/requisitos priorizada del priorizada del producto, que actúa como plan del proyecto. En esta lista el el cliente cliente prioriza los objetivos balanceando el valor que le aportan respecto a su coste y coste y quedan repartidos en iteraciones y entregas. Las actividades que se llevan a cabo en Scrum son las siguientes: Planificación de la iteración El primer día de la iteración i teración se realiza la reunión de planificación de la iteración. Tiene dos partes:
1. Selección de requisitos (4 horas máximo). El cliente presenta al equipo equipo la la lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos más prioritarios que se compromete a completar en la iteración, de manera que puedan ser entregados si el cliente lo solicita.
2. Planificación de la iteración (4 horas máximo). El equipo elabora la lista de tareas de la iteración necesarias para desarrollar los requisitos a que se ha comprometido. La estimación de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas. Ejecución de la iteración
Cada día el equipo realiza una reunión de sincronización (15 minutos máximo). Cada miembro del equipo inspecciona el trabajo que el resto está realizando (dependencias entre tareas, progreso hacia el objetivo de la iteración, obstácul os que pueden impedir este objetivo) para poder hacer las adaptaciones ad aptaciones necesarias que permitan cumplir con el compromiso adquirido. En la reunión cada miembro del equipo responde a tres preguntas:
¿Qué he hecho desde la última reunión de sincronización? ¿Qué voy a hacer a partir de este momento? ¿Qué impedimentos tengo o voy a tener? Durante la iteración el Facilitador (Scrum Master) se Master) se encarga de que el equipo pueda cumplir con su compromiso y de que no se merme su productividad.
Elimina los obstáculos que el equipo no puede resolver por sí mismo. Protege al equipo de interrupciones externas que puedan afectar su compromiso o su productividad. Durante la iteración, el cliente junto con el equipo refinan la lista de requisitos (para prepararlos para las siguientes iteraciones) y, si es necesario, cambian o replanifican los objetivos del proyecto para proyecto para maximizar la utilidad de lo que se desarrolla y desarrolla y el retorno de inversión . Inspección y adaptación El último día de la iteración se realiza la reunión de revisión de la iteración. i teración. Tiene dos partes:
1. Demostración (4 horas máximo). El equipo presenta al cliente los requisitos completados en la iteración, en forma de incremento de producto preparado para ser entregado con el mínimo esfuerzo. En función de los resultados mostrados y de los cambios que haya habido en el contexto del proyecto, el cliente realiza las adaptaciones necesarias de manera objetiva, ya desde la primera p rimera iteración, replanificando el proyecto.
2. Retrospectiva (4 horas máximo). El equipo analiza cómo ha sido su manera de trabajar y cuáles son los problemas que podrían impedirle progresar adecuadamente, mejorando de manera continua su productividad. El Facilitador se encargará de ir eliminando los obstáculos identificados.
Scrum: un proceso de trabajo 2.0 Autor: Xavier Albaladejo Revisor: João Gama
Scrum es un conjunto de prácticas especialmente combinadas para dar soporte a la creación de productos innovadores y enfocar el trabajo del equipo en producir valor directo para el cliente final. El uso regular de estas prácticas (entregas frecuentes priorizadas por valor, potenciación del equipo de trabajo, mejora continua de producto y de proceso, etc.) permite que los cambios dentro de un proyecto sean aceptados de manera natural y proporciona al cliente margen para flexibilidad e innovación así como productividad y calidad. Las metodologías tradicionales ya mencionaban las prácticas y conceptos utilizados en Scrum, llegando a utilizarlos en mayor o menor medida y prometiendo también un mejor resultado en los proyectos. Perouna cosa es reconocer que estas prácticas son buenas y otra muy diferente es actuar en consecuencia [1], es decir, utilizar todas estas prácticas situándolas en el centro del proceso.
El desarrollo iterativo e incremental ya existía antes. La diferencia es que en Scrum la planificación
del proyecto hace explícitos los objetivos del cliente y los prioriza en función del ROI (Return of Investment), es decir, balanceando el valor aportado al cliente respecto a su coste de desarrollo, y minimizando el trabajo en curso (Work In Progress) necesario para obtener un resultado. Si en las metodologías tradicionales el cliente tenía que esperar a tener todo el valor de un proyecto el último día de la última fase, habiendo acumulando todos los retardos de todas las fases, en cambio con Scrum el cliente puede dirigir de manera sistemática y regular (cada iteración) los resultados que va obteniendo del proyecto. De esta manera (y siguiendo la ley de Pareto en que el 20% del esfuerzo proporciona el 80% del valor), el cliente puede empezar antes a recuperar su inversión (y/o autofinanciarse) comenzando a utilizar un producto al que sólo le faltan características poco relevantes, puede sacar al mercado un producto antes que su competidor, puede ir adaptándolo mejor a las necesidades de los clientes y hacer frente a urgencias o nuevas peticiones. La orientación a personas ya se practicaba antes, sólo que se basaba en aspectos relacionados con la ejecución de cada persona y condicionados a la subjetividad del evaluador. En Scrum, en cambio, dado que el equipo es multidisciplinar (incluye a todas las personas necesarias para llevar a cabo el proyecto) el planteamiento es de potenciación del equipo (team empowerment), de darle responsabilidad y autoridad para que decida cómo funcionar de la manera más eficiente posible, mejore su entorno de trabajo y pueda mostrar resultados de manera regular, así como permitirle aportar innovación al producto que está desarrollando, cosa que facilita la motivación y realización personal de cada uno de sus miembros. La planificación con tareas, tiempo y personas ya se hacía antes, sólo que en las metodologías tradicionales las tareas, las asignaciones y los tiempos las decidía un jefe de proyecto. Sin embargo, en
Scrum la planificación de proyecto se hace orientada a objetivos del cliente (y no a tareas) y la realiza el equipo utilizando técnicas muy rápidas de estimación (por ejemplo planning poker ). Asimismo, la planificación de iteración también la hace el equipo, quien identifica y estima de manera conjunta las tareas a realizar y se las autoasigna. De esta manera, las estimaciones son mucho más fiables por que se realizan en base a las experiencias e información de todos los miembros del equipo y dado que las han proporcionado ellos se convierten en compromiso. El control del progreso del proyecto orientado a tareas ya se hacía antes, con el jefe de proyecto preguntando a cada persona el estado en que se encuentran sus tareas. Sin embargo, en Scrum el equipo se compromete y reporta diariamente su avance y problemas respecto al resto de miembros del equipo, con lo que la sinergia, la transferencia de información, de experiencias y de soluciones es mucho más alta. En Scrum, en lugar de un responsable del equipo/proyecto hay un facilitador que garantiza la colaboración entre todos los participantes. La gestión de cambios ya existía antes, era un control férreo para impedir que el proyecto se moviese tanto en alcance, como en tiempo como recursos. En cambio, el planteamiento que se hace en Scrum, es el de aceptar que los cambios son naturales y permitirlos en el inicio de cada iteración (ya que todavía no se ha desarrollado nada respecto a futuros objetivos), una vez se ha demostrado al cliente los resultados obtenidos en la iteración anterior, para darle más flexibilidad en la adaptación del producto a sus necesidades (siguiendo unas reglas de alcance variable que permiten que tanto el cliente como el proveedor ganen [2]). Las retrospectivas y los análisis “post mortem” (para mejorar los proceso de trabajo) ya se hacían antes, sólo que normalmente al final de un proyecto o de una gran fase. Sin embargo, en Scrumlas retrospectivas se hacen al final de cada iteración, de manera que el equipo pueda aprender y sea más productivo dentro del mismo proyecto. El timeboxing era una herramienta conocida anteriormente. La diferencia ahora es el uso de timeboxing para todas las actividades de Scrum, de manera que facilite el enfoque en resultados y la toma de decisiones. El enfoque de Scrum exige utilizar estas prácticas de manera regular y frecuente para así proporcionarflexibilidad , productividad, innovación y calidad, teniendo como base la colaboración entre las personas que participan. En el pensamiento ágil prima la colaboración y transparencia con el cliente y entre el equipo, para así reducir riesgos, cubrir al máximo posible las expectativas del cliente, mejorar de manera continua los productos y procesos, ganar en creatividad y disfrutar más en la realización del trabajo [3]. Aplicar estas prácticas de forma sistemática en el día a día de l os proyectos puede no ser fácil (e incluso puede no ser idóneo), bien por que la cultura de la empresa no está alineada (no se trata de una cultura colaborativa [4]) o bien por qué se desconocen las técnicas sobre cómo aplicarlos. Afortunadamente, para iniciarse en el mundo ágil actualmente ya existe abundante material [5], tanto gratuito como de pago, así como comunidades y eventos para el intercambio de experiencias.
Beneficios de Scrum Los principales beneficios que proporciona Scrum son: Entrega mensual (o quincenal) de resultados (los requisitos más prioritarios en ese momento, ya completados) lo cual proporciona las siguientes ventajas: Gestión regular de las expectativas del cliente y basada en resultados tangibles. Resultados anticipados (t ime to market ) . Flexibilidad y adaptación respecto a las necesidades del cliente, cambios en el mercado, etc. Gestión sistemática del Retorno de Inversión (ROI). Mitigación sistemática de los riesgos del proyecto. Productividad y calidad. Alineamiento entre el cliente y el equipo de desarrollo. Equipo motivado.
En el artículo Un contrato ágil para Scrum se muestra un ejemplo de cláusulas para formalizar, en una petición de ofertas a proveedores (RFP, Request For Proposals) o en un contrato, cómo deberá de ser la relación entre cliente y proveedor en la ejecución de un proyecto ágil utilizando Scrum.
Cómo Scrum proporciona estos beneficios A continuación se detalla de qué manera Scrum permite conseguir cada uno de los beneficios anteriores:
Beneficios de Scrum
Cómo se consiguen
Gestión regular de las expectativas del cliente Lista de requisitos prioriz El cliente establece sus expectativas indicando el valor que le aporta cada requisito del El cliente crea y gestiona la proyecto y cuando espera que esté completado. reflejadas sus expectativas a El cliente comprueba de manera regular si se van cumpliendo sus expectativas, da Demostración de los result feedback, ya desde el inicio del proyecto puede tomar decisiones informadas a partir Al final de cada iteración el de resultados objetivos y dirige estos resultados del proyecto, iteración a iteración, conseguido completar. Tras hacia su meta. Se ahorra esfuerzo y tiempo al evitar hipótesis. momento, y considerando el solicita los cambios que nec
Resultados anticipados (“time to market”) El cliente puede empezar a utilizar los resultados más importantes del proyecto antes de que esté finalizado por completo. Siguiendo la ley de Pareto (el 20% del esfuerzo proporciona el 80% del valor), el
Priorización de requisitos Al inicio de cada iteración el proyecto en función del valo proyecto, cambiando los req
cliente puede empezar antes a recuperar su inversión (y/o autofinanciarse) el proyecto. comenzando a utilizar un producto al que sólo le faltan características poco relevantes, El progreso del proyecto se puede sacar al mercado un producto antes que su competidor, puede hacer frente a en cada iteración. urgencias o nuevas peticiones de clientes, etc.
Flexibilidad y adaptación Replanificación en el inici De manera regular el cliente redirige el proyecto en función de sus nuevas prioridades, Se asume que los cambios s de los cambios en el mercado, de los requisitos completados que le permiten entender una replanificación del proy mejor el producto, de la velocidad real de desarrollo, etc. Scrum minimiza el número Al final de cada iteración el cliente puede aprovechar la parte de producto completada Work In Progress) a los que esfuerzo en desarrollar los r hasta ese momento para hacer pruebas de concepto con usuarios o consumidores y tomar decisiones en función del resultado obtenido. El hecho los requisitos se co minimiza la probabilidad de proyecto. Retorno de inversión (ROI)
Priorización de requisitos
Cada iteración el cliente dis De manera regular, el cliente maximiza el ROI del proyecto. Cuando el beneficio pendiente de obtener es menor que el coste de desarrollo, el cliente puede finalizar el proyecto en función del valo coste de desarrollo que tiene proyecto.
Mitigación de riesgos
Desarrollo iterativo e incr
Desde la primera iteración el equipo tiene que gestionar los problemas que pueden Un requisito se debe comple aparecer en una entrega del proyecto. Al hacer patentes estos riesgos, es posible iniciartareas necesarias para compl su mitigación de manera anticipada. "Si hay que equivocarse o fallar, mejor hacelo lo con el esfuerzo mínimo nece antes posible". El feedback temprano permite ahorrar esfuerzo y tiempo en errores ninguna actividad arriesgad técnicos. La cantidad de riesgo a que se enfrenta el equipo está limitada a los requisitos que se puede desarrollar en una iteración. La complejidad y riesgos del proyecto se dividen de manera natural en iteraciones.
Productividad y calidad De manera regular el equipo va mejorando y simplificando su forma de trabajar.
Mejora continua Cada iteración el equipo real identificar los obstáculos qu
Los miembros del equipo sincronizan su trabajo diariamente y se ayudan a resolver los Comunicación diaria del e problemas que pueden impedir conseguir el objetivo de la iteración. La comunicación Todo miembro del equipo c y la adaptación a las diferentes necesidades entre los miembros del equipo son suyo y cuáles son las necesi máximas (se van ajustando iteración a iteración), de manera que no se realizan tareas innecesarias y se evitan ineficiencias. Las personas trabajan más enfocadas y de manera más eficiente cuando hay una fecha TimeBoxing límite a corto plazo para entregar un resultado al que se han comprometido. La consciencia de esta limitación temporal favorece la priorización de las tareas y fuerza Cada actividad de Scrum sie que las personas aprenden lo la toma de decisiones. priorizar tareas y tomar deci Las iteraciones (Sprints) son regulares y de un mes para facilitar la sincronización sistemática con otros equipos, con el resto de la empresa y con el cliente.
El equipo minimiza su dependencia de personas externas para poder avanzar (depender de la disponibilidad de otros puede parar tareas).
Equipo multidisciplinar El equipo está formado por t llevar a cabo el proyecto.
La estimación de esfuerzo y la optimización de tareas para completar un requisito es Estimación de esfuerzo co mejor si la realizan las personas que van a desarrollar el requisito, dadas sus diferentes En el inicio de la iteración l especializaciones, experiencias y puntos de vista. Asímismo, con iteraciones cortas la esfuerzo necesario para com
precisión de las estimaciones aumenta.
Las personas trabajan de manera más eficiente y con más calidad cuando ellas Compromiso del equipo mismas se han comprometido a entregar un resultado en un momento determinado y En el inicio de cada iteració deciden cómo hacerlo, no cuando se les ha asignado una tarea e indicado el tiempo completar y entregar al final necesario para realizarla. organiza (autoridad) identifi cada miembro las tareas que El equipo se evita caminar mucho tiempo por un camino equivocado que le obligue a realizar un gran esfuerzo para llegar al objetivo esperado Se asegura la calidad del producto de manera sistemática y objetiva, a nivel de satisfacción del cliente, requisitos listos para ser utilizados y calidad interna del producto.
Demostración de resultad Por un lado, al final de cada ha conseguido completar, de lado, para tener una velocid cada incremento de product iteraciones anteriores.
Alineamiento entre cliente y equipo Los resultados y esfuerzos del proyecto se miden en forma de objetivos y requisitos entregados al negocio. Todos los participantes en el proyecto conocen cuál es el objetivo a conseguir. El producto se enriquece con las aportaciones de todos.
Cliente y equipo trabajan Cada iteración el equipo y el proyecto (en la estimación d detalle (en la reunión de pla obtenido (en la demostració
Equipo motivado Las personas están más motivadas cuando pueden usar su creatividad para resolver problemas y cuando pueden decidir organizar su trabajo.
Equipo autogestionado El equipo es quien se compr iteración y quien mejor sabe autoorganiza y quien planifi
Las personas se sienten más satisfechas cuando pueden mostrar los logros que consiguen.
Demostración Cada iteración el equipo mu trabajando sin poder exhibir
Agilidad es calidad y competitividad Este artículo se tomó como base para el mini keynote de apertura del Agile Open Spain 2009.
Agilidad es calidad
La agilidad es mayor satisfacción para TODOS los que participan en un proyecto: Nuestros clientes, que reciben un mejor servicio. Los trabajadores (nosotros), que podemos realizarnos profesionalmente en nuestro trabajo y que disfrutamos más. Esto es lo que venden muchas las metodologías, pero con diferencias fundamentales en cómo entendemos y conseguimos esa calidad:
1. Calidad es satisfacer las expectativas de nuestros clientes, y para ello no hay nada mejor que priorizar los objetivos del proyecto en función de los que aportan más valor al cliente , enseñarle de manera regular el producto final (una aplicación funcionando) y siendo flexibles a cambios (control empírico en contraposición al control predictivo de metodologías más tradicionales, que suponen que es posible conocer desde el principio todos los detalles del sistema a construir y que, por tanto, estos no van a cambiar durante el desarrollo). 2. Calidad es que lo que nuestros productos puedan crecer de manera sostenible, que estos cambios tengan un impacto controlado, de manera que estos cambios sean baratos. Para ello: 1. Utilizamos prácticas de ingeniería (patrones de diseño, peer reviews, pair programming, coding standards) y cuidamos la calidad interna de nuestros productos empezando primero por las pruebas (TDD, refactoring). 2. Mientras construimos nuestros productos, comprobamos de manera continua que se comportan de manera adecuada. Para que esas comprobaciones sean baratas (dado que hay que repetirla infinidad de veces) automatizamos integraciones y pruebas. 3. Las metodologías ágiles no se olvidan del capital humano que lo hace posible. Nosotros creemos que la calidad de un proyecto depende de la calidad de TODAS las personas que trabajan en él y de cómo colaboran, mucho más que de tener procesos bien definidos y documentados.
Agilidad es competitividad Por otro lado, nunca podremos competir con India o China en precio. La agilidad nos puede ayudar a tener un país más competitivo, es decir, a ser más innovadores, a proporcionar mayor calidad y a ser más productivos. Necesitamos adoptar modelos de gestión que nos permitan adaptarnos de manera continua a un entorno de incertidumbre, en continua evolución, y ser muy ágiles en el desarrollo de iniciativas. La clave vuelve a ser:
Modelos dirigidos por valor. Flexibilidad a cambios. Potenciación del equipo, multidisciplinar y autogestionado, para que aporte creatividad en el producto y que sus sinergias y la mejora continua le hagan más eficiente a través de la colaboración de sus miembros.
¿Qué se necesita para que una empresa sea ágil? Para que una empresa empiece a ser ágil es conveniente realizar los siguientes requisitos: Un cambio de cultura profundo en individuos y organizaciones, y especialmente en las direcciones y los gestores de las empresas. En lugar del ordeno y mando, para poder crear este tipo de equipos superproductivos y motivados se necesita cambiar a un modelo de gestión basado en la facilitación de la colaboración entre las personas que participan en los proyectos, así como el coaching del equipo, para que adquiera conocimiento de forma colaborativa, que desaprenda, se equivoque y que vuelva a aprender. En esta misma línea, hay que transformar las relaciones de cliente/proveedor en relaciones de socios de proyecto en que todos tenemos que colaborar y todos tenemos que ganar. A nivel de ingeniería, facilidad para realizar cambios. Enfocarnos en proporcionar valor en todas las tareas que hacemos, desde que aparece la idea del producto hasta que el usuario final o consumidor lo reciben.
Todo esto acabamos de ver es, esencialmente, el Manifiesto Ágil, Scrum, eXtreme Programming y Lean Software Development.
¿Quien hace Agile? Hoy día, las metodologías ágiles se están extendiendo en países punteros en tecnología (EEUU y su área de influencia, países del norte de Europa y potencias emergentes como India o China). Entre las empresas que han realizado este cambio de paradigma para ser más competitivas y atraer talento podemos encontrar a Google, Amazon, Nokia, British Telecom, Microsoft, SAP, IBM, Bank of America, General Dinamics, Blizzard, Ubisoft, etc. y españolas como Telefónica I+D, Double You, Plain Concepts, Proyectalis, Biko2, Gailén, Autentia, etc. De cualquier manera, en España las metodologías ágiles todavía son poco conocidas. En poco tiempo, nuestros profesionales y empresas pueden no ser competitivos y ni siquiera colaborar con empresas extranjeras porque no nos habremos adaptado a estas nuevas formas de trabajar.
En resumen
La agilidad es una gran oportunidad para tener empresas más competitivas y a la vez disfrutar más de nuestros trabajos, oportunidad que no deberíamos perder para no quedarnos atrás como país.
Requisitos para poder utilizar Scrum
Los siguientes puntos son de especial importancia para la implantación de una gestión ágil de proyectos como Scrum: Cultura de empresa basada en trabajo en equipo, delegación, creatividad y mejora continua. Compromiso del cliente en la dirección de los resultados del proyecto, gestión del ROI y disponibilidad para poder colaborar. Compromiso de la Dirección de la organización para resolver problemas endémicos y realizar cambios organizativos, formando equipos autogestionados y multidisciplinares y fomentando una cultura de gestión basada en la colaboración y en la facilitación llevada a cabo por líderes al servicio del equipo. Compromiso conjunto y colaboración de los miembros del equipo. Relación entre proveedor y cliente basada en ganar-ganar, colaboración y transparencia. Facilidad para realizar cambios en el proyecto. Tamaño de cada equipo entre 5 y 9 personas (con técnicas específicas de planificación y coordinación cuando varios equipos trabajan en el mismo proyecto). Equipo trabajando en un mismo espacio común para maximizar la comunicación. Dedicación del equipo a tiempo completo. Estabilidad de los miembros del equipo
Cultura de empresa La cultura de la empresa proveedora del proyecto debe estar alineada con la filosofía de una gestión ágil de proyectos como Scrum. Debe fomentar:
El trabajo en equipo y la colaboración entre todas las personas implicadas en un proyecto. Equipos autogestionados a los que se ha delegado la responsabilidad y autoridad para hacer su trabajo, en contraposición a la dirección y control de personas que ejercería un jefe de proyecto tradicional (en lugar del jefe de proyecto existe la figura del Facilitador ). La creatividad del equipo. La transparencia y la mejora continua, tanto del contexto de la organización y del proyecto y como de las herramientas del equipo. Scrum sistematiza la identificación de obstáculos que pueden impedir el correcto progreso del proyecto. Los problemas previamente existentes en la organización (procesos, personas, herramientas, etc.) y que
atentan contra la productividad se harán más evidentes cuando se aplique Scrum y será necesario irlos solucionando.
Compromiso del cliente Scrum exige del cliente una alta implicación y una dedicación regular: El cliente tiene la responsabilidad de dirigir los resultados del producto o proyecto: El cliente debe disponer de una visión de alto nivel del producto o proyecto y tener reflejadas sus expectativas en forma de lista de requisitos priorizada donde ha indicado el valor que le aportará cada uno. A partir de los costes de desarrollo que le proporcione el equipo, priorizará los requisitos en función del Retorno de la Inversión (ROI) más rápido. El cliente replanifica el proyecto en cada iteración para maximizar este ROI de manera continua. Al tratarse de un proyecto que va entregando resultados en iteraciones regulares, el cliente debe colaborar participando en el inicio de cada iteración ( reunión de planificación) y en el fin de cada iteración (demostración), y debe estar disponible durante la ejecución de cada iteración para resolver dudas.
Compromiso de la Dirección La Dirección debe estar comprometida y apoyar el uso de Scrum:
Se harán muy evidentes los obstáculos ya existentes y por venir que impiden el correcto desarrollo de los proyectos (a nivel de expectativas del cliente, productividad, calidad, etc.), sean organizativos, técnicos, procesos, relaciones entre personas/departamentos, habilidades de los equipos, etc. Será necesario tomar decisiones, realizar cambios organizativos, alinear a personas y proporcionar recursos para hacer la transición. Gestores y equipos deberán desaprender formas de trabajar y de relacionarse a las que estaban habituados y aprender nuevas dinámicas. Un proyecto ya no consistirá en que cada Departamento/Área/Unidad realice su parte del trabajo y se la pase al siguiente. Será necesario formar equipos autogestionados y multidisciplinares capaces de conseguir un objetivo por ellos mismos. Facilitadores (Ver el artículo "El buen Habrá gestores que tendrán que cambiar sus roles para ser gestor de un equipo ágil") o Clientes, en una jerarquía de equipos haciendo Scrum de Scrums. Se tendrá que gestionar aquellas conductas personales que no permiten que otras personas puedan aportar ideas sobre el qué y el cómo de un proyecto, que defienden a toda costa su parcela de responsabilidad, que les cuesta mucho cederla al equipo y dejar de controlarlo, que no son capaces de delegar tareas o de colaborar con otras personas en la resolución de problemas.
Compromiso del equipo
Scrum se basa en el compromiso conjunto y la colaboración entre los miembros del equipo. La transparencia entre todos es fundamental para poder inspeccionar la situación real del proyecto y así poder hacer las mejores adaptaciones que permitan conseguir el objetivo común. Por ello, será difícil trabajar utilizando Scrum para las personas que: No
confían en los demás, no permiten que otras personas puedan aportar ideas sobre el qué y el cómo, no son capaces de colaborar en la resolución de problemas ni de delegar tareas. No son transparentes respecto a su trabajo personal, sea por que defienden a toda costa su parcela de responsabilidad o por inseguridad para comunicarse o colaborar, cosa que no permite que sean ayudados. Su modo de relación se basa en la generación de conflicto o bien evitan entrar en conflictos sanos en que ambas partes ganen (ganar/ganar), con lo que los problemas realmente no se resuelven sino que crean conversaciones veladas, de manera que estas personas no acaban de adquirir un compromiso real con el equipo. Priorizan su ego, sus intereses personales, de carrera o de departamento, por encima de los intereses del equipo. No son capaces de cambiar sus hábitos y salir de su zona de confort, tienen miedo al cambio, prefieren que se les diga qué tienen que hacer o quieren decir a los demás qué tienen que hacer. Quieren seguir siendo los héroes que solucionan los proyectos y/o las personas de las que depende la empresa.
Relación entre proveedor y cliente
La relación entre el cliente y el proveedor del proyecto debe estar basada en el principio de ganar – ganar. En lugar de estar ligados por un contrato férreo de alcance, tiempo y coste, las dos partes asumen que habrá cambios para que cliente pueda obtener lo que realmente necesita, no lo que está escrito en un documento inicial o seguir un plan inicial que vaya perdiendo su sentido. La relación contractual se aproxima a un contrato de un equipo por meses, donde el cliente dirige mes a mes los resultados que el proyecto debe ir proporcionando. Debe existir transparencia en la ejecución del proyecto para facilitar esta relación. Esta transparencia la facilita de manera regular el propio proceso de Scrum, especialmente en la actividad de demostración de los requisitos completados al final de cada iteración.
Facilidad para realizar cambios en el proyecto Para poder utilizar Scrum se debe poder ir incorporando requisitos de manera incremental en el producto del proyecto y realizar cambios de forma controlada sin un coste prohibitivo para el cliente. Para ello es necesario:
Disponer de técnicas y herramientas que faciliten el crecimiento incremental y la introducción de cambios.
Mantener la simplicidad y calidad interna del producto que se está creando. Para cubrir los requisitos actuales del cliente no hay que realizar más esfuerzo del que sea necesario y, a la vez, se debe vigilar no hacer nada en contra de futuros requisitos. Dado que los requisitos se desarrollan priorizados por su valor, es más improbable que ocurran cambios sustanciales en los primeros requisitos desarrollados, cuando se construye la base del producto. Se fomenta que los cambios que suelen aparecen cuando el proyecto ya está avanzado se realicen sobre requisitos que no son tan importantes. La arquitectura emerge conforme se va necesitando, iteración a iteración, con lo que se asegura que todo lo que se diseña se utiliza y se prueba.
Tamaño del equipo El tamaño de un equipo está entre 5 y 9 personas. Por debajo de 5 personas cualquier imprevisto o interrupción sobre un miembro del equipo compromete seriamente el compromiso que han adquirido y, por tanto, el resultado que se va a entregar al cliente al finalizar la iteración . Por encima de 9 personas, la comunicación y colaboración entre todos los miembros se hace más difícil y se forma subgrupos. De cualquier manera, se puede hacer Scrum con 3 personas y se ha utilizado en proyectos con 250 personas en varios equipos. Cuando es necesario que más de un equipo trabaje de manera ágil en un mismo proyecto, existen diferentes técnicas que permiten esta colaboración, desde el Scrum de Scrums hasta equipos de integración que dedican parte de su tiempo a trabajar con los equipos de desarrollo, siempre completando incrementos de producto de manera regular, con el resultado integrado de los diferentes equipos.
Equipo trabajando en un mismo espacio común Todos los miembros del equipo trabajan en la misma localización física, para poder maximizar la comunicación entre ellos mediante conversaciones cara a cara, diagramas en pizarras blancas, tarjetas en el tablón de tareas, etc. De esta manera se minimizan otros canales de comunicación menos eficientes (llamadas telefónicas, correos electrónicos, documentos, etc.), que hacen que las tareas se transformen en un “pasa pelota” o que hacen perder el tiempo en el establecimiento de la comunicación (como cuando se tiene que llamar repetidas veces por teléfono a una persona que no está en su puesto, o cuando se interrumpe con una llamada telefónica a una persona que está concentrada en una tarea).
Dedicación del equipo a tiempo completo Los miembros del equipo dedicarse al proyecto a tiempo completo para de esta manera:
Evitar dañar su productividad, que se vería afectada si tuviesen que ir cambiando de tarea para diferentes proyectos o duplicando el número de reuniones para estos diferentes proyectos. Si el equipo está dedicado a un único proyecto es más sencillo mantener el compromiso que adquiere en cada iteración. Como ayuda adicionala conseguir la máxima productividad, el Facilitador se encarga de proteger al equipo de interrupciones externas. Facilitar la gestión de recursos humanos de la organización. Esta gestión se simplifica si en la organización las personas se reservan a un proyecto por iteraciones completas. Por otro lado, el cliente y el facilitador deben estar dedicados al proyecto el tiempo necesario para cumplir con sus responsabilidades.
Estabilidad del equipo El equipo debe ser estable durante el proyecto, sus miembros deben cambiar lo mínimo posible, para poder aprovechar el esfuerzo que les ha costado construir sus relaciones interpersonales, engranarse y establecer su organización del trabajo.
Transformación Agile – Como deconstruir tu organizacion paso a paso A continuación se muestran algunas diapositivas de la presentación “Enterprise Agile – Como deconstruir tu organizacion paso a paso” que tuvo lugar en la Conferencia Agile Spain 2016, donde
se muestra un roadmap de transformación Agile (en forma de modelo de madurez) y el concepto de spin-offs internos para acelerar el cambio.
La presentación completa en español (incluyendo las últimas actualizaciones) se puede encontrar en Slideshare: aquí. Full presentation in English can be found:
here.