SCRUM - I

Embed Size (px)

DESCRIPTION

Este articulo te ayudara a saber un poco mas sobre la metodología scrum.

Citation preview

QUE ES SCRUM?Es un procesos en donde se aplican roles y buenas prcticas para las obtener los resultados esperados de un proyecto en una determinada empresa.BENEFICIOS:Los principales beneficios que proporcionaScrumson: Entrega mensual (o quincenal) de resultados(los requisitos ms prioritarios en ese momento, ya completados) lo cual proporciona las siguientes ventajas: Gestin regular de las expectativas del clientey basada en resultados tangibles. Resultados anticipados (time to market). Flexibilidad y adaptacinrespecto a las necesidades del cliente, cambios en el mercado, etc. Gestin sistemtica del Retorno de Inversin (ROI). Mitigacin sistemtica de los riesgosdel proyecto. Productividad y calidad. Alineamiento entre el cliente y el equipo de desarrollo. Equipo motivado.Beneficios de ScrumCmo se consiguen

Gestin regular de las expectativas del clienteEl cliente establece sus expectativas indicando el valor que le aporta cada requisito del proyecto y cuando espera que est completado.Lista de requisitos priorizadaEl cliente crea y gestiona la lista de requisitos del producto o proyecto, donde quedan reflejadas sus expectativas a nivel de requisitos, valor, coste y entregas.

El cliente comprueba de manera regular si se van cumpliendo sus expectativas, da feedback, ya desde el inicio del proyecto puede tomar decisiones informadas a partir de resultados objetivos y dirige estos resultados del proyecto, iteracin a iteracin, hacia su meta. Se ahorra esfuerzo y tiempo al evitar hiptesis.Demostracin de los resultados de proyecto en cada iteracinAl final de cadaiteracinel equipo demuestra al cliente los requisitos que ha conseguido completar. Tras una inspeccin del resultado real del proyecto hasta ese momento, y considerando el esfuerzo que ha sido necesario para realizarlo, el cliente solicita los cambios que necesita y replanifica el proyecto.

Resultados anticipados(time to market)El cliente puede empezar a utilizar los resultados ms 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 cliente puede empezar antes a recuperar su inversin (y/o autofinanciarse) comenzando a utilizar un producto al que slo le faltan caractersticas poco relevantes, puede sacar al mercado un producto antes que su competidor, puede hacer frente a urgencias o nuevas peticiones de clientes, etc.Priorizacin de requisitos por valor y costeAl inicio de cada iteracin el cliente prioriza la lista de requisitos del producto o proyecto en funcin del valor que le aportan, su coste de desarrollo y los riesgos del proyecto, cambiando los requisitos previstos para reaccionar a cambios de contexto en el proyecto.El progreso del proyecto se mide en funcin de los requisitos que el equipo completa en cada iteracin.

Flexibilidad y adaptacinDe manera regular el cliente redirige el proyecto en funcin desus nuevas prioridades, de los cambios en el mercado, de los requisitos completados que le permiten entender mejor el producto, de la velocidad real de desarrollo, etc.Al final de cada iteracin el cliente puede aprovechar la parte de producto completada hasta ese momento para hacer pruebas de concepto con usuarios o consumidores y tomar decisiones en funcin del resultado obtenido.Replanificacin en el inicio de cada iteracinSe asume que los cambios son parte natural del proyecto. Toda iteracin comienza con una replanificacin del proyecto. Esta replanificacin no es traumtica puesto que Scrum minimiza el nmero de objetivos/requisitos en que el equipo trabaja (WIP, Work In Progress) a los que caben en una iteracin. Todava no se ha hecho ningn esfuerzo en desarrollar los requisitos de las siguientes iteraciones.El hecho los requisitos se completen en funcin del valor que aportan al cliente minimiza la probabilidad de que se produzcan grandes cambios en el transcurso del proyecto.

Retorno de inversin (ROI)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.Priorizacin de requisitos por valorCada iteracin el cliente dispone de unos requisitos completados y replanifica el proyecto en funcin del valor que le aportan los requisitos pendientes respecto del coste de desarrollo que tienen.

Mitigacin de riesgosDesde la primera iteracin el equipo tiene que gestionar los problemas que pueden aparecer en una entrega del proyecto. Al hacer patentes estosriesgos, es posible iniciar su mitigacin de manera anticipada. "Si hay que equivocarse o fallar, mejor hacelo lo antes posible". El feedback temprano permite ahorrar esfuerzo y tiempo en errores tcnicos.La cantidad de riesgo a que se enfrenta el equipo est limitada a los requisitos que se puede desarrollar en una iteracin. La complejidad y riesgos del proyecto se dividen de manera natural en iteraciones.Desarrollo iterativo e incrementalUn requisito se debe completar en una iteracin. El equipo debe realizar todas las tareas necesarias para completarlo y que est preparado para ser entregado al cliente con el esfuerzo mnimo necesario. De esta manera no se deja para el final del proyecto ninguna actividad arriesgada relacionada con la entrega de requisitos.

Productividad y calidadDe manera regular el equipo va mejorando y simplificando su forma de trabajar.Mejora continuaCada iteracin el equipo realiza una retrospectiva para analizar su manera de trabajar e identificar los obstculos que le impiden avanzar al mejor ritmo posible.

Los miembros del equipo sincronizan su trabajo diariamente y se ayudan a resolver los problemas que pueden impedir conseguir el objetivo de la iteracin. La comunicacin y la adaptacin a las diferentes necesidades entre los miembros del equipo son mximas (se van ajustando iteracin a iteracin), de manera que no se realizan tareas innecesarias y se evitan ineficiencias.Comunicacin diaria del equipoTodo miembro del equipo conoce cmo el trabajo de los otros miembros impacta en el suyo y cules son las necesidades de los otros.

Las personas trabajan ms enfocadas y de manera ms eficiente cuando hay una fecha lmite a corto plazo para entregar un resultado al que se han comprometido. La consciencia de esta limitacin temporal favorece la priorizacin de las tareas y fuerza la toma de decisiones.Las iteraciones (Sprints) son regulares y de un mes para facilitar la sincronizacin sistemtica con otros equipos, con el resto de la empresa y con el cliente.TimeBoxingCada actividad de Scrum siempre tiene la misma duracin (1 mes, 4 horas, etc.), con lo que las personas aprenden lo que pueden conseguir en este tiempo, cmo organizarse, priorizar tareas y tomar decisiones.

El equipominimizasu dependenciade personas externas para poderavanzar(depender de la disponibilidadde otros puede parartareas).Equipo multidisciplinarEl equipo est formado por todas las personas con las especialidades necesarias para llevar a cabo el proyecto.

Laestimacin de esfuerzo yla optimizacin de tareas para completar un requisito es mejor si la realizan las personas que van a desarrollar el requisito, dadas sus diferentes especializaciones, experiencias y puntos de vista.Asmismo, con iteraciones cortasla precisin de las estimaciones aumenta.Estimacin de esfuerzo conjuntaEn el inicio de la iteracin los miembros del equipo estiman de manera conjunta el esfuerzo necesario para completar requisitos y sus tareas.

Las personas trabajan de manera ms eficiente y con ms calidad cuando ellas mismasse hancomprometidoa entregar un resultado en un momento determinado y deciden cmo hacerlo, no cuando se les ha asignado una tarea e indicado el tiempo necesario para realizarla.Compromiso del equipoEn el inicio de cada iteracin el equipo selecciona los requisitos que se compromete a completar y entregar al final de la iteracin (responabilidad). El propio equipo se organiza (autoridad) identificando las tareas necesarias, su esfuerzo y autoasignandose cada miembrolas tareas que se compromete a realizar.

El equipo se evita caminar muchotiempo por un camino equivocado que le obligue arealizarun gran esfuerzo parallegaralobjetivo esperadoSe asegura lacalidad del productode manera sistemtica y objetiva, a nivel de satisfaccin del cliente, requisitos listos para ser utilizados y calidad interna del producto.Demostracin de resultados preparados para ser utilizadosy velocidad sostenidaPor un lado, al final de cada iteracin el equipo demuestra al cliente los requisitos que ha conseguido completar, de manera que estn completamente operativos. Por otro lado, para tener una velocidad de desarrollo sostenida, el equipo necesita desarrollar cada incremento de producto sin tener querevisitar aspectos mal resueltos en iteraciones anteriores.

Alineamiento entre cliente y equipoLos resultados y esfuerzos del proyecto se miden en forma de objetivos y requisitos entregados al negocio. Todos los participantes en el proyecto conocen cul es el objetivo a conseguir. El producto se enriquece con las aportaciones de todos.Cliente y equipo trabajando en equipoCada iteracin el equipo y el cliente trabajan juntos en la creacin de los requisitos del proyecto (en laestimacin de la lista priorizada de requisitos del proyecto), en darles detalle (en lareunin de planificacin de la iteracin) y en el anlisis del resultado obtenido (en lademostracin de los requisitos completados).

Equipo motivadoLas personas estn ms motivadas cuando pueden usar su creatividad para resolver problemas ycuando pueden decidir organizar su trabajo.Equipo autogestionadoEl equipo es quien se compromete a completar unos requisitos determinados en una iteracin y quien mejor sabe cmo desarrollarlos. Por ello es el equipo quien se autoorganiza y quien planifica cmo trabajar en la iteracin.

Las personas se sienten ms satisfechas cuandopueden mostrar los logros que consiguen.DemostracinCada iteracin el equipo muestra al cliente los resultados que consigue. No est meses trabajandosin poderexhibir su obra.

DESVENTAJAS:Recientemente se habla mucho de las ventajas de las metodologas giles, y en concreto de SCRUM. Sin embargo, como toda metodologa, tiene sus altibajos, la idea de exponerlos es para que podamos tenerlos en cuenta en caso de que se apliquen a nuestros proyectos. Al final, lo importante es saber detectar los riesgos y mitigarlos adecuadamente. En general, dificultad de aplicacin en grandes proyectos. Se requiere de un agile champion, experto en la metodologa que monitorice su cumplimiento. Parte del paradigma consiste en usar el mtodo tal cual, evitando adaptarlo a la empresa (supuestamente esto saca a la luz problemas en la metodologa de desarrollo existente). Claro, si por otro lado arrancamos con el mtodo ya adaptado a la empresa, es posible que no estemos aprovechando las ventajas de la metodologa gil. Plantea un problema si el desarrollo est restringido por una fecha de entrega y un precio de entrega cerrados por contrato Presupone que los requerimientos cambian, pero no de forma que el cliente acepte un diseo funcional/tcnico. Presupone que el equipo est muy formado y motivado Presupone que el cliente est muy involucrado en el desarrollo, participa de forma activa y continua, y revisa frecuentemente el avance de la funcionalidad conforme salen a la luz los sprints. Esto sin embargo no parece producirse en la mayora de nuestros proyectos: el cliente participa, pero no hasta el punto de dedicar tiempo y recursos para revisar pequeos avances en el desarrollo. Presupone que el cliente no exige ni necesita toda la documentacin que manejan actualmente las empresas y que las diversas normativas internacionales requieren. Desde el punto de vista de la metodologa parece que hay muchas, y as es. Pero esto no deja de ser una visin general de riesgos como en cualquier otro proyecto.A. Las actividades que se llevan a cabo en Scrum son las siguientes:Planificacin de la iteracinEl primer da de la iteracin se realiza la reunin de planificacin de la iteracin. Tiene dos partes:1. Seleccin de requisitos(4 horas mximo). El cliente presenta alequipola lista de requisitos priorizada del producto o proyecto. El equipo pregunta al cliente las dudas que surgen y selecciona los requisitos ms prioritarios que se compromete a completar en la iteracin, de manera que puedan ser entregados si el cliente lo solicita.2. Planificacin de la iteracin(4 horas mximo). El equipo elabora lalista de tareas de la iteracinnecesarias para desarrollar los requisitos a que se ha comprometido. La estimacin de esfuerzo se hace de manera conjunta y los miembros del equipo se autoasignan las tareas.Ejecucin de la iteracinCada da el equipo realiza unareunin de sincronizacin(15 minutos mximo). Cada miembro del equipo inspecciona el trabajo que el resto est realizando (dependencias entre tareas, progreso hacia el objetivo de la iteracin, obstculos que pueden impedir este objetivo) para poder hacer las adaptaciones necesarias que permitan cumplir con el compromiso adquirido. En la reunin cada miembro del equipo responde a tres preguntas: Qu he hecho desde la ltima reunin de sincronizacin? Qu voy a hacer a partir de este momento? Qu impedimentos tengo o voy a tener?Durante la iteracin elFacilitador (Scrum Master)se encarga de que el equipo pueda cumplir con su compromiso y de que no se merme su productividad. Elimina los obstculos que el equipo no puede resolver por s mismo. Protege al equipo de interrupciones externasque puedan afectar su compromiso o su productividad.Inspeccin y adaptacinEl ltimo da de la iteracin se realiza la reunin de revisin de la iteracin. Tiene dos partes:1. Demostracin(4 horas mximo). El equipo presenta al cliente los requisitos completados en la iteracin, en forma de incremento de producto preparado para ser entregado con el mnimo esfuerzo. En funcin 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 iteracin, replanificando el proyecto.2. Retrospectiva(4 horas mximo). El equipo analiza cmo ha sido su manera de trabajar y cules son los problemas que podran impedirle progresar adecuadamente, mejorando de manera continua su productividad. El Facilitador se encargar de ir eliminando los obstculos identificados.