Cargando la página...

Usted está aquí:

Metodología Scrum

Publicado por Gastón el 02.09.2008 02:37:12 en Ingeniería del software - Nivel Intermedio

Avatar de CID
Avatar de

Buscando información en sitios de Internet sobre esta metodología encontré desde meros comentarios, algunos positivos y otros negativos sobre Scrum, hasta libros y sitios especializados en esta metodología ágil para el desarrollo de proyectos. He aquí un modesto resumen sobre dichos escritos enriquecido, quizás, con aportes personales.

Página 01 02 de 02 | Versión completa

¿Qué es Scrum?

El Scrum es un proceso de desarrollo iterativo e incremental enfocado a la gestión de procesos de desarrollo de software, aunque también puede ser utilizado en equipos de mantenimiento de software, que sirve para administrar y controlar el desarrollo de sistemas.
Esta metodología, inicialmente documentada por dos japoneses (Takeuchi y Nonaka) en 1986 y con aportes de especialistas (Sutherland y Schwaber) a lo largo de la última década, tiende a hacer que los procesos que influyen en el desarrollo de tecnología se incrementen en rapidez y flexibilidad, siempre tomando en cuenta los tiempos y reglas de negocio que dan motivo al desarrollo del proyecto. Se emplea en entornos que trabajan con requisitos inestables y que requieren rapidez y flexibilidad; situaciones frecuentes en el desarrollo de determinados sistemas de software, usualmente con equipos chicos y multidisciplinarios.

¿De qué se trata esta metodología?

El desarrollo se realiza en forma iterativa e incremental. Cada iteración termina con una pieza de software ejecutable que incorpora nueva funcionalidad. Estas iteraciones tienen en general una duración entre 2 y 4 semanas.
Scrum se focaliza en priorizar el trabajo en función del valor que tenga para el negocio, maximizando la utilidad de lo que se construye y el retorno de inversión. Está diseñado especialmente para adaptarse a los cambios en los requerimientos. Los requerimientos y las prioridades se revisan y ajustan durante el proyecto en intervalos muy cortos y regulares. De esta forma se puede adaptar en tiempo real el producto que se está construyendo a las necesidades del cliente o, dicho de otra manera, incorporar cambios con rapidez y en cualquier fase del proyecto.

/res/userimages/1/1-scrum-en.gif

Hay estudios estadísticos de la industria del Software que muestran que casi la mitad de la funcionalidad que se implementa no es utilizada. En Scrum se construye primero la funcionalidad que resulte en el mayor beneficio para el negocio y se evita en todo momento desarrollar cosas que no serán de utilidad para el cliente. De esta manera se puede desarrollar un sistema en menos tiempo evitando el trabajo innecesario.
Una ventaja de esta metodología es que es muy fácil de aprender y requiere muy poco esfuerzo para comenzar a utilizarse. Scrum se utiliza como marco para otras prácticas de ingeniería de software como RUP o Extreme Programming.

Introducción a la metología Scrum. Conceptos.

El Scrum es un proceso que incluye un conjunto de actores o roles y de acciones o prácticas predefinidas.
Los roles principales en Scrum son el Scrum Master, que mantiene los procesos y trabaja de forma similar al director de proyecto, Product Owner, que representa a los Stakeholders (clientes externos o internos), y el Scrum Team que incluye a los desarrolladores. Luego, los usuarios o clientes, que deben estar involucrados con el proyecto para que este tenga éxito.
Durante cada Sprint, un periodo entre 15 y 30 días, el equipo crea un incremento de software potencialmente entregable (utilizable). El conjunto de características que forma parte de cada Sprint viene del Product Backlog, que es un conjunto de requisitos de alto nivel priorizados que dan forma al trabajo a realizar. Los elementos del Backlog que forman parte del Sprint se determinan durante la reunión de Sprint Planning. Durante esta reunión, el Product Owner informa al equipo de los elementos en el Product Backlog que quiere ver completados. El equipo entonces determina la cantidad de ese trabajo que puede comprometerse a completar durante el siguiente Sprint. Durante el Sprint, nadie puede cambiar el Sprint Backlog (una lista donde se detalla cómo se van a construir los diferentes requisitos del producto), lo que significa que los requisitos están congelados durante el Sprint.

Scrum en mayor detalle. Sus actores y acciones. Su forma de trabajo.

Los actores son los que ejecutarían obviamente las acciones.
El Scrum Master es quien facilita el Scrum; su trabajo primario es eliminar los obstáculos que impiden que el equipo alcance el objetivo del Sprint y por lo tanto facilitar el Scrum. El Scrum Master no es el líder del equipo (porque ellos se auto organizan), sino que actúa como una protección entre el equipo y cualquier influencia que le distraiga. Se asegura de el que el proceso Scrum se utiliza como debe. Es quien hace que las reglas se cumplan. Es la persona que asegura el seguimiento de la metodología guiando las reuniones y ayudando al equipo ante cualquier problema que pueda aparecer.
El Product Owner representa la voz del cliente y aporta la visión de negocio. Ellos se aseguran de que el equipo de Scrum trabaja de forma adecuada desde la perspectiva del negocio. El Product Owner escribe historias de usuario (sencillas tarjetas en las que se recoge de forma esquemática y en un lenguaje claro qué es lo que queremos hacer), las prioriza y las coloca en el Product Backlog.
El Scrum Team tiene la responsabilidad de entregar el producto. Un pequeño equipo de 5 a 9 personas con una mezcla de habilidades necesarias para realizar el trabajo (desarrolladores, diseñadores, etc.) de implementar la funcionalidad o funcionalidades elegidas por el Product Owner.
Los demás involucrados en el proceso, son los usuarios del producto o aplicación, los clientes y vendedores, y los gestores y directivos. No son actores esenciales pero si implicados y deben ser tenidos en cuenta. Aportan ideas, sugerencias o necesidades.
Las acciones tienen relación directa con los actores. En Scrum se indican claramente las acciones a acometer y cómo acometerlas.
Las acciones en Scrum forman un ciclo iterativo repetitivo que tiene como objetivo minimizar el esfuerzo y maximizar el rendimiento en el desarrollo.
El Product Backlog corresponde con todas las tareas, funcionalidades o requerimientos a realizar. El Product Owner es la persona que se encarga de marcar las prioridades, mantener y actualizar el Product Backlog.
El Sprint Planning Meeting es una reunión que tiene por objetivo, planificar el Sprint a partir del Product Backlog. El objetivo de esta reunión es la de mover las tareas del Product Backlog al Sprint Backlog. En esta reunión, suelen participar el Product Backlog, el Scrum Master y el Scrum Team. Del Sprint Planning Meeting sale también el Sprint Goal, que es un pequeño documento o una breve descripción que indica lo que el Sprint intentará alcanzar.
El Sprint Backlog corresponde con una o más tareas que provienen del Product Backlog. Del Product Backlog se saca una o más tareas que van a formar parte del Sprint Backlog. Estas tareas se deben acometer en unas 2 o 4 semanas.
Una vez que el Sprint Backlog se inicia, este no puede ser alterado o modificado. Hay que esperar a que este concluya para realizar la correspondiente modificación o alteración, cuya tarea formaría parte de otro Sprint Backlog.
El Daily Scrum Meeting es una tarea iterativa que se realiza todos los días que dure el Sprint Backlog con el equipo de desarrollo. Se trata de una reunión diaria, operativa, informal y ágil, de un máximo de 30 minutos, en la que se le hacen preguntas a cada integrante del equipo. Preguntas sobre las tareas que ha realizado desde la última reunión, preguntas sobre qué va a realizar en el día actual y preguntas de identificación de obstáculos o riesgos que impiden o pueden impedir el normal avance. El Scrum Master debe eliminar aquí cualquier obstáculo que encuentre.
En el Sprint Review se revisa el Sprint finalizado. En esta reunión suelen asistir el Product Owner, el Scrum Master y personas que podrían estar involucradas con el proyecto. El Scrum Team es quien muestra los avances realizados en el Sprint.
Al finalizar el Sprint Backlog y el Sprint Review, se inicia el Sprint Retrospective. El Product Owner revisará con el equipo los objetivos marcados inicialmente en el Sprint Backlog concluido, se aplicarán los cambios y ajustes si son necesarios, y se marcarán los aspectos positivos (para repetirlos) y los aspectos negativos (para evitar que se repitan) del Sprint.

Página 01 02 de 02 | Versión completa

Descargas asociadas al artículo:

Diagrama del procedimiento Scrum para el desarrollo de Software (02.09.08 | 9 descargas | 731.60 Kbytes) Más información:

Estadisticas:

Artículo leido 489 veces con un puntaje de 10.00 pts

Comentarios.

Sus comentarios son importantes.

1
02
septiembre
2008

Romina aportó:

Muy buena la idea de los gráficos explicativos.
Muy buen artículo.
2
02
septiembre
2008

Gastón aportó:

Gracias Romy, el artículo también tiene descargas.
No se olviden de registrarse para descargar.

Debe estar identificado para agregar un comentario