Está en la página 1de 16

Universidad Central de Chile Facultad de Ciencias Fsicas y Matemticas Escuela de Ingeniera Civil en Computacin e Informtica

Trabajo de Investigacin Metodologa de Desarrollo de Software SCRUM

Integrantes: Edgar Henrquez Nicols Moncada Sebastin Moya Csar Soto Asignatura: Ingeniera de Software Profesor: Fecha: Jorge Cornejo 25/05/2010

ndice
I Presentacin de la Metodologa Scrum_________________________________________3

II

Historia de Scrum ___________________________________________________________3

III

Objetivos de la Metodologa Scrum ____________________________________________4

IV

Descripcin de la Metodologa Scrum________________________________________5-8

1. Roles de Scrum. 2. Etapas de Scrum.


3. Herramientas.

Caractersticas Principales de la Metodologa Scrum_____________________________9

VI

Ciclo de Vida de Scrum ___________________________________________________9-10

VII

Ventajas y Desventajas________________________________________________11

VIII

Comparativa Scrum con XP_____________________________________________12

IX

Comentarios y Opiniones Personales_____________________________________13

Bibliografa__________________________________________________________14

Presentacin de la Metodologa SCRUM es una metodologa gil de desarrollo de software basada en un conjunto de elementos, roles y procesos especialmente enfocados para proyectos cuyo cliente no tiene muy claro lo que quiere, se necesitan resultados pronto o donde el proyecto es susceptible a cambios en los requerimientos. Una explicacin general segn www.proyectoagiles.org: En Scrum se realizan entregas parciales y regulares del producto final, priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum est especialmente indicado para proyectos en entornos complejos, donde se necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovacin, la competitividad, la flexibilidad y la productividad son fundamentales. A continuacin se dar a conocer en detalle la historia de Scrum, lo que pretende esta metodologa, su descripcin, sus caractersticas, ciclo de vida, ventajas y desventajas comparado con otras metodologas y ejemplos de su aplicacin en casos reales y exitosos.

Historia de Scrum: El concepto de Scrum tiene su origen en un estudio de 1986 sobre los nuevos procesos de desarrollo utilizados en productos exitosos en Japn y los Estados Unidos (cmaras de fotos de Canon, fotocopiadoras de Xerox, automviles de Honda, ordenadores de HP y otros). Los equipos que desarrollaron estos productos partan de requisitos muy generales, as como novedosos, y deban salir al mercado en mucho menos del tiempo del que se tard en lanzar productos anteriores. Estos equipos seguan patrones de ejecucin de proyecto muy similares. En este estudio se comparaba la forma de trabajo de estos equipos altamente productivos y multidisciplinares con la colaboracin entre los jugadores de Rugby y su formacin de Scrum (mel en espaol).

Figura 1 Formacin mel de un juego de Rugby, donde se sac el concepto Scrum.

Desde 1995 miles de proyectos en todo el mundo han utilizado Scrum para el desarrollo de productos, tanto en empresas pequeas, startups con tan slo 5 personas desarrollando un producto, como en multinacionales, entre las que se encuentran las siguientes:

Sectores

Ejemplos de empresas que utilizan metodologas giles como Scrum Media y Telcos BBC, BellSouth, British Telecom, DoubleYou, Motorola, Nokia, Palm, Qualcomm, Schibsted, Sony/Ericsson, Telefonica I+D, TeleAtlas, Verizon Software, Adobe, Autentia, Biko2, Central Desktop, Citrix, Gailn, IBM, Intel, Hardware Microfocus, Microsoft, Novell, OpenView Labs, Plain Concepts, Primavera, Proyectalis, Softhouse, Valtech, VersionOne. Internet Amazon, Google, mySpace, Yahoo ERP SAP Banca e Inversin Bank of America, Barclays Global Investors, Key Bank, Merrill Lynch Sanidad y Salud Patientkeeper, Philips Medical Defensa y Boeing, General Dynamics, Lockheed Martin Aeroespacial Juegos Blizzard, High Moon Studios, Crytek, Ubisoft Otros 3M, Bose, GE, UOC

En la actualidad, Scrum se est utilizando en diferentes tipos de negocio y, especialmente, en el desarrollo de software. La Scrum Alliance es la organizacin sin nimo de lucro que se encarga de difundir Scrum en este mbito.

Objetivos de la Metodologa Scrum:

1) Mostrar constantemente resultados al cliente para hacerlo partcipe en el desarrollo del


producto y as garantizar un resultado esperado.

2) Adaptarse a los cambios que se pueden producir en los requerimientos, ya que esto permite
no causar retardo en la produccin.

3) Asegurar trabajo continuo del equipo de desarrollo, evitando retrasos e imprevistos.


4) El responsable de los procesos (Scrum manager) obtiene feedback sobre buenas prcticas que se empleen en la ingeniera de procesos y mejora continua.

Descripcin de la Metodologa: Como se haba explicado anteriormente, Scrum se compone de roles, etapas y herramientas para su aplicacin, de los cuales se explicarn en detalle:

1. Roles de SCRUM:
Los roles de SCRUM se dividen en dos: los Cerdos y las Gallinas. Esta clasificacin nace del siguiente chiste: Un cerdo y una gallina van caminando por la carretera. La gallina le dice al cerdo: -Oye, por qu no abrimos un restaurante? El cerdo se vuelve y le responde: -Buena idea, cmo quieres que lo llamemos? La gallina se lo piensa y propone: -Por qu no lo llamamos Huevos con jamn. -No cuentes conmigo -responde el cerdo-. En ese caso, t slo estaras IMPLICADO, mientras que yo estara realmente COMPROMETIDO. Por lo que los roles de SCRUM estn divididos en Implicados y Comprometidos.

Cerdos:

Product Owner: Es el representante de todos los interesados en el resultado final del


producto (la voz de cliente). l pone el punto de vista de negocio del proyecto y es quien escribe la Historia del usuario, que son unas tarjetas sencillas donde se escribe Qu es lo que se quiere hacer. Entre varias de estas tarjetas, el Product Owner elige la que se considere con mayor prioridad y la pega en el Product Backlog (Lista de requisitos priorizada), con ello, el equipo sabe qu se debe hacer ahora y enfocarse en ello.

ScrumMaster (Facilitador): Es quien se encarga de facilitar el andar y correcta


implementacin del SCRUM dentro de su equipo de trabajo. No es el lder del grupo, sino ms bien, el moderador que se encarga de que todas las reglas puestas por el equipo se cumplan y as evitar percances (que se cumplan las labores asignadas a cada miembro, que se realice el requisito pegado en el Product Backlog, que se cumplan los plazos, etc.).

Team (Equipo): Es un grupo auto-organizado y multidisciplinar compuesto de


aproximadamente 5 a 9 personas, quienes se encargan de desarrollar lo propuesto en el Product Backlog dentro de un plazo establecido.

Gallinas: Son personas que no son parte del SCRUM, sin embargo son considerados como roles del mismo pues son parte importante en el desarrollo de esta metodologa ya que debe existir una comunicacin constante con ellos para que el proyecto resulte fructfero.

Usuarios: Usuario final del producto desarrollado. Es decir, son quienes usarn
finalmente el producto.

Stakeholders (Cliente y Vendedores): Es quiz la Gallina ms importante. Es quien


ganar beneficio del producto desarrollado y quien debe revisar que el resultado final es el que realmente se esperaba. Participan activamente en la revisin de Sprint.

2. Etapas de SCRUM:

Sprint Planning (Planificacin de la Iteracin): Es la etapa previa al Sprint, donde se planifican los requerimientos que entrarn en el mismo, las tareas asignadas a cada miembro, objetivos a cumplir dentro del Sprint, su duracin, etc. Sprint: Es la ejecucin de la iteracin previamente planeada. Scrum Daily Meeting: Es la reunin diaria de sincronizacin del equipo. Tiene una duracin mxima de 30 minutos y cada integrante del equipo debe realizarse tres preguntas: Qu he hecho desde la ltima reunin? Qu voy a hacer hoy? Qu ayuda necesito? Sprint Demonstration: Es la demostracin de los requisitos completados luego del Sprint. Sprint Retrospective: Anlisis retrospectivo del Sprint ocurrido para evaluar qu se hizo bien y qu no dentro del mismo. Replanificacin del Proyecto: Luego de cada evaluacin de Sprint, comienza la

replanificacin del proyecto, el cual consiste en planear las siguientes iteraciones. 3. Herramientas:

Product Backlog: Lista de requisitos priorizados a realizar.

Sprint Backlog: Lista de tareas a realizar en iteracin (Sprint). Ejemplo de Sprint Backlog:

Burndown Chart: Grficos de trabajos pendientes. Se pueden utilizan los siguientes grficos de esfuerzo pendiente:

Das pendientes para completar los requisitos del producto o proyecto (product
burndown chart), realizado a partir de la lista de requisitos priorizada (Product Backlog).

Horas pendientes para completar las tareas de la iteracin (sprint burndown chart),
realizado a partir de la lista de tareas de la iteracin (Iteration Backlog)

Scrum Taskboard: La lista de objetivos a completar en la iteracin tambin se puede gestionar mediante un tabln de tareas (scrum taskboard). Al lado de cada objetivo se ponen las tareas necesarias para completarlo, en forma de post-its, y se van moviendo hacia la derecha para cambiarlas de estado (pendientes de iniciar, en progreso, hechas).

Caractersticas principales de la Metodologa:

El desarrollo incremental de los requisitos del proyecto en bloques temporales cortos y fijos (iteraciones de un mes natural y hasta de dos semanas, si as se necesita). La priorizacin de los requisitos por valor para el cliente y coste de desarrollo en cada iteracin. El control emprico del proyecto. Por un lado, al final de cada iteracin se demuestra al cliente el resultado real obtenido, de manera que pueda tomar las decisiones necesarias en funcin de lo que observa y del contexto del proyecto en ese momento. Por otro lado, el equipo se sincroniza diariamente y realiza las adaptaciones necesarias. La potenciacin del equipo, que se compromete a entregar unos requisitos y para ello se le otorga la autoridad necesaria para organizar su trabajo. La sistematizacin de la colaboracin y la comunicacin tanto entre el equipo y como con el cliente. El timeboxing de las actividades del proyecto, para ayudar a la toma de decisiones y conseguir resultados.

Ciclo de Vida de SCRUM:

1. Al inicio del ciclo de vida de Scrum, se define una lista de requerimientos priorizados y se ponen
en el Product Backlog.

2. En base a los requerimientos del Product Backlog, se hace un Sprint Planning Meeting, donde
se planifica qu se har durante el Sprint venidero. El resultado de dicha reunin, devuelve un Sprint Goal, que es el objetivo a alcanzar del Sprint.

3. El resultado del Sprint Planning Meeting (es decir, el Sprint Goal) es expuesto en el Sprint
Backlog, donde comienza la iteracin. Su duracin total suele ser de 2 a 4 semanas aprox. divididas en pequeas reuniones diarias (o Daily Scrum Meeting, mencionado anteriormente) de aproximadamente 15 a 30 minutos.

4. Al finalizar el Sprint, se hace un Sprint Review (o Sprint Demonstration), que es una reunin de
no ms de 2 horas donde se expone todo lo que se realiz durante el Sprint. A estas alturas, se debe tener algo real y tctil de lo que requiere el cliente. A esta reunin suele estar el Cliente, el Product Owner, el Scrum Master y el Team, donde los ltimos exponen los avances.

5. Tras el Sprint Review, se realiza el Sprint Retrospective, donde el Product Owner evalua, junto
con su equipo, si se cumplieron los objetivos planteados. Se realiza un anlisis de los aspectos positivos y negativos para que en una prxima iteracin no se cometan los mismos errores o se siga con la misma idea. 6. Se comienza con la siguiente iteracin, donde se continua con los siguientes requerimientos a plantear en el Product Backlog para reiniciar el ciclo de vida.

Ventajas y Desventajas Ventajas: Gracias a la comunicacin constante con el cliente y a su evaluacin luego de cada Sprint, se puede tener una expectativa ms acertada y predictiva de lo que realmente necesita el cliente, teniendo gestin y decisin en ello. Se puede iniciar un proyecto con requerimientos de alto nivel y no tan bien detallados ya que cada uno de dichos requerimientos sern iterados varias veces antes de finalizarlos. Esto implica que pueden ser pulidos fcilmente con el avanzar del proyecto. El cliente puede tener resultados reales, visibles y usables desde las primeras iteraciones. Reaccin rpida a los cambios, ya que tras cada iteracin, el cliente revisa y devuelve un Feedback, el cual se utiliza para planificar los cambios venideros y continuar del flujo normal de SCRUM sin procesos extra metodolgicos. Como mximo, el cliente slo podra perder los recursos invertidos en una iteracin, no as de todo el proyecto, gracias al Feedback obtenido. Como el cliente constantemente regresa un Feedback al equipo, desde las primeras iteraciones ya se tiene nocin de la viabilidad del proyecto, con lo cual, el cliente tiene la oportunidad de cambiar algunos requerimientos con anterioridad, aadir ms equipo, quitar otros, etc. Desde las primeras iteraciones, el cliente se puede anticipar a los riesgos que podran afectar al desarrollo del producto. Es incremental la calidad del producto final debido a las constantes iteraciones existentes

Desventajas: Es recomendable para proyectos cortos debido a las reuniones diarias. Al ser extremadamente intensivo, suele ser cansador.

Comparativa Scrum con XP. Programacin extrema (XP), al igual que Scrum, es una metodologa gil y el parecido que tienen son que ambas realizan continuamente entregas al cliente en cortos periodos de tiempo y las reuniones exprs, normalmente de pie, entre los miembros del equipo de desarrollo. A continuacin una tabla comparativa de Scrum y XP:

Scrum
Las iteraciones de entrega son de dos a cuatro semanas y se conocen como sprint. Al finalizar un sprint, las tareas que se han realizado del Sprint Backlog y en las que el Product Owner ha mostrado su conformidad ya no se vuelven a tocar en ningn momento. "Lo que se termina, funciona y est bien, se aparta y no se toca". Cada miembro del Scrum Team trabaja de forma individual El Scrum Team trata de seguir el orden de prioridad que marca el Product Owner en el Sprint Backlog pero si ven que es mejor modificar el orden de prioridad para el desarrollo de las tareas, pueden hacerlo.

XP
Las iteraciones de entrega son de una a tres semanas.

Las tareas que se van terminando en las diferentes entregas al cliente son susceptibles a modificaciones durante el transcurso de todo el proyecto, incluso despus de que funcionen correctamente. Los miembros programan en pareja en un proyecto de XP. El equipo de desarrollo sigue estrictamente el orden de prioridad de las tareas definido por el cliente (aunque el equipo de desarrollo les ayude a decidir, ellos son los que mandan).

En cambio, el XP se centra ms El Scrum es una metodologa de en la propia programacin o desarrollo gil mas basada en la creacin del producto, aunque administracin del proyecto tambin abarca administracin del proyecto.

Comentarios y Opiniones Personales:

Scrum puede ser contraproducente si se utiliza por periodos largos, ya que al ser muy persistente puede agotar a los miembros de un equipo de trabajo.

Por su mtodo de trabajo, no sera recomendable usarlo en empresas donde cuenten con
grandes equipos, mayor que 8 personas. Lo bueno, para el equipo, es que esta metodologa evita que haya un miembro que no trabaje ya que, atreves de las reuniones diarias, obliga a la persona estar activa y entregar resultados constantemente.

Scrum puede utilizarse en conjunto con otras metodologas como Extreme Programming,
(XP). Por lo general Scrum es una metodologa orientada la administracin de proyectos en general y deja de lado otras actividades como las que tienen relacin con ingeniera, donde metodologas como XP implementan mejor las prcticas giles. Scrum es ideal para utilizarse donde otras metodologas han fallado antes y para rescatar proyectos que han fracasado por algn motivo.

Bibliografa: Web: o o o www.scrumalliance.org www.mountaingoatsoftware.com/scrum www.agilealliance.org

Libro:

o Scrum and The Enterprise por Ken Schwaber

También podría gustarte