- Ingeniería de Sistemas y Telemática
Ingeniería de Requerimientos
I. Tema: Metodologías SCRUM
1. Contenido
Definición:
Es un proceso de la Metodología Ágil que se usa para minimizar los riesgos durante la realización de un proyecto, pero de manera colaborativa.
Es ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa (ROI). Se basa en construir primero la funcionalidad de mayor valor para el cliente y en los principios de inspección continua, adaptación, auto-gestión e innovación.
Se suele planificar por semanas. Al final de cada Sprint o iteración, se va revisando el trabajo validado de la anterior semana. En función de esto, se priorizan y planifican las actividades en las que invertiremos nuestros recursos en el siguiente Sprint.
Scrum se centra en ajustar sus resultados y responder a las exigencias reales y exactas del cliente. De ahí, que se vaya revisando cada entregable, ya que los requerimientos van variando a corto plazo. El tiempo mínimo para un Sprint es de una semana y el máximo es de cuatro semanas.
Entre las ventajas que brinda Scrum se encuentran la productividad, calidad y que se realiza un seguimiento diario de los avances del proyecto, logrando que los integrantes estén unidos, comunicados y que el cliente vaya viendo los avances.
- 1.- Características:
- Enfatiza valores y prácticas de gestión, sin pronunciarse sobre requerimientos, prácticas de desarrollo, implementación y demás cuestiones técnicas
- Hace uso de Equipos auto-dirigidos y auto-organizados
- Puede ser aplicado teóricamente a cualquier contexto en donde un grupo de gente necesita trabajar junta para lograr una meta común.
- Desarrollo de software iterativos incrementales basados en prácticas agiles
- Iteraciones de treinta días; aunque se pueden realizar con más frecuencia, estas iteraciones, conocidas como Sprint
- Dentro de cada Sprint se denomina el Scrum Master al Líder de Proyecto quien llevará a cabo la gestión de la iteración
- Se convocan diariamente un “Scrum Daily Meeting” el cual representa una reunión de avance diaria de no más de 15 minutos con el propósito de tener realimentación sobre las tareas de los recursos y los obstáculos que se presentan. En la cual se responden preguntas como: ¿Qué has hecho desde el último encuentro? ¿Qué obstáculos hay para cumplir la meta? ¿Qué harás antes del próximo encuentro?
- 2.- Beneficios:
- Cumplimento de Expectativas: El cliente establece sus expectativas indicando el valor que le aporta cada requisito / historia del proyecto, el equipo los estima y con esta información el Product Owner establece su prioridad. De manera regular, en las demos de Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y transmite se feedback al equipo.
- Flexibilidad a Cambios: Alta capacidad de reacción ante los cambios de requerimientos generados por necesidades del cliente o evoluciones del mercado. La metodología está diseñada para adaptarse a los cambios de requerimientos que conllevan los proyectos complejos.
- Reducción del Time to Market: El cliente puede empezar a utilizar las funcionalidades más importantes del proyecto antes de que esté finalizado por completo.
- Mayor Calidad del Software: La metódica de trabajo y la necesidad de obtener una versión funcional después de cada iteración, ayuda a la obtención de un software de calidad superior.
- Mayor Productividad: Se consigue entre otras razones, gracias a la eliminación de la burocracia y a la motivación del equipo que proporciona el hecho de que sean autónomos para organizarse. Maximiza el Retorno de la Inversión (ROI): Producción de software únicamente con las prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de inversión.
- Predicciones de Tiempos: Mediante esta metodología se conoce la velocidad media del equipo por sprint (los llamados puntos historia), con lo que consecuentemente, es posible estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en el Backlog.
- Reducción de Riesgos: El hecho de llevar a cabo las funcionalidades de más valor en primer lugar y de conocer la velocidad con que el equipo avanza en el proyecto, permite despejar riesgos eficazmente de manera anticipada.
- 3.-Fases:
A. Planteamiento: un proyecto gestionado bajo el modelo SCRUM parte de los objetivos que han trazado con anterioridad el cliente y la empresa. Lo primero es fraccionarlo en entregas parciales, de manera que el cliente pueda replantear aspectos a los que en principio no prestó la importancia debida o que simplemente desconocía. Esos aspectos pueden ser sobre costes, estrategias, producción, etc.
B. Lista de Tareas: el equipo de trabajo elabora la lista de tareas que debe tener en cuenta para cada
entrega de resultados. Es muy importante hacer una estimación del esfuerzo requerido para, de esta manera, fijas plazos proporcionados.
C. Reuniones: lo ideal es que cada día el equipo dedique 15 minutos para reunirse y ponerse al tanto de la evolución del plan. En estas sesiones, el líder del proyecto (Scrum Master) debe encargarse de que cada miembro cumpla con las labores que le han sido asignadas y de motivarles para que su productividad no descienda.
En caso de que detecte alguna incidencia dentro del grupo, es necesario que tome las opciones más adecuadas, que pueden ir desde un relevo de la función hasta el nombramiento de miembros de apoyo.
D. Demostración: una vez ejecutadas las labores de cada fase, el equipo se reúne con el cliente para mostrar los avances correspondientes. El cliente decide si replantea los elementos del proyecto. Si es necesario, el equipo asume nuevos compromisos.
E. Retrospectiva: los miembros del equipo se reúnen para valorar el proceso de entrega de resultados y analizan los factores que podrían mejorar de cara al final del proceso. La función del Scrum Master será eliminar dichos obstáculos
1.4.- Roles:

A. Principales
- Product Owner: El Product Owner se asegura de que el equipo Scrum trabaje de forma adecuada desde la perspectiva del negocio. El Product Owner ayuda al usuario a escribir las historias de usuario, las prioriza, y las coloca en el Product Backlog.
- ScrumMaster o Facilitador: El Scrum es facilitado por un ScrumMaster, cuyo trabajo primario es eliminar los obstáculos que impiden que el equipo alcance el objetivo del sprint. El ScrumMaster no es el líder del equipo (porque ellos se auto-organizan), sino que actúa como una protección entre el equipo y cualquier influencia que le distraiga. El ScrumMaster se asegura de que el proceso Scrum se utiliza como es debido. El ScrumMaster es el que hace que las reglas se cumplan.
- Team o Equipo de Desarrollo: El equipo tiene la responsabilidad de entregar el producto. Es recomendable un pequeño equipo de 5 a 9 personas con las habilidades transversales necesarias para realizar el trabajo (análisis, diseño, desarrollo, pruebas, documentación, etc.).
B. Auxiliares
Los roles auxiliares en los "equipos Scrums" son aquellos que no tienen un rol formal y no se involucran frecuentemente en el "proceso Scrum", sin embargo deben ser tomados en cuenta. Un aspecto importante de una aproximación ágil es la práctica de involucrar en el proceso a los usuarios, expertos del negocio y otros interesados ("stakeholders"). Es importante que esa gente participe y entregue retroalimentación con respecto a la salida del proceso a fin de revisar y planear cada sprint.
- Stakeholders: Son las personas que hacen posible el proyecto y para quienes el proyecto producirán el beneficio acordado que justifica su desarrollo. Sólo participan directamente durante las revisiones del "sprint".
- Managers o Administradores: Son los responsables de establecer el entorno para el desarrollo del proyecto.
1.5.-SPRINT:
Es el período en el cual se lleva a cabo el trabajo en sí. Es recomendado que la duración de los Sprints sea constante y definida por el equipo con base en su propia experiencia. Se puede comenzar con una duración de sprint en particular (2 o 3 semanas) e ir ajustándolo con base en el ritmo del equipo, aunque sin relajarlo demasiado.
Al final de cada sprint, el equipo deberá presentar los avances logrados, y el resultado obtenido es un producto que, potencialmente, se puede entregar al cliente.
Así mismo, se recomienda no agregar objetivos al sprint o sprint backlog a menos que su falta amenace al éxito del proyecto. La constancia permite la concentración y mejora la productividad del equipo de trabajo.
Debemos recordar que los Sprint es la herramienta que usa Scrum, por lo tanto maneja las misma fases:
- Reunión de planificación de Sprint
- El Scrum Diario
- Trabajo de desarrollo durante el Sprint
- Revisión del Sprint
- Retrospectiva del Sprint
1.6.-Documentos
A. Product Backlog: Se trata como un documento de alto nivel para todo el proyecto. Es el conjunto de todos los requisitos de proyecto, el cual contiene descripciones genéricas de funcionalidades deseables, priorizadas según su retorno sobre la inversión (ROI). Representa el qué va a ser construido en su totalidad. Es abierto y solo puede ser modificado por el Product Owner. Contiene estimaciones realizadas a grandes rasgos, tanto del
valor para el negocio, como del esfuerzo de desarrollo requerido.
Esta estimación ayuda al Product Owner a ajustar la línea temporal (KEV) y, de manera limitada, la prioridad de las diferentes tareas. Por ejemplo, si dos características tienen el mismo valor de negocio la que requiera menor tiempo de desarrollo tendrá probablemente más prioridad, debido a que su ROI será más alto.
B. Sprint Backlog: Es el subconjunto de requisitos que serán desarrollados durante el siguiente sprint. Al definir el sprint backlog, se describe el cómo el equipo va a implementar los requisitos durante el sprint. Por lo general los requisitos se subdividen en tareas, a las cuales se asignan ciertas horas de trabajo pero ninguna tarea con una duración superior a 16 horas.
Si una tarea es mayor de 16 horas, deberá ser dividida en otras menores. Las tareas en el sprint backlog nunca son asignadas, son tomadas por los miembros del equipo del modo que les parezca adecuado.
C. Burn Down Chart: Es una gráfica mostrada públicamente que mide la cantidad de requisitos en el Backlog del proyecto pendientes al comienzo de cada Sprint. Dibujando una línea que conecte los puntos de todos los Sprints completados, podremos ver el progreso del proyecto. Lo normal es que esta línea sea descendente (en casos en que todo va bien en el sentido de que los requisitos están bien definidos desde el principio y no varían nunca) hasta llegar al eje horizontal, momento en el cual el proyecto se ha terminado (no hay más requisitos pendientes de ser completados en el Backlog).
Si durante el proceso se añaden nuevos requisitos la recta tendrá pendiente ascendente en determinados segmentos, y si se modifican algunos requisitos la pendiente variará o incluso valdrá cero en algunos tramos.
2. Resumen
Es ágil y flexible para gestionar el desarrollo de software, cuyo principal objetivo es maximizar el retorno de la inversión para su empresa ( ROI ). Al final de cada Sprint o iteración, se va revisando el trabajo validado de la anterior semana. El tiempo mínimo para un Sprint es de una semana y el máximo es de cuatro semanas. Iteraciones de treinta días ; aunque se pueden realizar con más frecuencia, estas iteraciones, conocidas como Sprint Dentro de cada Sprint se denomina el Scrum Master al Líder de Proyecto quien llevará a cabo la gestión de la iteración Se convocan diariamente un “ Scrum Daily Meeting ” el cual representa una reunión de avance diaria de no más de 15 minutos con el propósito de tener realimentación sobre las tareas de los recursos y los obstáculos que se presentan. De manera regular, en las demos de Sprint el Product Owner comprueba que efectivamente los requisitos se han cumplido y transmite se feedback al equipo. Maximiza el Retorno de la Inversión ( ROI ) : Producción de software únicamente con las prestaciones que aportan mayor valor de negocio gracias a la priorización por retorno de inversión. Predicciones de Tiempos : Mediante esta metodología se conoce la velocidad media del equipo por sprint ( los llamados puntos historia ), con lo que consecuentemente, es posible estimar fácilmente para cuando se dispondrá de una determinada funcionalidad que todavía está en el Backlog
3. Summary
It is agile and
flexible to manage software development, whose main objective is to maximize
the return on investment for your company (ROI). At the end of each Sprint or
iteration, the validated work from the previous week is reviewed. The minimum
time for a Sprint is one week and the maximum is four weeks. Iterations of
thirty days; although they can be done more frequently, these iterations, known
as Sprint Within each Sprint, the Scrum Master is called to the Project Leader
who will carry out the management of the iteration. A daily "Scrum Daily
Meeting" is convened which represents a meeting of daily progress of no
more than 15 minutes with the purpose of having feedback on the tasks of the
resources and the obstacles that arise. On a regular basis, in the Sprint
demos, the Product Owner verifies that the requirements have been met and
transmits feedback to the team. Maximizes the Return on Investment (ROI):
Production of software only with the features that provide the most business
value thanks to the prioritization of return on investment. Time Predictions:
Through this methodology we know the average speed of the team by sprint (the
so-called history points), with which consequently, it is possible to estimate
easily for when there will be a certain functionality that is still in the
Backlog
4 recomendaciones* para implantar y hacer scrum:
- No combinar roles
- No acortar, ni alargar los Sprints
- No suprimir reuniones/ceremonias de Scrum
- Retrospectivas, retrospectivas, retrospectivas, retrospectivas
En el 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 lai nnovación, la competitividad, la flexibilidad y la productividad son fundamentales.
6. Apreciación del Equipo
El scrum es n marco de trabajo que se bas aen base de principios, practicas y valores agiles.
el obetivo del scrum es mejorar la satisfaccion del cliente la velocidad y calidad de desarrollo atravez del trabajo en equipo y la transparencia.
7. Glosario de Términos
- Iteración: operando de esta forma, y desarrollando en cada iteración el proceso descrito, el autor consigue clasificar la población en grupos estables
- Incrementales: Se considera Innovación incremental cuando se crea un valor sobre un producto que ya existe, añadiéndole nuevas mejoras. El proceso de innovación comienza sobre una base conceptual. A partir de aquí se realizan una serie de procesos creativos enfocados a conseguir unos fines determinados
- Realimentación: En un sistema o proceso que se regula a sí mismo, acción por la que cada resultado del proceso incide en el conjunto del proceso integrándolo y modificándolo.
- Feedback: Capacidad de un emisor para recoger reacciones de los receptores y modificar su mensaje, de acuerdo con lo recogido.
- Consecuentemente: Que sigue en orden inmediato respecto a una cosa.
- Backlog.: El Backlog es una lista ordenada de todo el trabajo pendiente. Contenido. Dependiendo del método ágil utilizado, los elementos incluidos en el Backlog se denominan ítems, historias de usuario, unidades de trabajo, etc.
- Product Owner: Un product owner, normalmente, es uno de los futuros usuarios del sistema. O alguien de marketing, o un “product manager” o, en definitiva, alguien que sabe lo que quieren los usuarios del sistema en desarrollo. Te recomiendo leer antes de seguir aquel post de claves para implantar el rol de product owner
- ScrumMaster: El Scrum Master (SM) o facilitador de proyectos, es la figura que lidera los equipos en la gestión ágil de proyectos. Su misión es que los equipos de trabajo alcancen sus objetivos hasta llegar a la fase de “sprint final”, eliminando cualquier dificultad que puedan encontrar en el camino.
- Transversales: Transversal significa aquello que cruza, corta o atraviesa. Puede también referirse a: Plano transverso, en anatomía
- Subdividen: Dividir en partes más pequeñas cada una de las partes que resultan de haber dividido previamente un todo
8. Bibliografía o Linkografía
No hay comentarios:
Publicar un comentario