2. SCRUM - Parte 1

8
  1 Tópicos Avanzados Ing. Sistemas Ing. Hesmeralda Rojas Enriquez SCRUM Objetivo  Conocer el modelo Scrum: origen del modelo, principios y prácticas que emplea para la gestión y seguimiento ágil del proyecto, sus componentes; junto con las razones y consideraciones de fondo para la implementación del modelo. Introducción Descripción de Scrum y de los elementos que lo componen Roles y responsabillidades para la ejecución del proyecto Pila del producto (product backlog) Planificación del sprint (reunión) Pila del sprint (sprint backlog) Reunión de seguimiento diario El incremento Reunión de revisión del sprint Capítulo I: Introducción Introducción The New New Product Development Game es el título del artículo publicado en 1986 por Hirotaka Takeuchi e Ikujijo Nonaka; que a su vez daba continuación a otro anterior de los mismos autores junto con Kenichi Imai: “Managing the New Product Development Process: How Japanese Companies Learn and Unlearn”. La publicación de “The New New Product Development Game” ha marcado el punto de inicio de una nueva forma de gestionar proyectos en entornos rápidos e inestables. Cuando la teoría de gestión de proyectos estaba alcanzando una cierta madurez, los autores observaron que algunas empresas, en mercados muy competitivos, relacionados con productos de vanguardia tecnológica, trabajaban ignorando la teoría clásica de gestión de proyectos. Muchas compañías han descubierto que para mantenerse en el actual mercado competitivo necesitan algo más que los conceptos básicos de calidad elevada, costes reducidos y diferenciación. Además de esto, también es necesario velocidad y flexibilidad.  En 1981 las encuestas realizadas a 700 empresas americanas revelan que el 30% de sus beneficios se debe a nuevos productos”.  Hasta entonces, el desarrollo de nuevos productos se realizaba como una carrera de relevos, en la que un grupo de especialistas funcionales pasaban el relevo al siguiente. El proyecto avanzaba secuencialmente de fase en fase: creación del concepto, pruebas de viabilidad, diseño del producto, diseño del proceso, desarrollo de prototipo y producción final. Es un modelo d e trabajo segmentado por especializa ción de funciones. La gente de marketing explora y estudia las necesidades de los clientes, para crear el concepto del producto. Los ingenieros de investigación y desarrollo elaboran un diseño adecuado, los ingenieros de producción llevan a c abo la solución técnica… Nonaka y Takeuchi observaron que empresas americanas y japonesas tecnológicas, de primera línea, que aventajaban a sus competidores en innovación y rapidez, compartían pautas de trabajo comunes, ajenas al clásico patrón secuencial.

Transcript of 2. SCRUM - Parte 1

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 1

SCRUMObjetivoConocer el modelo Scrum: origen del modelo, principios y prcticas que emplea para la gestin y seguimiento gil del proyecto, sus componentes; junto con las razones y consideraciones de fondo para la implementacin del modelo. Introduccin Descripcin de Scrum y de los elementos que lo componen Roles y responsabillidades para la ejecucin del proyecto Pila del producto (product backlog) Planificacin del sprint (reunin) Pila del sprint (sprint backlog) Reunin de seguimiento diario El incremento Reunin de revisin del sprint

Captulo I: IntroduccinIntroduccin The New New Product Development Game es el ttulo del artculo publicado en 1986 por Hirotaka Takeuchi e Ikujijo Nonaka; que a su vez daba continuacin a otro anterior de los mismos autores junto con Kenichi Imai: Managing the New Product Development Process: How Japanese Companies Learn and Unlearn. La publicacin de The New New Product Development Game ha marcado el punto de inicio de una nueva forma de gestionar proyectos en entornos rpidos e inestables. Cuando la teora de gestin de proyectos estaba alcanzando una cierta madurez, los autores observaron que algunas empresas, en mercados muy competitivos, relacionados con productos de vanguardia tecnolgica, trabajaban ignorando la teora clsica de gestin de proyectos. Muchas compaas han descubierto que para mantenerse en el actual mercado competitivo necesitan algo ms que los conceptos bsicos de calidad elevada, costes reducidos y diferenciacin. Adems de esto, tambin es necesario velocidad y flexibilidad. En 1981 las encuestas realizadas a 700 empresas americanas revelan que el 30% de sus beneficios se debe a nuevos productos. Hasta entonces, el desarrollo de nuevos productos se realizaba como una carrera de relevos, en la que un grupo de especialistas funcionales pasaban el relevo al siguiente. El proyecto avanzaba secuencialmente de fase en fase: creacin del concepto, pruebas de viabilidad, diseo del producto, diseo del proceso, desarrollo de prototipo y produccin final. Es un modelo de trabajo segmentado por especializacin de funciones. La gente de marketing explora y estudia las necesidades de los clientes, para crear el concepto del producto. Los ingenieros de investigacin y desarrollo elaboran un diseo adecuado, los ingenieros de produccin llevan a cabo la solucin tcnica Nonaka y Takeuchi observaron que empresas americanas y japonesas tecnolgicas, de primera lnea, que aventajaban a sus competidores en innovacin y rapidez, compartan pautas de trabajo comunes, ajenas al clsico patrn secuencial.

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 2

Analizaron la forma de trabajo de: Fuji-Xerox, Canon, Honda, Nec, Epson, Brother, 3M, Xerox y HewlettPackard y en concreto la forma en la que abordaban el desarrollo de 6 productos: La fotocopiadora Fuji-Xerox FX-3500. (1978) La copiadora personal Canon PC-10 (1982) El coche urbano de 1200cc de Honda (1981) El ordenador personal NEC PC 8000 (1979) La cmara Canon AE-1 (1976) Cmara Canon Auto Boy (1979). En estas empresas el trabajo no recorra fases a travs de diferentes equipos especializados. El producto emerge de la interaccin constante de un equipo de lite, multidisciplinario que trabaja conjuntamente desde el principio hasta el final. Nonaka y Takeuchi compararon la forma de trabajar de estos equipos nicos y multi-disciplinarios, con los equipos de rugby, y el ambiente y entorno de trabajo que les proporcionaba la empresa lo llamaron campo de scrum Scrum es un trmino empleado en Rugby (la forma abreviada de scrummage) que representa la formacin del equipo agrupado tras una interrupcin. Cul de las siguientes caractersticas detectaron Nonaka y Takeuchi en 1986 los entornos de trabajo a los que ellos llamaron Campos de Scrum? Un equipo con un modelo de trabajo segmentado por especializacin de funciones. Un equipo nico multi-funcional Un equipo como una carrera de relevos

Aunque las prcticas observadas por Nonaka y Takeuchi surgieron en empresas de productos tecnolgicos, tambin se emplean en entornos que trabajan con requisitos inestables y que requieren rapidez y flexibilidad, situaciones frecuentes en el desarrollo de determinados sistemas de software. Jeff Sutherland fue el primero que document un modelo de trabajo para aplicar los principios de campos de scrum en el desarrollo de software, y tras probarlo en la empresa en la que trabajaba (Easel Corporation), lo present junto con Ken Schwaber como proceso para gestin del desarrollo de software en OOPSLA 96, proponiendo en su concepcin inicial: ciclos de desarrollo de uno o dos meses, realizados por equipos pequeos auto-organizados. Jef Sutherland y Ken Schwaber fueron tambin firmantes en 2001 del Manifiesto gil. En la ltima dcada han sido muchas empresas y equipos de trabajo los que han confirmado la eficiencia para muchos proyectos de software, y el modelo se va mejorando, ampliando y enriqueciendo con prcticas y variaciones para adecuar mejor los principios giles a las circunstancias de cada organizacin. Los principios de los campos de scrum se empezaron a aplicar en l a raz de: La publicacin de Scrum en el Manifiesto gil en 2001.

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 3

La publicacin del artculo The New New Product Development Game en 1986 La presentacin de Jeff Sutherland y Ken Schwaber como proceso en OOPSLA 96. Scrum es una metodologa de desarrollo muy simple, que requiere trabajo duro, porque no se basa en el seguimiento de un plan, sino en la adaptacin continua a las circunstancias de la evolucin del proyecto. Como mtodo gil: Es un modo de desarrollo adaptable, antes que predictivo. Orientado a las personas, ms que a los procesos. Emplea el modelo de construccin incremental basado en iteraciones y revisiones. Comparte los principios estructurales del desarrollo gil: a partir del concepto o visin de la necesidad del cliente, construye el producto de forma incremental a travs de iteraciones breves que comprenden fases de especulacin exploracin y revisin. Estas iteraciones (en Scrum llamadas sprints) se repiten de forma continua hasta que el cliente da por cerrado el producto. Se comienza con la visin general del producto, especificando y dando detalle a las funcionalidades o partes que tienen mayor prioridad de negocio, y que pueden llevarse a cabo en un perodo de tiempo breve (segn los casos pueden tener duraciones desde una semana hasta no ms de dos meses). Cada uno de estos perodos de desarrollo es una iteracin que finaliza con la entrega de una parte (incremento) operativa del producto. Estas iteraciones son la base del desarrollo gil, y Scrum gestiona su evolucin en reuniones breves diarias donde todo el equipo revisa el trabajo realizado el da anterior y el previsto para el siguiente. Cul de las siguientes afirmaciones es cierta?: Scrum es un modelo orientado a los procesos. Comparte los principios estructurales del desarrollo gil: Gestin de riesgos, y medicin del impacto de las modificaciones de requisitos. Scrum es un modelo orientado a las personas. Scrum es un mtodo de gestin de proyectos predictiva. Un campo de scrum debe incorporar estas caractersticas para seguir y controlar la evolucin del proyecto. Revisin de las Iteraciones Al finalizar cada iteracin (sprint) se lleva a cabo una revisin con todas las personas implicadas en el proyecto. Es por tanto la duracin del sprint, el periodo mximo que se tarda en reconducir una desviacin en el proyecto o en las circunstancias del producto. Desarrollo incremental Las personas implicadas no trabajan con diseos o abstracciones. El desarrollo incremental implica que al final de cada iteracin se dispone de una parte de producto operativa, que se puede inspeccionar y evaluar. Desarrollo evolutivo Los modelos de gestin gil se emplean para trabajar en entornos de incertidumbre e inestabilidad de requisitos. Intentar predecir en las fases iniciales cmo ser el resultado final, y sobre dicha prediccin desarrollar el diseo y la arquitectura del producto no es realista, porque las circunstancias obligarn a remodelarlo muchas veces. Para qu predecir los estados finales de la arquitectura o del diseo si van a estar cambiando? Scrum considera

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 4

a la inestabilidad como una premisa, y se adoptan tcnicas de trabajo para permitir la evolucin sin degradar la calidad de la arquitectura que tambin evoluciona durante el desarrollo. Durante el desarrollo se genera el diseo y la arquitectura final de forma evolutiva. Scrum no los considera como productos que deban realizarse en la primera fase del proyecto. (El desarrollo gil no es un desarrollo en fases) Auto-organizacin En la ejecucin de un proyecto son muchos los factores impredecibles en todas las reas y niveles. La gestin predictiva confa la responsabilidad de su resolucin al gestor de proyectos. En Scrum los equipos son auto-organizados (no auto-dirigidos), con margen de decisin suficiente para tomar las decisiones que consideren oportunas. Colaboracin Las prcticas y el entorno de trabajo giles facilitan la colaboracin del equipo. sta es necesaria, porque para que funcione la auto-organizacin como un control eficaz cada miembro del equipo debe colaborar de forma abierta con los dems, segn sus capacidades y no segn un rol o puesto. Indica cul de las siguientes continuaciones a esta frase es cierta: Al construir el resultado de forma iterativa e incremental... ... el cliente puede ir probando poco a poco el resultado real que se va construyendo, e introducir las modificaciones de requisitos que estime oportunas. ... se puede garantizar de forma continua durante todo el proyecto que ni la arquitectura ni los requisitos cambian. ... se puede medir el impacto de cada cambio de requisitos sobre el plan general del proyecto al final de cada sprint.

CAPTULO IIDescripcin de Scrum y de los elementos que lo componenLa construccin del producto o sistema que desea el cliente se va realizando en pequeos ciclos, entregando al final de cada uno un "incremento": una parte del sistema completamente operativo y funcional. Scrum denomina sprint a cada iteracin de desarrollo y segn las caractersticas del proyecto y las circunstancias del sprint puede determinarse una duracin desde una semana hasta dos meses, aunque no suele ser recomendable hacerlos de ms de un mes. El sprint es el ncleo central que proporciona la base de desarrollo iterativo e incremental.

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 5

Como se ve a continuacin al tratar los componentes del ciclo, a los requisitos generales del sistema, se les llama "pila del producto" o "product backlog", y a los requisitos especficos de un sprint "pila del sprint" "sprint backlog" si se prefiere la expresin inglesa. El producto final se construye a travs de pequeos ciclos. A los requisitos generales del sistema, se les llama "pila del producto" o "product backlog", En un ciclo Scrum intervienen los siguientes componentes: Pila del producto o product backlog. Pila del sprint o sprint backlog. Incremento Se realiza el seguimiento a travs de la comunicacin en tres reuniones principales: Planificacin del sprint Seguimiento diario Revisin del sprint Las personas que participan en el proyecto lo hacen en uno de los roles siguientes: Propietario del producto Equipo Interesados Scrum Manager (generalmente cuando la implantacin de scrum no es muy madura)

Cul o cules de las siguientes afirmaciones son ciertas? Las reuniones de un ciclo scrum son: seguimineto diario, revisin del sprint y planificacin del sprint. Los componentes de un ciclo scrum son: Pila del producto, Pila del sprint e incremento. Los roles posibles en un ciclo scrum son: propietario del producto y equipo. Planificacin del sprint Jornada de trabajo previa al inicio de cada sprint en la que se determina cul va a ser el trabajo y los objetivos que se deben conseguir en la iteracin. Seguimiento del sprint Breve revisin diaria, en la que cada miembro describe tres cuestiones: 1.- El trabajo que realiz el da anterior. 2.- El que tiene previsto realizar. 3.- Cosas que puede necesitar o impedimentos que deben suprimirse para realizar el trabajo. Cada persona actualiza en la pila del sprint el tiempo pendiente de sus tareas, y con esta informacin se actualiza tambin el grfico con el que el equipo monitoriza el avance del sprint (burn-down)

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 6

Revisin del sprint 1.- Anlisis y revisin del incremento generado. 2.- Retrospectiva de lecciones aprendidas para mejorar la implementacin de scrum en la organizacin. La reunin para monitorizar y realizar el seguimiento de las tareas del sprint es: Reunin de seguimiento del sprint. Reunin de planificacin del sprint. Reunin de revisin del sprint.

Pila del producto(product backlog) lista de requisitos de usuario que a partir de la visin inicial del producto crece y evoluciona durante el desarrollo. Las caractersticas de los requisitos de la pila del producto son: Simples: Expresados de forma breve, con una sentencia para cada uno, habitualmente con formato de historia de usuario o similar. Estimados: Est estimado el esfuerzo de construccin de cada requisito. Priorizados: Ordenados segn la importancia para el cliente o responsable de la lista. Pila del sprint (sprint backlog) lista de los trabajos que debe realizar el equipo durante el sprint para generar el incremento previsto. Para cada una registra la informacin: Descripcin breve. Persona que la tiene asignada. Esfuerzo pendiente para terminarla. Incremento Parte de producto construida en una iteracin, completamente operativa, probada y documentada.

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 7

Las caractersticas de cada elemento de la pila del producto son: Trazable, verificable e incluido en la lnea base de la gestin de la configuracin del proyecto. Descripcin breve, asignada a una persona, indicacin del esfuerzo pendiente para terminarlo. Descripcin breve, estimacin del esfuerzo necesario para realizarlo, ordenado segn la prioridad del cliente. Todas las personas que intervienen, o tienen relacin directa o indirecta con el proyecto, se clasifican en dos grupos: comprometidos e implicados. En crculos de Scrum es frecuente llamar a los primeros (sin ninguna connotacin peyorativa) cerdos y a los segundos gallinas. El origen de estos nombres es esta metfora que ilustra de forma grfica la diferencia entre compromiso e implicacin con el proyecto: Una gallina y un cerdo paseaban por la carretera. La gallina pregunt al cerdo: Quieres abrir un restaurante conmigo?. El cerdo consider la propuesta y respondi: S, me gustara. Y cmo lo llamaramos?. La gallina respondi: Jamn con huevos. El cerdo se detuvo, hizo una pausa y contest: Pensndolo mejor, creo que no voy a abrir un restaurante contigo. Yo estara realmente comprometido, mientras que tu estaras slo implicada. COMPROMETIDOS (Cerdos) Propietario del producto Equipo IMPLICADOS (Gallinas) Otros interesados (Direccin general, Direccin comercial, Marketing, Usuarios...)

Propietario del producto: es la persona responsable de lograr el mayor valor de producto para los clientes, usuarios y resto de implicados. Equipo de desarrollo: grupo o grupos de trabajo que desarrollan el producto. Scrum Manager: Responsable del funcionamiento de la metodologa Scrum en la organizacin.

Tpicos Avanzados Ing. Sistemas

Ing. Hesmeralda Rojas Enriquez 8

Algunas implementaciones de modelo Scrum, consideran el rol de gestor de Scrum como comprometido y necesario (ScrumMaster) Con el criterio de Scrum Management, es recomendable que las responsabilidades que cubre este rol, estn identificadas en una nica persona cuando se comienzan a aplicar prcticas de Scrum en una organizacin. Su responsabilidad es lograr la mejor implantacin de la agilildad con ciclos Scrum en la organizacin. En organizaciones giles maduras puede tener menos sentido la presencia de un experto. En cualquier caso, las responsabilidades de Scrum Manager no son del proyecto, sino del grupo de procesos y mtodos de la organizacin, y su mbito es toda la empresa, por lo que no debe considerarse ni cerdo ni gallina de un proyecto. Los roles "comprometidos" en un proyecto son: El equipo y el propietario del producto. Las respectivas direcciones: del cliente y de la empresa de desarrollo. Scrum Manager y Propietario del producto

Un campo de scrum no se implementa a travs de unas prcticas determinadas, sino a travs de unos valores determinados. Scrum es una carrocera que da forma a los principios giles. Es una ayuda para organizar a las personas y el flujo de trabajo; como lo pueden ser otras propuestas de formas de trabajo gil: Crystal, DSDM, etc. La carrocera sin motor, sin los valores que dan sentido al desarrollo gil, no funciona: Delegacin de atribuciones (empowerment) al equipo para que pueda auto-organizarse y tomar las decisiones sobre el desarrollo. Respeto entre las personas. Los miembros del equipo deben confiar entre ellos y respetar sus conocimientos y capacidades. Responsabilidad y auto-disciplina (no disciplina impuesta). Trabajo centrado en el desarrollo de lo comprometido Informacin, transparencia y visibilidad del desarrollo del proyecto Cul de las siguientes afirmaciones es correcta?: Una implementacin de scrum no consiste en aplicar valores, sino las prcticas concretas que hacen que scrum funcione. Una implementacin es gil por los valores de base del equipo, y no por las prcticas que emplean.

CAPTULO IIIRoles y responsabilidades para la ejecucin del proyectoEl grado de xito de Scrum Management en una empresa no depende slo de los roles y las responsabilidades directamente relacionadas con el desarrollo de los proyectos (cliente y equipo). Las organizaciones son realidades sistmicas, inter-relacionadas, y a pesar que el curso slo cubre las prcticas de Scrum en el mbito de la gestin de proyecto, vemos en esta introduccin los roles implicados directamente en la ejecucin del proyecto o solucin tcnica, y el rea directiva o de management de la organizacin. El conjunto de responsabilidades que se deben cubrir de forma coordinada y alineada con la visin de la organizacin, se clasifican en las tres categoras siguientes: