martes, 4 de mayo de 2010

Metodologia Agil SCRUM

Scrum es una metodologia agil para el desarrollo de software, esta basada en la comunicacion con el cliente pero sobre todo con la dinamica de equipo de trabajo.
  • Es un proceso de desarrollo iterativo e incremental, se basa en entregas o iteraciones utilizables para el usuario.
  • Equipos de trabajo de 5 a 9 integrantes.
A continuacion algunas definiciones de la notacion Scrum:
  • ScrumMaster: Director de proyecto
  • ProductOwner: Es el dueño del software que se esta desarrollando
  • Team: Equipo de desarrollo
  • Sprint: Iteracion bien definida que dura de 15 a 30 dias, durante el sprint no se puede cambiar el sprint backlog que es el documento que contiene los requerimientos del software que se esta desarrollando en el sprint.
  • Product Backlog: Documento corto y concreto donde se describe el sistema y el software en general, este puede tener cambios a lo largo del desarrollo.
  • Sprint Backlog: Documento que realiza el ProductOwner, el Team y los StakeHolder al inicio de cada sprint para determinar los requerimientos, el sprint backlog pueden ser historias de usuarios pero una vez iniciado el sprint no se puede cambiar este documento.
  • Sprint Planning: Actividad donde se planifica y se pacta en el sprint backlog los requerimientos de la iteracion que se va a trabajar (sprint).
  • Daily StandUp: Actividad  donde se reune el Team para dialogar sobre el sprint que estan llevando a cabo, esta debe ser puntual, a la misma hora y en el mismo lugar todos los dias (quien no cumpla se imponen castigos), todos son bienvenidos pero unicamente puede hablar el Team, ProductOwner y el ScrumMaster. la reunion debe tardar 15 minutos y para garantizar que sean 15 minutos la reunion es de pie (nadie sentado). Los programadores responden ¿que haz hecho desde ayer?¿que planes para hoy?¿que problemas haz tenido para alcanzar objetivos?
  • Sprint Planning Meeting: Actividad donde se planifica el sprint (iteracion) seleccionando el trabajo a realizar, debe realizarse por consecuencia al inicio del sprint.se prepara el sprint backlog, participa el equipo completo y no debe durar mas de 8 horas.
  • Sprint Review Meeting: Actividad realizada al finalizar el sprint donde se discuten las funcionalidades completadas y las no completadas durante el sprint, las funcionalidades completadas son mostradas al ProductOwner (demo). Esta actividad debe durar 4 horas maximo.
  • Sprint Retrospective: Actividad realizada por el Team para compartir sus experiencias sobre el sprint, esto es crear un ciclo de mejora contnua para mejorar la calidad. debe durar 4 horas fijo.
  • Burn Down: Grafica donde se inicia una barra al 100% de f uncionalidad pendiente de desarrollar y conforme van cumpliendose los sprint esta barra debe ir disminuyendo, si en algun caso se aumenta funcionalidad en el proceso la barra debera crecer nuevamente. Esta barra no se reemplaza, por cada sprint se crea una nueva barra de grafica para poder visualizar graficamente el progreso del desarrollo.

    La metodologia SCRUM clasifica los roles basandose en la historia del cerdo y la gallina que dice:
    Una gallina le dice a el cerdo ¿Porque no abrimos un restaurante?, el cerdo le dice "Me parece muy buena idea, pero ¿Como se llamara?" la gallina contesta "Pongamosle huevos con jamon", el cerdo le contesta "definitivamente no me gusta la idea, porque YO ESTARIA COMPROMETIDO Y TU ESTARIAS INVOLUCRADA".
    Esto quiere decir que en el desarrollo de software agil Scrum, hay roles que unicamente estan involucrados mientras que otros roles estan comprometidos.
    El Team, ScrumMaster y ProductOwner estan comprometidos(cerdos) y deben dejar incluso la vida para sacar adelante el proyecto.
    Los clientes, usuarios (StakeHolder) unicamente estan involucrados (gallinas) y para ellos no es gran importancia si el proyecto sale o no sale adelante, ellos solo aportan sus historias y lo utilizaran.

    No hay comentarios:

    Publicar un comentario