Hostarting.es

SCRUM: metodología “ágil” para tus proyectos

Posteado April 2, 2008 a 9:24 pm por ansueta

En muchas ocasiones, los modelos de gestión tradicionales no nos sirven para afrontar un reto que hoy en día resulta fundamental: incorporar cambios con rapidez y en cualquier fase del proyecto. Se trata de evitar lo que tantas veces nos ha ocurrido: cuando el proyecto se encuentra bastante avanzado nos damos cuenta de que no vamos por el buen camino o, simplemente, el cliente decide introducir cambios sustanciales, y esos cambios nos obligan a tirar por la borda todo el trabajo realizado hasta entonces, y nos impiden acabar en el plazo previsto.

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. Con ese objetivo, en los años 80 los japoneses Takeuchi y Nonaka estudiaron las prácticas de empresas con buenos resultados de rapidez y flexibilidad en la producción: Xerox, Canon, Honda, NEC, Epson, Brother, 3M o Hewlett-Packard. De ahí extrajeron la base de la metodología SCRUM que, aunque nació en el ámbito tecnológico, ha ido creciendo hasta consolidarse en campos de actividad muy diferentes.

Seguro que puedes utilizar algunas de sus técnicas y procedimientos para mejorar la gestión de los proyectos en tu empresa. Estas son algunas de las claves de SCRUM:

Mejor con equipos pequeños y auto-organizados

Los equipos pequeños y formados por miembros de diferentes disciplinas consiguen mejores resultados. Es fundamental que el equipo pueda organizarse por sí mismo y la comunicación sea transparente. Esta es la manera de que todos los miembros se compromentan y se encuentren motivados. De hecho, 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 direccion.

Scrum

Punto de vista del usuario

La recogida de requisitos para crear un producto se realiza teniendo en cuenta la visión del cliente y del usuario. Para ello se utilizan las historias de usuario, unas sencillas tarjetas en las que se recoge -de forma esquemática y en un lenguaje claro- QUÉ es lo que queremos hacer.

Con esas historias de usuario construimos la lista de requisitos del producto o “product backlog”. A cada item de la lista se le asigna una prioridad. El equipo tiene que estimar cuánto tiempo es necesario para realizar cada una de las tareas.

Sprints cortos, entregas frecuentes

El mercado exige ciclos de desarrollo cada vez más cortos. Para lograrlo se utiliza el sprint de requisitos o “sprint backlog”, una lista en la que se detalla CÓMO se van a construir los diferentes requisitos del producto.

Los requisitos del product backlog se “trocean” para transformarlos en tareas de no más de 16 horas. Cada sprint suele realizarse en un plazo de entre 2 y 4 semanas. Al final, el objetivo es entregar algo que funcione, para el usuario pueda probarlo y se puedan introducir los cambios necesarios antes de que sea demasiado tarde. Esto es lo que nos permitirá ser flexibles.

Roles dentro de SCRUM

Aunque suene a broma, los roles se dividen en dos: los “cerdos” y los “pollos”. Y la mejor manera de entender la diferencia entre unos y otros es un chiste:

Un cerdo y un pollo van caminando por la carretera. El pollo le dice al cerdo:
-Oye, ¿por qué no abrimos un restaurante?
El cerdo se vuelve y le responde:
-Buena idea, ¿cómo quieres que lo llamemos?
El pollo se lo piensa y propone:
-¿Por qué no lo llamamos “Huevos con jamón”.
-No cuentes conmigo -responde el cerdo-. En ese caso, tú sólo estarías IMPLICADO, mientras que yo estaría realmente COMPROMETIDO.

Siguiendo esta lógica, el papel de los cerdos -que son los que están realmente comprometidos, porque son los que contribuyen con su “jamón” al proyecto- lo desempeñan:

  • El product owner o dueño del producto, que representa la voz del cliente y aporta la visión de negocio. Él se encarga de escribir las historias de usuario, les da prioridad y las ubica en la lista de requisitos del producto.
  • El ScrumMaster o facilitador, que tiene como principal papel el de dejar el camino libre de obstáculos e impedimentos para que el resto del equipo consiga el objetivo del sprint.
  • El equipo, que tiene la responsabilidad de entregar el producto. Lo ideal es que incluya entre 5 y 9 miembros, y que pertenezcan a diferentes disciplinas (desarrolladores, diseñadores, etc.).

El papel de los “pollos”, que no son actores esenciales pero sí están implicados y deben ser tenidos en cuenta, lo juegan:

  • Los usuarios del producto o aplicación.
  • Los clientes y vendedores.
  • Los gestores y directivos.

Reunión diaria. Transparencia total

Una de la figuras fundamentales de la metodología SCRUM es la reunión diaria de todo el equipo. Tiene que hacerse de la siguiente forma:

  • La reunión es diaria y se hace siempre a una hora predefinida, normalmente por la mañana. Es importante que todos los miembros del equipo acudan puntuales.
  • La reunión debe durar alrededor de 15 minutos y se realiza de pie, para mantener el máximo de concentración y atención.
  • Todos los roles son bienvenidos, pero sólo los “cerdos” pueden hablar
  • En la reunión se realizan las siguientes 3 preguntas clave: 1. ¿Qué has hecho desde ayer? 2. ¿Qué tienes planeado hacer mañana? 3. ¿Has encontrado algún problema para conseguir tu objetivo?
  • Uno de los puntos más importantes es el de la transparencia: todos los miembros saben que están haciendo os demás, y los problemas deben ser sacados a la luz en cuanto se detectan.
  • En definitiva, SCRUM permite la creación de equipos motivados, capaces de organizarse por sí mismos, donde la comunicación y la transparencia es total. Y además, con esta metodología, el usuario gana protagonismo y el cliente se convierte en parte del equipo de desarrollo.

    Ejemplo

    Algunas herramientas ágiles

    Los métodos de desarrollo ágil ponen el énfasis en la comunicación “cara a cara” y en los resultados más que en la generación de documentación y, por eso, muchos de sus procesos pueden llevarse a cabo prácticamente sin herramientas. Esta búsqueda de la sencillez no ha impedido que aparezcan en el mercado algunas aplicaciones específicas para trabajar con una metodología ágil. Os proponemos las siguientes:

    Todo el ciclo del proyecto
    En Rally afirman ser los auténticos y genuinos número 1 en el software de gestión ágil. Su aplicación cubre todo el ciclo del proyecto, y permite crear un flujo entre la labor de los gestores, desarrolladores y responsables de testing. Sus productos están centrados en las siguientes funciones: organización del proyecto, el reporte y control, la planificación y seguimiento, gestión de calidad, colaboración de equipos, customización e integración, y administración de permisos. Entre los clientes de Rally se encuentran varias grandes compañías.

    Hecho para scrum
    Scrumdesk es una herramienta de gestión diseñada específicamente para trabajar con SCRUM, la metodología de desarollo ágil más conocida. Permite automatizar los procedimientos básicos de SCRUM, como son la elaboración del product backlog (lista de requisitos de alto nivel ordenada según la prioridad), el sprint backlog (lista de tareas que deben ser completadas en un plazo de entre 1 y 4 semanas) o las historias de usuario.

    Enseña tus cartas

    Cardmeeting es una sencilla herramienta de colaboración simultánea en la que los usuarios pueden ir añadiendo sus cartas con ideas, conceptos, tareas, etc. Puede resultar útil para celebrar una tormenta de ideas o brainstorming, para realizar una planificación ágil, o simplemente para fijar y compartir las ideas con otros usuarios. Las cartas pueden clasificarse luego en diferentes categorías temáticas (curioso, sorprendente, divertido, frustrante) y colores, de forma que podemos asignar un orden a las ideas formuladas de manera dispersa. Todavía está en versión Alfa.

    42 Commentarios Publicado en: General, Productividad

    Tags: , , , , , , , , ,

    42 Comentarios para “SCRUM: metodología “ágil” para tus proyectos”

    1   Javier Jofre | April 3, 2008

    Hola, Ansueta. Estupendo artículo. Nosotros hemos optado por Extreme Programming en lugar de SCRUM, aunque tengo qe reconocer que es bastante más formal esta última. La verdad es que las metodologías ágiles han sido un gran avance para las empresas que nos dedicamos al desarrollo de software. Un saludo.

    2   links for 2008-04-04 « D e j a m e S e r | April 4, 2008

    [...] SCRUM: metodología “ágil” para tus proyectos PymeCrunch » (tags: agile) [...]

    3   ansueta | April 5, 2008

    Gracias Javier. Espero que en el futuro podamos comentar muchas más cosas sobre el desarrollo ágil. Ya tengo algunas ideas en la cabeza. Un saludo.

    4   Loogic Links 130 Loogic.com Blog Archive | April 5, 2008

    [...] SCRUM: metodología ágil. Por David Andueza. [...]

    5   » Enlaces interesantes de los últimos días « Cerebro en la Sombra | April 5, 2008

    [...] SCRUM: metodología “ágil” para tus proyectos, por Pymecrunh [...]

    6   Jordi P. | April 5, 2008

    Estupendísimo artículo, David.
    Desconocía por completo este método. Tu post ha sido un verdadero curso gratuito de organización y gestión de proyectos! :)

    Y lo del chiste, :D , me ha recordado a más de uno que yo conozco…

    7   Intenta » Blog Archive » Scrum | April 8, 2008

    [...] rapidez, flexibilidad y ciclos de desarrollo cada vez más cortos. En el artículo SCRUM: metodología “ágil” para tus proyectos, se explica muy bien en qué consiste, cómo ponerla en funcionamiento y un conjunto de [...]

    8   Dario Gimenez » SCRUM, metodología ágil para gestión de proyectos. | April 8, 2008

    [...] Sin más preámbulos, SCRUM: [...]

    9   Pablo Veintimilla | April 11, 2008

    Muy buena explicacion. Saludos!

    10   pitogrillo | April 15, 2008

    Está muy bien el artículo.

    Un detalle.. Supongo que en la siguiente frase:

    “Y además, con esta metodología, el usuario gran protagonismo.”

    donde pone “gran”, supongo que debería de poner “gana”.

    11   ansueta | April 15, 2008

    Efectivamente. Tienes razón. Muchas gracias por el apunte. Ya está corregido, (pe)pitogrillo ;-)

    12   Javier Seixas | April 15, 2008

    Saludos,

    felicidades por el artículo. No conocía esta metodología y me ha parecido muy interesante.

    Sin embargo me surgen un par de dudas:
    1.- En la empresa donde yo trabajo es un poco difícil que haya un “product owner” en el equipo de cerdos. Segun entiendo, si las reuniones son diarias, un representante del cliente debería acudiar cada día a reunirse con el equipo de desarrollo. Un poco rollo, ¿no?

    2.- Entenderíamos como “facilitador” la figura del coordinador de proyecto, que se encarga de aclarar requisitos con el usuario, tratar con el cliente, etc?

    13   Jordi Pérez | April 15, 2008

    @ Javier,

    No soy un experto en este método… Ansueta te respondería con más precisión.

    No obstante, creo que ningún método se puede aplicar al 100% en todos los casos. Yo no creo que ningún método que precise reuniones diarias con el cliente sea efectivo. Haz las reuniones con el cliente al ritmo que tu proyecto + tu cliente lo permitan. Sin agobiar.

    Yo entiendo la figura del “facilitador” como aquel aliado en los altos staffs que pone al consejo de dirección a favor del proyecto, el que habla con algún subordinado para que facilite las cosas al grupo de trabajo (por ejemplo, la típica secretaria “perro”, etc.

    Saludos!
    Jordi Pérez.

    14   ansueta | April 15, 2008

    Aunque todos son bienvenidos, la reunión diaria es para el núcleo del equipo y, al menos en teoría, es fundamental. El objetivo es claro: comprobar que el proyecto avanza correctamente, y sacar a la luz los problemas que impiden a los desarrolladores realizar su trabajo. Tampoco tendría por qué ser tan terrible, ya que sólo dura unos 15 minutos…

    Ojo, el Product Owner es la “voz” del cliente, ya que aporta la visión de negocio y tiene en cuenta las necesidades y las peticiones del cliente, pero no es el cliente mismo. Conoce bien sus necesidades porque es el encargado de elaborar las “historias de usuario”, y de asignarles una prioridad.

    El facilitador o Scrum Master tiene como objetivo principal “resolver” los problemas que los desarrolladores van encontrando, y garantizar de este modo que los diferentes “sprints” se llevan a cabo en el plazo previsto. Estos problemas son los que salen a la luz en la reunión diaria.

    Espero haberte ayudado. Un saludo.

    15   “Menos” puede ser mucho “más” también en las aplicaciones informáticas PymeCrunch » | April 18, 2008

    [...] el otro día hablábamos de la agilidad que ofrece SCRUM para gestionar proyectos, y de la transparencia que caracteriza a las aplicaciones de código [...]

    16   Revolución Scrum | April 25, 2008

    [...] Vía: La masa, el ladrillo, la bota, el bocadillo… , PymeCrunch [...]

    17   Dusan Kocurek | May 21, 2008

    ScrumDesk is available in version 3.0, check our site, please http://www.scrumdesk.com.

    Dusan Kocurek
    ScrumDesk Product Manager

    18   Santiago Lizardo » Blog Archive » Overview to the agile metodologies, by Diego Parrilla | May 22, 2008

    19   3 prácticas “ágiles” para aumentar la productividad de tu equipo PymeCrunch » | May 26, 2008

    [...] Aunque este apartado está muy ligado al desarrollo de software, en esencia puede aplicarse a casi cualquier ámbito: si el objetivo -llamemosle entrega- está muy alejado en el tiempo, la motivación del equipo decrece y acaba por desinflarse. Resulta mucho más apasionante descomponer el proyecto en tareas más reducidas y con entregas más frecuentes en el tiempo. En el desarrollo ágil de software se trabaja, por ejemplo, mediante sprints que duran una semana. Resulta muy recomendable ver el planteamiento de la metodología Scrum. [...]

    20   Erick Iduñate | June 6, 2008

    Hola, he leído algo de SCRUM y la mayor parte del proceso y de su intención me queda clara. Hablamos de aceptar el cambio de requisitos, hacer entregas frecuentes y mejora continua del producto. Esto se controla mediante “sprints” en intervalos de tiempo corto que producen un incremento en el producto; para cada sprint se recomiendan reuniones de seguimiento diarias para sortear imprevistos y planear el trabajo del día. Posteriormente se presenta el resultado de este sprint (incremento del producto) a todo el equipo y al cliente, se hacen correcciones, en su caso se vuelve a jerarquizar la pila del producto y se continúa con el siguiente sprint. Para cada sprint se puede hablar de una versión del producto liberada. Me quedan un par de dudas: ¿qué técnicas (además de historias de usuario) recomiendas para que el dueño del producto haga el primer levantamiento de requerimientos con el usuario? ¿Cómo se cobra el producto terminado? No he encontrado información al respecto, espero que me puedas aclarar un poco ese aspecto. ¡Saludos!

    21   ansueta | June 6, 2008

    Hola Erick. Creo que en este enlace puedes encontrar algunas de las respuestas:
    http://www.agile-software-development.com/2007/09/how-to-implement-scrum-in-10-easy-steps.html

    Espero que te sirva de ayuda. Un saludo¡

    22   Cremark » Blog Archive » Récord de comentarios en una entrada de Pymecrunch | July 2, 2008

    [...] SCRUM, metodología ágil para tus proyectos [...]

    23   Alexandra | July 16, 2008

    Me parece un articulo muy interesante…

    24   Fran | July 18, 2008

    Para quien quiera aprender más sobre scrum le recomiendo este blog:

    http://navegapolis.net/

    También tiene una metodología muy interesante que explica paso a paso cómo ponerlo en práctica:

    http://navegapolis.metocube.com

    25   Emilio González Montaña | September 12, 2008

    Hola,

    Felicidades por el artículo, muy bueno!

    Os dejo un enlace a otro artículo en español sobre Scrum:
    http://swsaber.com/scrum/

    Saludos!

    26   wilson | October 15, 2008

    Hola amigos.
    En realidad ésta metodología ha sido muy eficaz para nuestra área de educación. Gracias compañeros

    27   Xavier Albaladejo | October 21, 2008

    Hola a todos,

    Para vuestro interés, un grupo de personas hemos estado creando una base de conocimientos de Scrum en español: http:\\www.proyectosagiles.org. Esta web sin ánimo de lucro está elaborada de manera que esta gestión ágil de proyectos pueda ser utilizada en diferentes departamentos y negocios (no sólo el de desarrollo de software).

    Saludos,
    Xavier

    28   Xavier Albaladejo | October 21, 2008

    Perdón, la base de conocimiento gratuita de Scrum en español está en:

    http://www.proyectosagiles.org.

    29   Josu Ezuri | November 11, 2008

    Scrum es muy interasante, recoge a mi modo de ver lo mejor de los equipos de alto rendimiento aplicados al desarrollo de proyectos de IT.

    Realmente se podría aplicar a otros muchos proyectos o actividades.

    Una idea para configurar los “Sprints” y priorizar las tareas podría ser la regla MoSCoW utilizada en MSDM. Observar el significado en inglés.

    Must
    o
    Should
    Could
    o
    Would

    Todas las tareas a realizar pueden ser categorizadas en cada momento con arreglo a esta ley y priorizadas en consecuencia.
    El criterio Must – Should – Could – Would es establecido desde el punto de vista del negocio o Project Owner, es decir la mayor o menor habilidad para satisfacer las necesidades del negocio.

    Un punto de vista complementario es contestar a la pregunta ¿Qué puedo hacer en un Sprint que tenga valor para el cliente del proyecto?

    Saludos,

    Josu

    30   99 Palmas | November 12, 2008

    hola!!!
    La metodología es conocida, el cuento del cerdo y el pollo, en este contexto, es muy apropiado..
    En cuanto a la metodología “Agil”… como se amalgama con hacer una efectiva ingeniería de requerimientos, mantener trazabilidad, los productos entregables, los roles y las responsabilidades dentro de un proyecto. Cómo hacer la gestión de riesgos?? Y el control de cambios?
    Si ya se…. son demasiados conceptos…
    Saludos cordiales

    31   Consejos, utilidades y curiosidades para freelances » Archivo del weblog » La filosofía Getting Real: 10 consejos ágiles que te ayudarán a mejorar tus proyectos y a gestionar más eficazmente tu negocio | November 23, 2008

    [...] Trocea también las tareas. Trabaja mediante iteraciones: pequeñas tareas que puedes manejar sin problemas, y que te permiten avanzar rápidamente e introducir cambios prácticamente en cualquier estadio del proyecto. Divide los problemas en trozos más y más pequeños hasta que seas capaz de digerirlos. Es la mejor forma de superar los bloqueos. Ver más sobre Scrum. [...]

    32   SCRUM: metodología “ágil” para tus proyectos « El Iceberg | January 14, 2009

    33   Manuel Rodriguez | January 29, 2009

    Tremendamente interesante, muchas gracias.

    34   emanuel | April 5, 2009

    hola, muy bueno el articulo, estoy por hacer untrabajo de seminario sobre scrum y me gustaria toda la informacion posible sobre el mismo, si alguien me puede dar una mano, estaria muy agradecido

    35   Norita | April 8, 2009

    Me gustaría entender el chiste, no comprendo eso de implicado o comprometido, pero sí entiendo el resto.
    Saludos

    36   Jaime | May 5, 2009

    Implicado tienes algo que ver, pero no te mueres, compremetido, es tu responabilidad y te mueres.

    Os recomiendo este site > http://www.proyectosagiles.org/

    37   Jorge Luìs | July 22, 2009

    Buenos dias, si yo quiero empezar a realizar un proyecto que metodologia me recomendarias scrum o Xtreme Programing, PMI,CMMI Y ITIL. ya que soy nuevo en esto quiero saber cual es lo mas recomendable espero tu respuesta lo mas pronto posible, gracias.

    38   jorge | July 23, 2009

    No me extraña que no entiendas el chiste : los pollos NO ponen huevos.
    Cambialo por una gallina y el chiste adquiere sentido

    39   Alexander | September 15, 2009

    Es indiscutible, para implementar un metodoloigia agil deberá vivirse un gran cambio cultural de parte del equipo y mas aún del usuario, acostumbrar a este último a vincularse activamente y periodicamente es de los retos mas grandes, pero si quieren resultados todos debemos apuntar a encestar en la misma cesta y el usuario tendrá que estar consiente de ello.

    40   Alexander | September 15, 2009

    Importante dejar claro, no es necesario ni conveniente seguir las directrices de una metodologia al pie de la letra, cada empresa, cada grupo e incluso cada pais tiene elementos culturales diferentes que obligan a diseñar para cada uno una metodologia propia haciendo combinaciones de varias p.e. scrum y xp incluso a medida que se va trabajando emergen necesidades que terminan en ajustes que afinan la metodologia para hallar la máxima efectividad. les recomiendo leer sobre varias metodologias y extraer lo mejor de cada una segun sus necesidades.

    41   sandra | September 18, 2009

    Hola. Me gustaria que nos sugieras algun libro en español de SCRUM. Nos ayudaria Bastante

    42   yai | January 10, 2010

    hola:
    necesito información sobre el proceso de priorización de requerimientos.

    Escribe un comentario