Scrum (Desarrollo de Software) | Scrum (Software Development) | Agile Software Development

Please download to get full document.

View again

All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
 20
 
  Educacion
Related documents
Share
Transcript
  Scrum (desarrollo de software) Ciclos de desarrollo.Ficha sinópticaMarco de Trabajo SCRUM  Scrum es el nombre con el que se denomina a los marcosde desarrollo ágiles caracterizados por: ã  Adoptarunaestrategiadedesarrolloincremental,enlugar de la planificación y ejecución completa delproducto. ã  Basar la calidad del resultado más en el conocimien-to tácito de las personas en equipos auto organiza-dos, que en la calidad de los procesos empleados. ã  Solapamiento de las diferentes fases del desarrollo,en lugar de realizar una tras otra en un ciclo secuen-cial o en cascada. 1 Historia Este modelo fue identificado y definido por Ikujiro No-naka e Hirotaka Takeuchi a principios de los 80, al ana-lizar cómo desarrollaban los nuevos productos las princi-pales empresas de manufactura tecnológica: Fuji-Xerox,Canon, Honda, NEC, Epson, Brother, 3M y Hewlett-Packard (Nonaka & Takeuchi, The New New ProductDevelopment Game, 1986).En su estudio, Nonaka y Takeuchi compararon la nuevaforma de trabajo en equipo, con el avance en formaciónde melé (scrum en inglés) de los jugadores de Rugby, araíz de lo cual quedó acuñado el término “scrum” parareferirse a ella.Aunque esta forma de trabajo surgió en empresas de pro-ductos tecnológicos, es apropiada para cualquier tipo deproyecto con requisitos inestables y para los que requie-ren rapidez y flexibilidad, situaciones frecuentes en eldesarrollo de determinados sistemas de software.En 1995, Ken Schwaber presentó “Scrum DevelopmentProcess” en OOPSLA 95 (Object-Oriented Program-ming Systems & Applications conference)(SCRUM De-velopment Process), un marco de reglas para desarrollode software, basado en los principios de Scrum, y que élhabía empleado en el desarrollo de Delphi, y Jeff Suther-land en su empresa Easel Corporation (compañía que enlos macrojuegos de compras y fusiones, se integraría enVMARK, y luego en Informix y finalmente en AscentialSoftware Corporation). 2 Características de Scrum SCRUM es un modelo de referencia que define un con-junto de prácticas y roles, y que puede tomarse comopunto de partida para definir el proceso de desarrollo quese ejecutará durante un proyecto. Los roles principalesen Scrum son el  Scrum Master  , que procura facilitar laaplicación de scrum y gestionar cambios, el  Product Ow-ner  , que representa a los  stakeholders  (interesados exter-nos o internos), y el  Team  (equipo) que ejecuta el desa-rrollo y demás elementos relacionados con él. Durantecada  sprint  , un periodo entre una y cuatro semanas (la1  2  4 REUNIONES EN SCRUM  magnitud es definida por el equipo y debe ser lo máscorta posible), el equipo crea un incremento de softwa-re  potencialmente entregable  (utilizable). El conjunto decaracterísticas que forma parte de cada sprint viene del Product Backlog , que es un conjunto de requisitos de altonivel priorizados que definen el trabajo a realizar (PBI,Product Backlog Item). Los elementos del  Product Bac-klog  que forman parte del sprint se determinan durante lareunión de  Sprint Planning . Durante esta reunión, el  Pro-duct Owner   identifica los elementos del  Product Backlog que quiere ver completados y los hace del conocimien-to del equipo. Entonces, el equipo conversa con el Pro-duct Owner buscando la claridad y magnitud adecuadas(Cumpliendo el INVEST) para luego determinar la can-tidad de ese trabajo que puede comprometerse a comple-tar durante el siguiente sprint. [1] Durante el sprint, nadiepuede cambiar el Sprint Backlog, lo que significa que losrequisitos están congelados durante el sprint.Scrum permite la creación de equipos auto organizadosimpulsando la co-localización de todos los miembros delequipo, y la comunicación verbal entre todos los miem-bros y disciplinas involucrados en el proyecto.Un principio clave de Scrum es el reconocimiento de quedurante un proyecto los clientes pueden cambiar de ideasobre lo que quieren y necesitan (a menudo llamado  re-quirements churn ), y que los desafíos impredecibles nopueden ser fácilmente enfrentados de una forma predic-tiva y planificada. Por lo tanto, Scrum adopta una aproxi-mación pragmática, aceptando que el problema no puedeser completamente entendido o definido, y centrándoseen maximizar la capacidad del equipo de entregar rápi-damente y responder a requisitos emergentes.Las características más marcadas que se logran notaren Scrum serían: gestión regular de las expectativas delcliente, resultados anticipados, flexibilidad y adaptación,retorno de inversión, mitigación de riesgos, productivi-dad y calidad, alineamiento entre cliente y equipo, porúltimo equipo motivado. Cada uno de estos puntos men-cionados hacen que el Scrum sea utilizado de manera re-gular en un conjunto de buenas prácticas para el trabajoen equipo y de esa manera obtener resultados posibles.Existen varias implementaciones de sistemas para gestio-nar el proceso de Scrum, que van desde notas amarillas“post-it” y pizarras hasta paquetes de software. Una delas mayores ventajas de Scrum es que es muy fácil deaprender, y requiere muy poco esfuerzo para comenzarsea utilizar. Así, si se utiliza una pizarra con notas autoad-hesivas cualquier miembro del equipo podrá ver tres co-lumnas: trabajo pendiente (“backlog”), tareas en proceso(“in progress”) y hecho (“done”). De un solo vistazo, unapersona puede ver en qué están trabajando los demás enun momento determinado. [2] 3 Roles en Scrum 3.1 Roles Principales Product Owner  El  Product Owner   representa la voz delcliente. Se asegura de que el equipo Scrum trabajede forma adecuada desde la perspectiva del negocio.El Product Owner escribe historias de usuario, lasprioriza, y las coloca en el Product Backlog. ScrumMaster (o Facilitador)  El  Scrum  es facilitadopor un  ScrumMaster  , cuyo trabajo primario es eli-minar los obstáculos que impiden que el equipo al-cance el objetivo del sprint. El  ScrumMaster   no esel líder del equipo (porque ellos se auto-organizan),sino que actúa como una protección entre el equi-po y cualquier influencia que le distraiga. El Scrum-MasterseaseguradequeelprocesoScrumseutilizacomo es debido. El ScrumMaster es el que hace quelas reglas se cumplan. Equipo de desarrollo  El equipo tiene la responsabili-dad de entregar el producto. Es recomendable unpequeño equipo de 3 a 9 personas con las habili-dades transversales necesarias para realizar el traba-jo (análisis, diseño, desarrollo, pruebas, documen-tación, etc). 3.2 Roles Auxiliares Los roles auxiliares en los “equipos Scrums” son aquellosque no tienen un rol formal y no se involucran frecuen-temente en el “proceso Scrum”, sin embargo deben sertomados en cuenta. Un aspecto importante de una apro-ximación ágil es la práctica de involucrar en el procesoa los usuarios, expertos del negocio y otros interesados(“stakeholders”). Es importante que esa gente participey entregue retroalimentación con respecto a la salida delproceso a fin de revisar y planear cada sprint. Stakeholders (Clientes, Proveedores, Vendedores, etc) Son las personas que hacen posible el proyectoy para quienes el proyecto producirá el beneficioacordado que justifica su desarrollo. Sólo participandirectamente durante las revisiones del “sprint”. Administradores (Managers)  Son los responsables deestablecer el entorno para el desarrollo del proyecto. 4 Reuniones en Scrum 4.1 Daily Scrum o Stand-up meeting Cadadíadeunsprint,serealizala reuniónsobreelestadode un proyecto. Esto se llama  daily standup  o  Stand-upmeeting . El scrum tiene unas guías específicas: ã  La reunión comienza puntualmente a su hora.  4.4 Reunión de Revisión del Sprint (Sprint Review Meeting)  3 ã  Todos son bienvenidos, pero sólo los involucradosen el proyecto pueden hablar. ã  La reunión tiene una duración fija de 15 minutos, deforma independiente del tamaño del equipo. ã  La reunión debe celebrarse en la misma ubicación ya la misma hora todos los días.Durante la reunión, cada miembro del equipo contesta atres preguntas: [3] ã  ¿Qué has hecho desde ayer? ã  ¿Qué es lo que haré hoy? ã  ¿Has tenido algún problema que te haya impedidoalcanzar tu objetivo? (Es el papel del ScrumMasterrecordar estos impedimentos).El objetivo último de las reuniones diarias es que cadamiembro del equipo sepa si se están cumpliendo los pla-zos marcados para el “sprint”. 4.2 Scrum de Scrum Estas reuniones, por lo general, se realizan cuando en laorganizaciónexistanvariosequiposScrum,ylespermitendiscutir su trabajo, enfocándose especialmente en áreasdesolapamientoeintegración.Sehacenormalmentecadadíadespuésdel“DailyScrum”o,comomáximo,cadadosdías.AsisteunapersonaasignadaporcadaequipoScrum.LaagendaserálamismaqueladelDailyScrum,añadien-do, además, las siguientes cuatro preguntas: ã  ¿Qué ha hecho tu equipo desde nuestra últimareunión? ã  ¿Qué hará tu equipo antes que nos volvamos a re-unir? ã  ¿Hay algo que demora o estorba a tu equipo? ã  ¿Estás a punto de poner algo en el camino del otroequipo? 4.3 Reunión de Planificación del Sprint(Sprint Planning Meeting) Al inicio de cada ciclo de Sprint (cada 15 o 30 días), selleva a cabo una  reunión de planificación del Sprint  . Sepretende: ã  Seleccionar qué trabajo se hará. ã  Preparar, con el equipo completo, el Sprint Backlogque detalla el tiempo que llevará hacer el trabajo. ã  Identificar y comunicar cuánto del trabajo es proba-ble que se realice durante el actual Sprint. ã  Realizarse esta planificación en ocho horas comotiempo límite.Al final del ciclo Sprint se celebran dos reuniones más: la reunión de revisión del Sprint   y la  retrospectiva del Sprint  . 4.4 Reunión de Revisión del Sprint (SprintReview Meeting) ã  Revisar el trabajo que fue completado y no comple-tado ã  Presentar el trabajo completado a los interesados(alias “demo”) ã  El trabajo incompleto no puede ser demostrado ã  Cuatro horas como límite 4.5 Retrospectiva del Sprint (Sprint Re-trospective) Después de cada sprint, se lleva a cabo una retrospectivadel propio sprint, en la cual todos los miembros del equi-po dejan sus impresiones sobre el sprint recién superado.El propósito de la retrospectiva es realizar una mejoracontinua del proceso. Esta reunión tiene un tiempo fijode cuatro horas. 5 Sprint El Sprint es el período en el cual se lleva a cabo el traba-jo en sí. Es recomendado que la duración de los sprintssea constante y definida por el equipo con base en su pro-pia experiencia. Se puede comenzar con una duración desprint en particular (2 o 3 semanas) e ir ajustándolo conbase en el ritmo del equipo, aunque sin relajarlo demasia-do. Al final de cada sprint, el equipo deberá presentar losavances logrados, y el resultado obtenido es un productoque, potencialmente, se puede entregar al cliente.Así mismo, se recomienda no agregar objetivos al sprinto  sprint backlog  a menos que su falta amenace al éxitodel proyecto. La constancia permite la concentración ymejora la productividad del equipo de trabajo. 6 Beneficios de Scrum ã  Flexibilidadacambios. Grancapacidadde reacción ante los cambiantes reque-rimientos generados por las necesidadesdel cliente o la evolución del mercado. El  4  9 REFERENCIAS  marco de trabajo está diseñado para ade-cuarse a las nuevas exigencias que impli-can proyectos complejos. ã  Reducción del Time to Market.  Elcliente puede empezar a utilizar las ca-racterísticas más importantes del proyec-to antes de que esté completamente ter-minado. ã  Mayor calidad del software.  El trabajometódico y la necesidad de obtener unaversión de trabajo funcional después decadaiteración,ayudaalaobtencióndeunsoftware de alta calidad. ã  Mayor productividad.  Se logra, entreotras razones, debido a la eliminación dela burocracia y la motivación del equipoproporcionado por el hecho de que pue-den estructurarse de manera autónoma. ã  Maximiza el retorno de la inversión(ROI).  Creación de software solamentecon las prestaciones que contribuyen a unmayor valor de negocio gracias a la prio-rización por retorno de inversión. ã  Predicciones de tiempos.  A través deeste marco de trabajo se conoce la ve-locidad media del equipo por sprint, conlo que es posible estimar de manera fácilcuando se podrá hacer uso de una deter-minada funcionalidad que todavía está enel Backlog. ã  Reducción de riesgos  El hecho de desa-rrollar, en primer lugar, las funcionalida-des de mayor valor y de saber la veloci-dad a la que el equipo avanza en el pro-yecto, permite despejar riesgos efectiva-mente de manera anticipada. [4] 7 Documentos 7.1 Product backlog El  product backlog   se trata como un documento de altonivel para todo el proyecto. Es el conjunto de todos losrequisitos de proyecto, el cual contiene descripciones ge-néricas de funcionalidades deseables, priorizadas segúnsu retorno sobre la inversión (ROI) . Representa el  qué  va a ser construido en su totalidad. Es abierto y solo pue-de ser modificado por el  product owner  . Contiene estima-ciones realizadas a grandes rasgos, tanto del valor para elnegocio, como del esfuerzo de desarrollo requerido. Es-ta estimación ayuda al  product owner   a ajustar la líneatemporal (KEV) y, de manera limitada, la prioridad delas diferentes tareas. Por ejemplo, si dos característicastienen el mismo valor de negocio la que requiera menortiempo de desarrollo tendrá probablemente más priori-dad, debido a que su ROI será más alto. 7.2 Sprint backlog El  sprint backlog  es el subconjunto de requisitos que se-rán desarrollados durante el siguiente sprint. Al definir elsprint backlog, se describe el  cómo  el equipo va a imple-mentar los requisitos durante el sprint. Por lo general losrequisitos se subdividen en tareas, a las cuales se asignanciertas  horas de trabajo  pero ninguna tarea con una du-ración superior a 16 horas. Si una tarea es mayor de 16horas, deberá ser dividida en otras menores. Las tareas enel sprintbacklog nuncasonasignadas,sontomadasporlosmiembrosdelequipodel modoquelesparezcaadecuado. 7.3 Burn down chart La burndownchart  esunagráficamostradapúblicamenteque mide la cantidad de requisitos en el Backlog del pro-yecto pendientes al comienzo de cada Sprint. Dibujan-do una línea que conecte los puntos de todos los Sprintscompletados, podremos ver el progreso del proyecto. Lonormal es que esta línea sea descendente (en casos en quetodo va bien en el sentido de que los requisitos están biendefinidos desde el principio y no varían nunca) hasta lle-garalejehorizontal,momentoenelcualelproyectosehaterminado (no hay más requisitos pendientes de ser com-pletados en el Backlog). Si durante el proceso se añadennuevos requisitos la recta tendrá pendiente ascendente endeterminadossegmentos,ysisemodificanalgunosrequi-sitos la pendiente variará o incluso valdrá cero en algunostramos. 8 Notas [1]  Agile Project Management with Scrum , Ken Schwaber,Microsoft Press, January 2004, 163pp, ISBN 0-7356-1993-X[2] Leader Summaries (ed.). «Resumen del libro Scrum, deJeff Sutherland». Consultado el 25 de enero de 2016.[3] page 135[4] http://www.proyectosagiles.org/beneficios-de-scrum 9 Referencias ã  (PDF) Rising, L., Janoff, N.S. (2000).  The ScrumSoftware Development Process for Small Teams  Re-trieved March 15, 2007 ã  (PDF) Schwaber, K. Advanced Development Met-hods.  SCRUM Development Process  Retrieved July01, 2010
Related Search
We Need Your Support
Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

Thanks to everyone for your continued support.

No, Thanks
SAVE OUR EARTH

We need your sign to support Project to invent "SMART AND CONTROLLABLE REFLECTIVE BALLOONS" to cover the Sun and Save Our Earth.

More details...

Sign Now!

We are very appreciated for your Prompt Action!

x