lunes, 8 de noviembre de 2010

Introducción a Scrum (I).


1.- ¿Qué es Scrum?
Scrum es una forma de gestionar proyectos software, un modelo de referencia que define un conjunto de buenas prácticas para trabajar de forma colaborativa. Por tanto, no estamos hablando de una metodología de análisis.
Scrum se basa en que el problema planteado no puede ser comprendido o no se puede definir completamente desde el inicio, o que los requisitos pueden ser cambiantes y se debe poder responder rápidamente. Se busca por tanto la rapidez, la flexibilidad, la calidad y la mejora continua, respondiendo siempre a las expectativas del cliente.


2.- Características generales.
Scrum se basa en un desarrollo iterativo e incremental, en el que cada iteración (sprint) es un bloque temporal de duración variable, de dos a cinco semanas. Cada iteración sigue un proceso de trabajo similar, al final del cual se presenta al cliente un incremento del proyecto potencialmente entregable (release) en el que se incluyen todas las tareas necesarias para que este incremento se considere completo (documentación, pruebas, etc.) Cada iteración parte de una lista de objetivos/requisitos (Product Backlog) priorizada por el cliente, que se determinan en una reunión de planificación (Sprint Planning Meeting). Una vez finalizada la iteración y realizada la presentación de la entrega ante el cliente (Sprint Review), se realizará una reunión de retrospectiva (Sprint Retrospective) con el objeto de analizar el trabajo realizado y encontrar impedimentos que no permitan el desarrollo del proyecto.

Otra de las características de Scrum es el fomento de la comunicación y la colaboración entre los miembros del equipo. Para ello se realizan breves reuniones diarias (Scrum Daily Meeting), de unos 15-20 minutos, en el que cada miembro del equipo expone lo que ha realizado la jornada anterior, lo que se va a realizar en esa jornada y los problemas encontrados. En estas reuniones no se resuelven problemas, sólo sirve para que conocer en qué punto se encuentra el trabajo de los demás. Dado que seguramente nos encontraremos con problemas de dependencia entre las tareas realizadas entre dos o más miembros del equipo, se pueden fijar reuniones de colaboración posteriores entre esos miembros para encontrar soluciones a esos problemas concretos.

Por otra parte, en Scrum se definen una serie de roles:
  • Facilitador (ScrumMaster): se ocupa de velar para que todos los participantes del proyecto sigan las reglas y el proceso de Scrum. Liderará al equipo protegiéndolo de posibles interrupciones externas, guiándolo en las reuniones pero permitiendo la autogestión de sus integrantes. No se trata del tradicional jefe o responsable del equipo o del proyecto, sino de un guía que facilita y fomenta la colaboración entre todos los miembros involucrados en el proyecto.
  • Equipo (Team): se trata del grupo de desarrolladores, de tamaño variable (entre 4 y 10 personas), con capacidad de auto organización y cuyas sinergias permitirán llevar a buen puerto el proyecto, gracias a la suma de sus conocimientos, creatividad, experiencias y habilidades.
  • Cliente (ProductOwner): es el único interlocutor con poder de decisión que representa a las personas que tienen la necesidad de la solución final del proyecto o que harán uso de ella (es decir, el cliente, ya sea interno o externo). Se encarga de establecer los requisitos y definir los objetivos, colaborando con el equipo a la hora de detallarlos y de revisarlos en cada iteración. Esto supone que el cliente va a participar activamente en el desarrollo del proyecto, por lo que es necesario su dedicación e implicación. Además deberá estar disponible durante el desarrollo de cada iteración para poder resolver dudas.
Para finalizar, se suele destacar que algunos de los requisitos para lograr llevar a buen puerto el proyecto son la dedicación exclusiva de los miembros del equipo, su estabilidad y el poder compartir un mismo espacio común, lo que facilita la comunicación entre sus miembros y poder realizar las distintas reuniones que anteriormente he mencionado.

No hay comentarios:

Publicar un comentario