Is.exp.2.329575

157 views

Published on

Ingenieria de Software

Metodologia SCRUM

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
157
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Is.exp.2.329575

  1. 1. SCRUMIngeniería de SoftwareEquipo No.2 Integrantes Matrícula Morales Miranda Melissa Araceli 329575 Serrano García María de los Angeles 329731 Vela Moreno Jorge Luis 325295 Grupo 361 Profesor Alejandro Gomero Portilla Ensenada Baja California a 18 de Febrero de 2013
  2. 2. ContenidoOrigen de la metodología SCRUM ................................................................................................. 3¿Qué es SCRUM? ........................................................................................................................... 3Como Funciona.............................................................................................................................. 4Roles .............................................................................................................................................. 5Actividades a realizar .................................................................................................................... 7Ventajas ......................................................................................................................................... 8Desventajas ................................................................................................................................... 8Características ............................................................................................................................... 8Fases .............................................................................................................................................. 9Practicas ...................................................................................................................................... 10¿Cuándo se utiliza la metodología SCRUM? ............................................................................... 11Valores......................................................................................................................................... 11Principios ..................................................................................................................................... 12Conclusión ................................................................................................................................... 12Bibliografía .................................................................................................................................. 13 2
  3. 3. SCRUMOrigen de la metodología SCRUMScrum es una metodología ágil de desarrollo de proyectos que toma su nombre yprincipios de los estudios realizados sobre nuevas prácticas de producción por HirotakaTakeuchi e Ikujijo Nonaka a mediados de los 80. Aunque surgió como modelo para eldesarrollo de productos tecnológicos, también se emplea en entornos que trabajancon requisitos inestables y que requieren rapidez y flexibilidad; situaciones frecuentesen el desarrollo de determinados sistemas de software.¿Qué es SCRUM?SCRUM es un proceso ágil y liviano que sirve para administrar el desarrollo desoftware. El desarrollo se realiza en forma iterativa e incremental (una iteración es unciclo corto de construcción repetitivo).Es un modelo que explica cómo se deben hacer las reuniones y cómo coordinarpersonas para aprovechar al máximo el tiempo. Esta metodología marca una serie dereglas que bien usadas pueden conseguir un aumento en la eficiencia de los equiposde trabajo. Aplicando Scrum a un equipo, se puede conseguir mejorar los plazos deentrega, aumentar la versatilidad y la capacidad de adaptación del equipo. Esto seconsigue mediante la mejora en la comunicación y dando importancia preferente a lascuestiones relevantes.Scrum puede ser aplicado a las siguientes actividades: Realización de proyectos. Diseño y desarrollo de productos y servicios. Desarrollo de software Coordinación de departamentos y equipos de trabajo.Como método ágil: Es un modo de desarrollo adaptable, antes que predictivo. Orientado a las personas, más que a los procesos. Emplea el modelo de construcción incremental basado en iteraciones y revisiones. 3
  4. 4. Scrum es un proceso en el que se aplican de manera regular un conjunto de mejoresprácticas para trabajar en equipo y obtener el mejor resultado posible de un proyecto.Estas prácticas se apoyan unas a otras y su selección tiene origen en un estudio de lamanera de trabajar de equipos altamente productivos.Se comienza con la visión general del producto, especificando y dando detalle a lasfuncionalidades o partes que tienen mayor prioridad de negocio, y que puedenllevarse a cabo en un periodo de tiempo breve (según los casos pueden tenerduraciones desde una semana hasta no más de dos meses). Cada uno de estosperiodos de desarrollo es una iteración que finaliza con la entrega de una parte(incremento) operativa del producto. Estas iteraciones son la base del desarrollo ágil, yScrum gestiona su evolución en reuniones breves diarias donde todo el equipo revisael trabajo realizado el día anterior y el previsto para el siguiente.En Scrum se realizan entregas parciales y regulares del resultado final del proyecto,priorizadas por el beneficio que aportan al receptor del proyecto. Por ello, Scrum estáespecialmente indicado para proyectos en entornos complejos, donde se necesitaobtener resultados pronto, donde los requisitos son cambiantes o poco definidos,donde la innovación, la competitividad y la productividad son fundamentales. Scrumtambién se utiliza para resolver situaciones en que no se está entregando al cliente loque necesita, cuando las entregas se alargan demasiado, los costes se disparan o lacalidad no es aceptable, cuando se necesita capacidad de reacción ante lacompetencia, cuando la moral de los equipos es baja y la rotación alta, cuando esnecesario identificar y solucionar ineficiencias sistemáticamente o cuando se quieretrabajar utilizando un proceso especializado en el desarrollo de producto.Como FuncionaEl desarrollo se realiza en forma iterativa e incremental (una iteración es un ciclo cortode construcción repetitivo). Cada iteración, denominada Sprint, tiene una duraciónpreestablecida de entre 2y 4 semanas obteniendo como resultado una versión delsoftware. En cada nuevo Sprint, se va ajustando la funcionalidad ya construida y seañaden nuevas prestaciones priorizándose siempre aquellas que aporten mayor valorde negocio.Scrum se utiliza como marco para otras prácticas de ingeniería de software, como serla integración continua o la programación de a pares.Scrum se focaliza en priorizar el trabajo en función del valor que tenga para el negocio,maximizando la utilidad de lo que se construye y el retorno de la inversión. Estádiseñado especialmente para adaptarse a los cambios en los requerimientos, sobretodo en mercados de alta competitividad. Los requerimientos y las prioridades serevisan y ajustan durante el proyecto en intervalos muy cortos y regulares. De estamanera es posible adaptar en tiempo real el producto que se está construyendo a lasnecesidades del cliente. Se busca entregar software que realmente resuelva lasnecesidades, aumentando la satisfacción del cliente. 4
  5. 5. Los ciclos, se repetirán de forma continuada, realizando las modificaciones pertinentesentre ciclo y ciclo a medida que cambian los requisitos, surjan dificultades y las tareasse vayan materializando hasta que se termine el proyecto y se alcance el objetivo.RolesEn Scrum, el equipo se focaliza en construir software de calidad. La gestión de unproyecto Scrum se centra en definir cuáles son las características que debe tener elproducto a construir (qué construir, qué no y en qué orden) y en vencer cualquierobstáculo que pudiera entorpecer la tarea del equipo de desarrollo.Scrum clasifica a todas las personas que intervienen o tienen interés en el desarrollodel proyecto en: propietario del producto, equipo, gestor de Scrum (también ScrumManager oScrum Master) y “otros interesados”. Los tres primeros grupos (propietario,equipo y gestor) son los responsables del proyecto, los que según la comparaciónsiguiente (y sin connotaciones peyorativas) serían los “cerdos”; mientras que el restode interesados serían las gallinas. 5
  6. 6. Cerdos y gallinas.Esta metáfora ilustra de forma muy gráfica la diferencia de implicación en el proyectoentre ambos grupos:Una gallina y un cerdo paseaban por la carretera.La gallina dijo al cerdo: “Quieres abrir unrestaurante conmigo”.El cerdo consideró la propuesta y respondió: “Sí, megustaría. ¿Y cómo lo llamaríamos?”.La gallina respondió: “Huevos con beicon”.El cerdo se detuvo, hizo una pausa y contestó:“Pensándolo mejor, creo que no voy a abrir unrestaurante contigo. Yo estaría realmentecomprometido, mientras que tu estarías sólo implicada”.El equipo Scrum está formado por los siguientes roles: El director o líder del equipo (Scrum master): Persona que lidera al equipo guiándolo para que cumpla las reglas y procesos de la metodología. Gestiona la reducción de impedimentos del proyecto y trabaja con el cliente (PO). Los clientes (Product owner (PO)): Representante de los accionistas y clientes que usan el software. Se focaliza en la parte de negocio y el es responsable del proyecto (entregar un valor superior al dinero invertido). Traslada la visión del proyecto al equipo, formaliza las prestaciones en historias a incorporar en los requisitos y las reprioriza de forma regular. Los desarrolladores / equipo de trabajo Team: Grupo de profesionales con los conocimientos técnicos necesarios y que desarrollan el proyecto de manera conjunta llevando a cabo las historias a las que se comprometen al inicio de cada sprint. Usuarios (Customers): Son los que usarán el producto final. Muchas veces se confunden con los clientes, pero no son los mismos. Hablando claro: “cliente es el que paga (y por lo tanto decide) y consumidor el que usa el producto”. A veces cliente y consumidor son la misma persona, pero otras veces no. 6
  7. 7. COMPROMETIDOS (cerdos) IMPLICADOS (gallinas) Propietario del producto  Otros interesados Equipo (Dirección general Dirección comercial Marketing Usuarios, etc.) Scrum ManagerActividades a realizar1º) Reunión inicial (Product Background): A la reunión inicial asiste todo el equipo y elProduct Owner. En ella se debe planificar cuáles son las tareas que se van a llevar acabo para la consecución del objetivo. Estas tareas posteriormente se dividirán enciclos de entre 2 y 4 semanas. Además se deben definir los roles, los recursosnecesarios, etc.Es muy importante calcular bien los tiempos y contemplar la posibilidad de que elcliente cambie sus ideas acerca de lo que quiere a durante el desarrollo del trabajo. Enel caso de que esto pase, se deberán recalcular las tareas y adaptar los ciclos yactividades a los nuevos objetivos.2º) Reunión de planificación de ciclo (Sprint Background): A principio de cada ciclo elequipo debe realizar una reunión donde definir qué tareas se van a realizar en laspróximas semanas, quién las va a realizar y qué es lo que debe estar terminado alfinalizar el ciclo.3º) Reunión diaria (Daily Scrum): Todos los miembros del equipo realizarán unareunión diaria de corta duración para tratar los avances en las tareas. Concretamente,cada miembro del equipo hablará de lo que ha hecho el día anterior, qué va a hacerhoy y qué problemas han surgido.Reglas a seguir en estas reuniones: estarán presentes todos los miembros del equipo,deberá durar entre 15 y 20 minutos, puntualidad y sólo hablará quien tenga el turnode palabra. El encuentro se realizará en el mismo lugar y a la misma hora todos losdías. El objetivo de estas reglas es mantener al equipo informado sin perder tiempo,agilizando la reunión. 4º) Reunión de fin de ciclo (Sprint Review): Se realiza al final del ciclo y en ella sedebe hablar de qué es lo que se ha hecho durante el ciclo y qué ha quedado por hacer.A ella asiste todo el equipo y también el Product Owner para comprobar cuáles son losavances hasta el momento. Se recomienda que esta reunión no dure más de doshoras. Posteriormente, se recomienda hacer otra reunión (Sprint Retrospective) conel Product Owner para comentar qué se hará en los próximos ciclos y si hay que haceralgún cambio. 7
  8. 8. Ventajas Es fácil de aprender. Requiere muy poco esfuerzo para comenzarse a utilizar. Permite que abarcar proyectos donde los requisitos de negocio están incompletos Permite el desarrollo y correcciones rápido Mediante las reuniones diarias se ven claramente los avances y problemas Como toda metodología ágil, obtiene mucha participación del cliente. Facilita la entrega de productos de calidad a tiempo Programación organizada. Menor taza de errores. Satisfacción del programador.Desventajas Si no se define una fecha de fin, los clientes siempre pedirán nuevas funcionalidades. Si una tarea no está bien definida puede incrementar costes y tiempos. Si el equipo no se compromete hay mucha probabilidad de fracasar. Solo funciona bien en equipos pequeños y ágiles. Se requieren miembros del equipo experimentados. Solo funciona cuando el Scrum Manager confía en su equipo. Que un miembro abandone el equipo durante el desarrollo puede conllevar grandes problemas. Es recomendable emplearlo solo en proyectos a corto plazo. Altas comisiones en caso de fallar.CaracterísticasScrum es una metodología ágil, y como tal: Equipos auto-organizado Es un modo de desarrollo de carácter adaptable más que predictivo. Orientado a las personas más que a los procesos. Emplea la estructura de desarrollo ágil: incremental basada en iteraciones y revisiones. 8
  9. 9. FasesDe manera general el proceso de desarrollo del scrum se compone de 5 fasesimportantes Planes de lanzamientos Distribución, revisión y ajuste de los estándares de producto Sprint Revisión del Sprint CierreSPRINTLa fase de Sprint es donde el desarrollo de software se lleva a cabo. Un Sprint constade las siguientes actividades: Elaborar Integrar Revisar Ajustar.Esta fase no tiene una secuencia. A veces un elemento del backlog se tiene quedesarrollar, integrar, y revisar cuando otras sólo debe ser revisado o ajustado.REVISIÓN DE SPRINT Cada Sprint es seguido por una revisión de Sprint. Durante estarevisión, el software desarrollado en el Sprint anterior se revisa y si es necesario se leañaden nuevos ítems del backlog. El grupo de revisores pueden ser: las partesinteresadas del proyecto, gestores, desarrolladores y, en ocasiones los clientes, ventasy marketing.Las actividades, y la revisión de Sprint Sprint se repiten hasta que el producto seconsidera listo para su distribución por los participantes en el proyecto. Luego, elproyecto pasa a la fase de cierre en que el producto se prepara para el lanzamiento yla distribución.CIERRE En esta fase tienen lugar las actividades de debugging, marketing y promoción.Al acabar esta fase el proyecto quedará cerrado. 9
  10. 10. PracticasRevisión de las Iteraciones:Al finalizar cada iteración (sprint) se lleva a cabo una revisión con todas las personasimplicadas en el proyecto. Es por tanto la duración del sprint, el periodo máximo quese tarda en reconducir una desviación en el proyecto o en las circunstancias delproducto.Desarrollo incremental:Las personas implicadas no trabajan con diseños o abstracciones. El desarrolloincremental implica que al final de cada iteración se dispone de una parte de productooperativa, que se puede inspeccionar y evaluar.Desarrollo evolutivo:Los modelos de gestión ágil se emplean para trabajar en entornos de incertidumbre einestabilidad de requisitos. Intentar predecir en las fases iniciales cómo será elresultado final, y sobre dicha predicción desarrollar el diseño y la arquitectura delproducto no es realista, porque las circunstancias obligarán a remodelarlo muchasveces.¿Para qué predecir los estados finales de la arquitectura o del diseño si van a estarcambiando? Scrum considera a la inestabilidad como una premisa, y se adoptantécnicas de trabajo para permitir la evolución sin degradar la calidad de la arquitecturaque también evoluciona durante el desarrollo.Durante el desarrollo se genera el diseño y la arquitectura final de forma evolutiva.Scrum no los considera como productos que deban realizarse en la primera “fase” delproyecto. (El desarrollo ágil no es un desarrollo en fases.Auto-organización:En la ejecución de un proyecto son muchos los factores impredecibles en todas lasáreas y niveles. La gestión predictiva confía la responsabilidad de su resolución algestor de proyectos. En Scrum los equipos son auto-organizados (no auto-dirigidos),con margen de decisión suficiente para tomar las decisiones que considerenoportunas.Colaboración:Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Ésta esnecesaria, porque para que funcione la auto organización como un control eficaz cada 10
  11. 11. miembro del equipo debe colaborar de forma abierta con los demás, según suscapacidades y no según su rol o su puesto.Visión general del proceso:Scrum denomina “sprint” a cada iteración de desarrollo y según las características delproyecto y las circunstancias del sprint puede determinarse una duración desde unahasta dos meses, aunque no suele ser recomendable hacerlos de más de un mes.El sprint es el núcleo central que proporciona la base de desarrollo iterativo eincremental.¿Cuándo se utiliza la metodología SCRUM?Con Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo vecrecer iteración a iteración. Asimismo le permite en cualquier momento realinear elsoftware con los objetivos de negocio de su empresa, ya que puede introducir cambiosfuncionales o de prioridad en el inicio de cada nueva iteración. Esta metódica detrabajo promueve la innovación, motivación y compromiso del equipo que forma partedel proyecto, por lo que los profesionales encuentran un ámbito propicio paradesarrollar sus capacidades.ValoresScrum es una “carrocería” para dar forma a los principios ágiles. Es una ayuda paraorganizar a las personas y el flujo de trabajo; como lo pueden ser otras propuestas deformas de trabajo ágil: Cristal, DSDM, etc. La carrocería sin motor, sin los valores que dan sentido al desarrollo ágil, no funciona. Delegación 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 (nodisciplina impuesta). Trabajo centrado en el desarrollo de lo comprometido Información, transparencia y visibilidad del desarrollo del proyecto. 11
  12. 12. PrincipiosUn principio clave de Scrum es el reconocimiento de que durante un proyecto losclientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamadorequirements churn), y que los desafíos impredecibles no pueden ser fácilmenteenfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta unaaproximación pragmática, aceptando que el problema no puede ser completamenteentendido o definido, y centrándose en maximizar la capacidad del equipo de entregarrápidamente y responder a requisitos emergentes.ConclusiónScrum tiene muchas ventajas como por ejemplo que es rápido y se puede terminar elproyecto lo más pronto posible, pero también si las personas que están trabajando en ellono se toman en serio el rol que juegan en el proyecto, entonces este método no será útil,en algunos casos el proyecto podría fallar. Es importante que se les imparta un curso ouna plática acerca de cómo trabajar este método, ya que si no lo manejan bien como semenciono anteriormente podría fallar. 12
  13. 13. BibliografíaBernal, J. J. (16 de Enero de 2013). Grupo PDCA Home. Obtenido de http://www.pdcahome.com/3533/metodologia-scrum-mejora-la-eficiencia-de- equipos-de-trabajo-proyectos-y-desarrollo-de-productos/Club Desarrolladores. (2 de septiembre de 2008). Metodología Scrum. Obtenido de Club Desarrolladores: http://www.clubdesarrolladores.com/articulos/mostrar/63- metodologia-scrum/2Ortega, R. J. (s.f.). Introducción a SCRUM. Obtenido de http://osl.ugr.es/talleres/SCRUM/Presentacion%20SCRUM.html#slide1Scrum Alliance. (s.f.). SCRUM México. Obtenido de http://scrum.org.mx/SOFTENG Software Engineers. (s.f.). SOFTENG Software Engineers. Obtenido de http://www.softeng.es/es-es/empresa/metodologias-de-trabajo/metodologia- scrum/proceso-roles-de-scrum.html 13

×