Is.exp.2.329575

16
Integrantes Matrícula Morales Miranda Melissa Araceli 329575 Serrano García María de los Angeles 329731 Grupo 361 Profesor Alejandro Gomero Portilla

description

Ingenieria de Software Metodologia SCRUM

Transcript of Is.exp.2.329575

Page 1: Is.exp.2.329575

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

Page 2: Is.exp.2.329575

Contenido

Origen de la metodología SCRUM................................................................................................3

¿Qué es SCRUM?..........................................................................................................................3

Como Funciona............................................................................................................................4

Roles.............................................................................................................................................5

Actividades a realizar...................................................................................................................7

Ventajas.......................................................................................................................................8

Desventajas..................................................................................................................................8

Características..............................................................................................................................8

Fases............................................................................................................................................9

Practicas.....................................................................................................................................10

¿Cuándo se utiliza la metodología SCRUM?...............................................................................11

Valores.......................................................................................................................................11

Principios....................................................................................................................................12

Conclusión..................................................................................................................................12

Bibliografía.................................................................................................................................12

2

Page 3: Is.exp.2.329575

SCRUM

Origen de la metodología SCRUM

Scrum es una metodología ágil de desarrollo de proyectos que toma su nombre y principios de los estudios realizados sobre nuevas prácticas de producción por Hirotaka Takeuchi e Ikujijo Nonaka a mediados de los 80. Aunque surgió como modelo para el desarrollo de productos tecnológicos, también se emplea en entornos que trabajan con requisitos inestables y que requieren rapidez y flexibilidad; situaciones frecuentes en el desarrollo de determinados sistemas de software.

¿Qué es SCRUM?

SCRUM es un proceso ágil y liviano que sirve para administrar el desarrollo de software. El desarrollo se realiza en forma iterativa e incremental (una iteración es un ciclo corto de construcción repetitivo).

Es un modelo que explica cómo se deben hacer las reuniones y cómo coordinar personas para aprovechar al máximo el tiempo. Esta metodología marca una serie de reglas que bien usadas pueden conseguir un aumento en la eficiencia de los equipos de trabajo. Aplicando Scrum a un equipo, se puede conseguir mejorar los plazos de entrega, aumentar la versatilidad y la capacidad de adaptación del equipo. Esto se consigue mediante la mejora en la comunicación y dando importancia preferente a las cuestiones 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

Page 4: Is.exp.2.329575

Scrum es un proceso en el que se aplican de manera regular un conjunto de mejores prá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 la manera de trabajar de equipos altamente productivos.

Se comienza con la visión 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 periodo de tiempo breve (según los casos pueden tener duraciones desde una semana hasta no más de dos meses). Cada uno de estos periodos 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, y Scrum gestiona su evolución en reuniones breves diarias donde todo el equipo revisa el 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 necesita obtener resultados pronto, donde los requisitos son cambiantes o poco definidos, donde la innovación, la competitividad y la productividad son fundamentales. Scrum también se utiliza para resolver situaciones en que no se está entregando al cliente lo que necesita, cuando las entregas se alargan demasiado, los costes se disparan o la calidad no es aceptable, cuando se necesita capacidad de reacción ante la competencia, cuando la moral de los equipos es baja y la rotación alta, cuando es necesario identificar y solucionar ineficiencias sistemáticamente o cuando se quiere trabajar utilizando un proceso especializado en el desarrollo de producto.

Como Funciona

El desarrollo se realiza en forma iterativa e incremental (una iteración es un ciclo corto de construcción repetitivo). Cada iteración, denominada Sprint, tiene una duración preestablecida de entre 2y 4 semanas obteniendo como resultado una versión del software. En cada nuevo Sprint, se va ajustando la funcionalidad ya construida y se añaden nuevas prestaciones priorizándose siempre aquellas que aporten mayor valor de negocio.

Scrum se utiliza como marco para otras prácticas de ingeniería de software, como ser la 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, sobre todo en mercados de alta competitividad. Los requerimientos y las prioridades se revisan y ajustan durante el proyecto en intervalos muy cortos y regulares. De esta manera es posible adaptar en tiempo real el producto que se está construyendo a las necesidades del cliente. Se busca entregar software que realmente resuelva las necesidades, aumentando la satisfacción del cliente.

4

Page 5: Is.exp.2.329575

Los ciclos, se repetirán de forma continuada, realizando las modificaciones pertinentes entre ciclo y ciclo a medida que cambian los requisitos, surjan dificultades y las tareas se vayan materializando hasta que se termine el proyecto y se alcance el objetivo.

Roles

En Scrum, el equipo se focaliza en construir software de calidad. La gestión de un proyecto Scrum se centra en definir cuáles son las características que debe tener el producto a construir (qué construir, qué no y en qué orden) y en vencer cualquier obstáculo que pudiera entorpecer la tarea del equipo de desarrollo.

Scrum clasifica a todas las personas que intervienen o tienen interés en el desarrollo del proyecto en: propietario del producto, equipo, gestor de Scrum (también Scrum Manager oScrum Master) y “otros interesados”. Los tres primeros grupos (propietario, equipo y gestor) son los responsables del proyecto, los que según la comparación siguiente (y sin connotaciones peyorativas) serían los “cerdos”; mientras que el resto de interesados serían las gallinas.

5

Page 6: Is.exp.2.329575

Cerdos y gallinas.

Esta metáfora ilustra de forma muy gráfica la diferencia de implicación 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 gustarí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 un restaurante contigo. Yo estaría realmente comprometido, 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

Page 7: Is.exp.2.329575

COMPROMETIDOS (cerdos) IMPLICADOS (gallinas)

Propietario del producto

Equipo

Scrum Manager

Otros interesados

(Dirección general Dirección comercial Marketing Usuarios, etc.)

Actividades a realizar

1º) Reunión inicial (Product Background): A la reunión inicial asiste todo el equipo y el Product Owner. En ella se debe planificar cuáles son las tareas que se van a llevar a cabo para la consecución del objetivo. Estas tareas posteriormente se dividirán en ciclos de entre 2 y 4 semanas. Además se deben definir los roles, los recursos necesarios, etc. Es muy importante calcular bien los tiempos y contemplar la posibilidad de que el cliente cambie sus ideas acerca de lo que quiere a durante el desarrollo del trabajo. En el caso de que esto pase, se deberán recalcular las tareas y adaptar los ciclos y actividades a los nuevos objetivos.

2º) Reunión de planificación de ciclo (Sprint Background): A principio de cada ciclo el equipo debe realizar una reunión donde definir qué tareas se van a realizar en las próximas semanas, quién las va a realizar y qué es lo que debe estar terminado al finalizar el ciclo.

3º) Reunión diaria (Daily Scrum): Todos los miembros del equipo realizarán una reunió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 hacer hoy 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 turno de palabra. El encuentro se realizará en el mismo lugar y a la misma hora todos los dí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 se debe 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 los avances hasta el momento. Se recomienda que esta reunión no dure más de dos horas. Posteriormente, se recomienda hacer otra reunión (Sprint Retrospective) con el Product Owner para comentar qué se hará en los próximos ciclos y si hay que hacer algún cambio.

7

Page 8: Is.exp.2.329575

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ísticas

Scrum 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

Page 9: Is.exp.2.329575

Fases De manera general el proceso de desarrollo del scrum se compone de 5 fases importantes

Planes de lanzamientos

Distribución, revisión y ajuste de los estándares de producto

Sprint

Revisión del Sprint

Cierre

SPRINT

La fase de Sprint es donde el desarrollo de software se lleva a cabo. Un Sprint consta de las siguientes actividades:

Elaborar

Integrar

Revisar

Ajustar.

Esta fase no tiene una secuencia. A veces un elemento del backlog se tiene que desarrollar, 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 esta revisión, el software desarrollado en el Sprint anterior se revisa y si es necesario se le añaden nuevos ítems del backlog. El grupo de revisores pueden ser: las partes interesadas del proyecto, gestores, desarrolladores y, en ocasiones los clientes, ventas y marketing.

Las actividades, y la revisión de Sprint Sprint se repiten hasta que el producto se considera listo para su distribución por los participantes en el proyecto. Luego, el proyecto pasa a la fase de cierre en que el producto se prepara para el lanzamiento y la 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

Page 10: Is.exp.2.329575

Practicas

Revisión de las Iteraciones:

Al finalizar cada iteración (sprint) se lleva a cabo una revisión con todas las personas implicadas en el proyecto. Es por tanto la duración del sprint, el periodo máximo que se tarda en reconducir una desviación en el proyecto o en las circunstancias del producto.

Desarrollo incremental:

Las personas implicadas no trabajan con diseños o abstracciones. El desarrollo incremental implica que al final de cada iteración se dispone de una parte de producto operativa, que se puede inspeccionar y evaluar.

Desarrollo evolutivo:

Los modelos de gestión ágil se emplean para trabajar en entornos de incertidumbre e inestabilidad de requisitos. Intentar predecir en las fases iniciales cómo será el resultado final, y sobre dicha predicción desarrollar el diseño y la arquitectura del producto no es realista, porque las circunstancias obligarán a remodelarlo muchas veces.

¿Para qué predecir los estados finales de la arquitectura o del diseño si van a estar cambiando? Scrum considera a la inestabilidad como una premisa, y se adoptan técnicas de trabajo para permitir la evolución sin degradar la calidad de la arquitectura que 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” del proyecto. (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 al gestor de proyectos. En Scrum los equipos son auto-organizados (no auto-dirigidos), con margen de decisión suficiente para tomar las decisiones que consideren oportunas.

Colaboración:

Las prácticas y el entorno de trabajo ágiles facilitan la colaboración del equipo. Ésta es necesaria, porque para que funcione la auto organización como un control eficaz cada

10

Page 11: Is.exp.2.329575

miembro del equipo debe colaborar de forma abierta con los demás, según sus capacidades 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 del proyecto y las circunstancias del sprint puede determinarse una duración desde una hasta 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 e incremental.

¿Cuándo se utiliza la metodología SCRUM?Con Scrum el cliente se entusiasma y se compromete con el proyecto dado que lo ve crecer iteración a iteración. Asimismo le permite en cualquier momento realinear el software con los objetivos de negocio de su empresa, ya que puede introducir cambios funcionales o de prioridad en el inicio de cada nueva iteración. Esta metódica de trabajo promueve la innovación, motivación y compromiso del equipo que forma parte del proyecto, por lo que los profesionales encuentran un ámbito propicio para desarrollar sus capacidades.

Valores Scrum es una “carrocería” 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 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

Page 12: Is.exp.2.329575

Principios Un principio clave de Scrum es el reconocimiento de que durante un proyecto los clientes pueden cambiar de idea sobre lo que quieren y necesitan (a menudo llamado requirements churn), y que los desafíos impredecibles no pueden ser fácilmente enfrentados de una forma predictiva y planificada. Por lo tanto, Scrum adopta una aproximación pragmática, aceptando que el problema no puede ser completamente entendido o definido, y centrándose en maximizar la capacidad del equipo de entregar rápidamente y responder a requisitos emergentes.

ConclusiónScrum tiene muchas ventajas como por ejemplo que es rápido y se puede terminar el

proyecto lo más pronto posible, pero también si las personas que están trabajando en ello

no 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 o

una plática acerca de cómo trabajar este método, ya que si no lo manejan bien como se

menciono anteriormente podría fallar.

12

Page 13: Is.exp.2.329575

Bibliografía

Bernal, 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/2

Ortega, R. J. (s.f.). Introducción a SCRUM. Obtenido de http://osl.ugr.es/talleres/SCRUM/Presentacion%20SCRUM.html#slide1

Scrum 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