Metodologia Scrum

21
SCRUM UNIVERSIDAD NACIONAL DE HUANCAVELICA FACULTAD DE INGENIERIA ELECTRONICA - SISTEMAS E.A.P. DE INGENIERÍA DE SISTEMAS CATEDRA : TALLER DE INGENIERÍA DE SOFTWARE I CATEDRÁTICO : MG. ROBERTO J. MACETAS RODRÍGUEZ ESTUDIANTES : ALIAGA ROJAS, WILLIAM : ARIAS PALOMINO, TANIA : GARCÍA BETALLELUZ, MANUEL : MATAMOROS HUAMAN, WILMER : QUICHCA SOTACURO JOEL CICLO : VII PAMPAS – 2015

description

LA METODOLOGIA DE SRUM

Transcript of Metodologia Scrum

SCRUM

UNIVERSIDAD NACIONAL DE HUANCAVELICAFACULTAD DE INGENIERIA ELECTRONICA - SISTEMASE.A.P. DE INGENIERA DE SISTEMAS

CATEDRA: TALLER DE INGENIERA DE SOFTWARE ICATEDRTICO: MG. ROBERTO J. MACETAS RODRGUEZESTUDIANTES: ALIAGA ROJAS, WILLIAM: ARIAS PALOMINO, TANIA: GARCA BETALLELUZ, MANUEL: MATAMOROS HUAMAN, WILMER: QUICHCA SOTACURO JOELCICLO: VII

PAMPAS 2015

UNIVERSIDAD NACIONAL DE HUANCAVELICA14

ESCUELA ACADMICO PROFESIONAL DE INGENIERA DE SISTEMAS

SCRUM|

DEDICATORIAA dios, a nuestros padres, quienes nos brindaron desinteresadamente la oportunidad para que podamos adquirir esta noble profesin.

Los estudiantes

TABLA DE CONTENIDOINTRODUCCIN1HISTORIA1SCRUM2CARACTERSTICAS3CONTROL DE LA EVOLUCIN DEL PROYECTO5VISIN GENERAL DEL PROCESO5LOS ROLES7VALORES8PRCTICAS9VISION GENERAL MODELO10CONCLUSIN11REFERENCIA BIBLIOGRFICA12

INTRODUCCIN

Scrum es, actualmente, uno de los mtodos giles para desarrollo de software de mayor difusin en la industria, junto con Extreme Programming (XP). Su nombre proviene del rugby, deporte en el que un scrum es una jugada que per-mite reiniciar el juego luego de una falta accidental. La eleccin del nombre busca rescatar el principio de traba-jo en equipo que se observa en un scrum de rugby: va-ros jugadores se toman de los hombros y se esfuerzan para lograr por s solos y rpidamente un objetivo comn, que consiste en aduearse de la pelota y llevarla hacia delante. Scrum es un proceso gil que se puede usar para gestionar y controlar desarrollos complejos de software y productos usando prcticas iterativas e incrementales.

Scrum es un proceso incremental iterativo para desarrollar cualquier producto o gestionar cualquier trabajo.Aunque Scrum estaba previsto que fuera para la gestin de proyectos de desarrollo de software, se puede usar tambin para la ejecucin de equipos de mantenimiento de software o como un enfoque de gestin de programas.

HISTORIA

En 1986, Hirotaka Takeuchi e Ikujiro Nonaka describieron un enfoque integral que incrementaba la velocidad y flexibilidad del desarrollo de nuevos productos comerciales. Compararon este nuevo enfoque integral, en el que las fases se solapan fuertemente y el proceso entero es llevado a cabo por un equipo multifuncional a travs de las diferentes fases, al rugby, donde todo el equipo trata de ganar distancia como una unidad y pasando el baln una y otra vez. En 1991, DeGrace y Stahl hicieron referencia a este enfoque como Scrum, un trmino de rugby mencionado en el artculo de Takeuchi y Nonaka. A principios de 1990s, Ken Schwaber us un enfoque que gui a Scrum a su compaa, Mtodos de Desarrollo Avanzados. Al mismo tiempo, Jeff Sutherland desarroll un enfoque similar en Easel Corporation y fue la primera vez que se llam Scrum. En 1995 Sutherland y Schwaber presentaron de forma conjunta un artculo describiendo Scrum en OOPSLA 95 en Austin, su primera aparicin pblica. Schwaber y Sutherland colaboraron durante los siguientes aos para unir los artculos, sus experiencias y las mejores prcticas de la industria en lo que ahora se conoce como Scrum. En 2001, Schwaber se asoci con Mike Beedle para poner en limpio el mtodo en el libro Agile Software Devlopment with Scrum.

SCRUM

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. Scrum es una metodologa gil, y como tal: Es un modo de desarrollo de carcter adaptable ms que predictivo. Orientado a las personas ms que a los procesos. Emplea la estructura de desarrollo gil: incremental basada en iteraciones y revisiones. (V. Navegapolis: Gestin de proyectos gil: conceptos bsicos Estructura del desarrollo gil).

Se comienza con la visin general del producto, especificando y dando detalle a las funcionalidades o partes que tienen mayor prioridad de desarrollo y que pueden llevarse a cabo en un periodo de tiempo breve (normalmente de 30 das). Cada uno de estos periodos de desarrollo es una iteracin que finaliza con la produccin de un incremento operativo del producto. Estas iteraciones son la base del desarrollo gil, y Scrum gestiona su evolucin a travs de reuniones breves diarias en las que todo el equipo revisa el trabajo realizado el da anterior y el previsto para el da siguiente.

CARACTERSTICAS

Scrum es un esqueleto de proceso que incluye un conjunto de prcticas y roles predefinidos. Los roles principales en Scrum son el ScrumMaster que mantiene los procesos y trabaja junto con el jefe de proyecto, el Product Owner que representa a las personas implicadas en el negocio y el Team que incluye a los desarrolladores.Durante cada iteracin (sprint- periodos de tiempo), tpicamente un periodo de 2 a 4 semanas (longitud decidida por el equipo), el equipo crea un incremento de software operativo. El conjunto de caractersticas que entra en una iteracin viene del backlog del producto, que es un conjunto priorizado de requisitos de trabajo de alto nivel que se han de hacer. Los tems que entran en una iteracin se determinan durante la reunin de planificacin de la iteracin. Durante esta reunin, el Product Owner informa al equipo de los tems en el backlog del producto que quiere que se completen. El equipo determina entonces a cuanto de eso puede comprometerse a completar durante la siguiente iteracin. Durante una iteracin, nadie puede cambiar el backlog de la iteracin, lo que significa que los requisitos estn congelados para esa iteracin. Cuando se completa una iteracin, el equipo demuestra el uso del software. Scrum permite la creacin de equipos con propia organizacin fomentando la localizacin conjunta de todos los miembros del equipo y la comunicacin verbal entre todos los miembros del equipo y las disciplinas implicadas en el proyecto.Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden cambiar sus pensamientos sobre lo que quieren y necesitan, y de que los desafos que no se pueden predecir no se pueden tratar fcilmente de una forma predictiva o planificada tradicional. Por esto, Scrum adopta un enfoque emprico, aceptando que el problema no se puede entender o definir completamente, centrndose en cambio en maximizar las habilidades del equipo para entregar rpidamente y responder a los requisitos emergentes. Una de las mayores ventajas de Scrum es que es muy fcil de entender y requiere poco esfuerzo para comenzar a usarse. Una parte muy importante de Scrum son las reuniones que se realizan durante cada una de las iteraciones. Hay distintos tipos: Scrum diario: cada da durante la iteracin, tiene lugar una reunin de estado del proyecto. A esta reunin se le domina Scrum. Reunin de planificacin de iteracin (sprint): se lleva a cabo al principio del ciclo de la iteracin. Reunin de revisin de iteracin: al final del ciclo de la iteracin. Iteracin retrospectiva: al final del ciclo de la iteracin.

CONTROL DE LA EVOLUCIN DEL PROYECTO Scrum controla de forma emprica y adaptable la evolucin del proyecto, empleando las siguientes prcticas de la gestin gil: Revisin de las Iteraciones: Al finalizar cada iteracin (normalmente 30 das) se lleva a cabo una revisin con todas las personas implicadas en el proyecto. Este es el periodo mximo que se tarda en reconducir una desviacin en el proyecto o en las circunstancias del producto. Desarrollo incremental: Durante el proyecto, las personas implicadas no trabajan con diseos o abstracciones. El desarrollo incremental implica que al final de cada iteracin se dispone de una parte del 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 producto 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. En Scrum se toma a la inestabilidad como una premisa, y se adoptan tcnicas de trabajo para permitir esa evolucin sin degradar localidad de la arquitectura que se ir generando durante el desarrollo.El desarrollo Scrum va generando el diseo y la arquitectura final de forma evolutiva durante todo el proyecto. 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: Durante el desarrollo de un proyecto son muchos los factores impredecibles que surgen 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 su rol o su puesto.

VISIN GENERAL DEL PROCESO

Scrum denomina sprint a cada iteracin de desarrollo y recomienda realizarlas con duraciones de 30 das. El sprint es por tanto el ncleo central que proporciona la base de desarrollo iterativo e incremental.

Los elementos que conforman el desarrollo Scrum son: Las reuniones Planificacin de 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 cumplir en esa iteracin. Reunin diaria: Breve revisin del equipo del trabajo realizado hasta la fecha y la previsin para el da siguiente. Revisin de sprint: Anlisis y revisin del incremento generado.

Los elementos Pila del producto: lista de requisitos de usuario que se origina con la visin inicial del producto y va creciendo y evolucionando durante el desarrollo. Pila del sprint: Lista de los trabajos que debe realizar el equipo durante el sprint para generar el incremento previsto. Incremento: Resultado de cada sprint

LOS ROLES

Scrum clasifica a todas las personas que intervienen o tienen inters en el desarrollo del proyecto en: propietario del producto, equipo, gestor de Scrum (tambin Scrum Manager o Scrum Master) y otros interesados.Los tres primeros grupos (propietario, equipo y gestor) son los responsables del proyecto, los que segn la comparacin siguiente (y sin connotaciones peyorativas) seran los cerdos; mientras que el resto de interesados seran las gallinas. Cerdos y gallinas.Esta metfora ilustra de forma muy grfica la diferencia de implicacin en el proyecto entre ambos grupos: Una gallina y un cerdo paseaban por la carretera.La gallina dijo al cerdo: Quieres abrir un restaurante conmigo. El cerdo consider la propuesta y respondi: S, me gustara. Y cmo lo llamaramos?. La gallina respondi: Huevos con beicon.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)IMPLICADOS(GALLINAS)

Propiet. Del productoEquipoScrum ManagerOtros interesados(Direccin general, Direccin comercial, Marketing Usuarios, etc)

Propietario del producto: El responsable de obtener 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: gestor de los equipos que es responsable del funcionamiento de la metodologa Scrum y de la productividad del equipo de desarrollo.VALORES

Scrum es una carrocera para dar 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: Cristal, 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

PRCTICAS

A continuacin se enumeran algunas de las prcticas de Scrum: Los clientes se convierten en parte del equipo de desarrollo. Scrum tiene frecuentes entregables intermedios con funcionalidad que funciona, como otras formas de procesos de software giles. Esto permite al cliente conseguir trabajar con el software antes y permite al proyecto cambiar los requisitos de acuerdo con las necesidades. Se desarrollan planes de riesgos y mitigacin frecuentes por parte del equipo de desarrollo, la mitigacin de riesgos, la monitorizacin y la gestin de riesgos se lleva a cabo en todas las etapas y con compromiso. Transparencia en la planificacin y desarrollo de mdulos, permitir a cada uno saber quin es responsable de qu y cundo. Frecuentes reuniones de las personas involucradas en el negocio para monitorizar el progreso. Debera haber un mecanismo de advertencias avanzado. Los problemas no se han de barrer a debajo de la alfombra. Nadie es penalizado por reconocer o describir un problema imprevisto.

VISION GENERAL MODELO

CONCLUSIN

Respecto a Scrum y los pasos que nos indica son la base para la ejecucin gil, si no tenemos experiencia en la direccin de proyectos son el mejor punto de partida que posteriormente podremos adaptar a nuestro entorno y experiencia. La herramienta que nos proporciona pueda resultar un poco abstracta y complejas. En particular la descomposicin de los objetivos en historia de usuarios totalmente independientes y con un lenguaje coloquial, compartido por el Product Owner y el equipo. La descomposicin de las historias en tareas independientes nos ayuda a organizar el trabajo en equipo, la descomposicin en tareas ha resultado un aspecto bastante abstracto. Viniendo de las metodologas tradicionales en las que no se hace referencia a estos conceptos, es complicado descomponer las funcionalidades en tareas totalmente independientes sin una experiencia previa, de modo que nos hemos basado en la documentacin previa a partir de la cual tomar nuestras decisiones.

REFERENCIA BIBLIOGRFICA http://www.scrumsense.com http://www.proyectosagiles.org http://www.acis.org.co