viernes, 9 de diciembre de 2011

Resumen del libro Scrum

Autor: Valentina Peña Díaz
Competencia: Trabajo en equipo.
Palabra clave: Programación II, netbeans, java

Descripción de la actividad:
Realizar un resumen del libro Scrum en el cual se muestren los aspectos más importantes de este libro, de forma en que el equipo trabaje en conjunto para realizar esto de manera correcta, ya que así mismo es como muestra el libro como debe trabajar un equipo.

Solución:
La solución que como equipo hemos encontrado es dividir el libro entre todos los integrantes y que cada uno se realice el resumen de la parte que le corresponde, así se logra realizar el resumen en un menor tiempo del esperado si es que lo hubiese hecho solo una persona.

Resumen

Introducción
Scrum es un marco de trabajo para la gestión y desarrollo de software basada en un proceso iterativo e incremental utilizado comúnmente en entornos basados en el desarrollo ágil de software.
Aunque Scrum estaba enfocado a la gestión de procesos de desarrollo de software, puede ser utilizado en equipos de mantenimiento de software, o en una aproximación de gestión de programas: Scrum de Scrums.
Scrum se caracteriza por ser un modelo de referencia que define un conjunto de prácticas y roles, y que puede tomarse como punto de partida para definir el proceso de desarrollo que se ejecutará durante un proyecto.
 Los roles principales en Scrum son:

-       ScrumMaster, que mantiene los procesos y trabaja de forma similar al director de proyecto.
-       ProductOwner, que representa a los interesados externos o internos.
-       Team que incluye a los desarrolladores.

En el presente informe se dará a conocer el concepto de Scrum como también de Sprint Backlog. Se analizan las ventajas y desventajas de utilizar el modelo, también las condiciones para que se emplee correctamente.

De igual manera la forma los roles de Scrum, sus distintas “reuniones” y los documentos que se generan.

Para terminar, se dan a conocer las conclusiones del modelo.















Desarrollo Temático

Scrum es una metodología ágil, simple y adaptable para las personas, para gestionar proyectos de software. Surgió como practica en el desarrollo de productos tecnológicos en entornos que trabajan con requisitos inestables. También necesitan rapidez y flexibilidad,  requiere de un trabajo duro y adaptación continúa a las circunstancias de la evolución del proyecto.

Roles en Scrum

En Scrum se definen varios roles, estos están divididos en dos grupos:

-       Grupo 1: Los que están comprometidos con el proyecto y el proceso Scrum.
-       Grupo 2: Los usuarios, quienes no son parte del proceso Scrum, pero deben tenerse en cuenta.

Grupo 1:

Product Owner: Representa la voz del cliente. Se asegura de que el equipo Scrum trabaja de forma adecuada desde la perspectiva del negocio. El Product Owner escribe historias de usuario, las prioriza, y las coloca en el Product Backlog.

ScrumMaster: 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. Este se asegura de que el proceso Scrum se utiliza como es debido y también el que hace que las reglas se cumplan.

ScrumTeam: Este es el equipo y tiene la responsabilidad de entregar el producto. Un pequeño equipo de 5 a 9 personas con las habilidades transversales necesarias para realizar el trabajo (diseñador, desarrollador, etc).

Grupo 2:

Usuarios: Es el destinatario final del producto. Como bien lo dice la paradoja, El árbol cae en el bosque cuando no hay nadie ¿Hace ruido? Aquí la definición sería Si el software no es usado ¿fue alguna vez escrito?

Stakeholders (Clientes, Proveedores, Inversores): Se refiere a la gente que hace posible el proyecto y para quienes el proyecto producirán el beneficio acordado que lo justifica. Sólo participan directamente durante las revisiones del sprint.

Managers: Es la gente que establece el ambiente para el desarrollo del producto.











·         Reuniones en Scrum

Tonificación del sprint: Está enfocada en las jornadas de trabajo que cuando comienza se determinar con sprint cuáles son los objetivos que se deben concluir en el trabajo.
Seguimiento del sprint: se realiza una breve reunión que se tratara de revisar el proyecto nuevamente pero será brevemente y se aran tres preguntas al grupo de trabajo que serán lo que estarán involucrados

¿De qué se trató y trabajo en la última reunión?
¿Qué se a quedo a cordado trabajar en la última reunión?
¿Qué impedimento ha tenido para alcanzar su proyecto?

Revisión de sprint
En si esta reunión se enfocara  como un acontecimiento especial ya que se tomara una muestra de resultados.

·         Los elementos

Productos backlog: Los requisitos del sistema necesarios que te muestra esto es para realizar el desarrollo principal del proyecto el cual ira evolucionando a medida de los cambios que se van integrando durante el desarrollo del mismo producto, es decir en él se encuentra las características principales que nuestro cliente desea obtener.
Las cuales se encuentran ordenas por prioridad.

              Sprint backlog: Consiste en una lista en la cual se encuentra los trabajos que se realizara el equipo, durante la creación de sprint para lograr un incremento ya previsto. Estas tareas que son asignadas tienen un tiempo y recurso necesarios que ya se encuentra estimados.
               
Incremento: Es el resultado de cada sprint. Es decir se trata de un resultado completo el cual se encuentra en condiciones de ser utilizado


·         Los roles o responsabilidades
Estos roles dependen de tres condiciones:
Ø  Las características del entorno adecuadas para el desarrollo.
Ø  Conocimiento de la metodología que se implementara en el trabajo.
Ø  Asignación de las responsabilidades del producto, del desarrollo y del funcionamiento del Scrum.

·         Responsabilidad del producto (el propietario del producto)
Es una persona conocedora del entorno del cliente y de la visión del producto la cual es responsable del  product backlog.
Es mayormente denominado “propietario del producto”.
Es el encargado del financiamiento necesario para el proyecto, de decir cómo será el resultado  final del lanzamiento y del entorno de la inversión.
En los desarrollos internos el product manager o el encargado del marketing pueden llegar a sumir este rol.


·         Responsabilidad del desarrollo (Equipo)
El equipo de desarrollo el cual comprende a todas las personas quienes trabajan en el proyecto incluido el propietario conoce la metodología del scrum, creando así un grupo multidisciplinar el cual se auto-gestiona y auto-organiza, para generar un resultado.
·         Responsabilidad del funcionamiento de Scrum (Scrum manager).
Se debe garantizar el funcionamiento de los procesos y las metodologías que emplean. Es un modelo definido por Jeff Sutheerland,  se define como una persona a la cual se le garantiza para guiar al equipo  la cual recibe el rol de Scrum Master.

Considerando que la mayoría de las empresas son diferentes es mejor adoptar prácticas en el trabajo de la empresa, las cuales en ocasiones son muy concejales:

Que la persona con la función de Scrum Master tenga el puesto adecuado en cada organización. Y que reciban la información adecuada y las funciones correspondientes para cubrir esta responsabilidad.

Que al funcionamiento del proceso  se le agrege la dirección de la empresa con el conocimiento de gestión y desarrollo ágil.


·         Gráfico Burn-Up
Es una herramienta que le permite al propietario un seguimiento y gestión del producto, en la cual se muestran las versiones que se encuentran previstas, la funcionalidad e velocidad estimada incluyendo las probables fechas para cada versión manteniendo un margen de error y avance real.
·         Gráfico Burn-Down
Es la herramienta del equipo para gestionar  y seguir el trabajo de cada sprint.

·         Conceptos y métricas.
 Tiempo real o tiempo de trabajo.
 Tiempo teórico o tiempo de tarea.
 Puntos de función o puntos de funcionalidad.
 Estimaciones.         
 Velocidad absoluta.
 Velocidad relativa.

·         Valores
Las prácticas de Scrum “más conocidas como carrocería” permiten trabajar con los principios agiles. Son como una ayuda para organizar a las personas y el flujo de trabajo.

La carrocería sin un motor, sin los valores que den sentido al desarrollo ágil, no funciona.
-       Delegación de atribuciones al equipo que le permita auto-organizarse y tomar las decisiones necesaria para el desarrollo.
-       Los miembros del equipo se deben respetar sus conocimientos y capacidades.
-       Deben tener auto-disciplina.
-       Trabajo centrado en el desarrollo de lo comprometido.












·         Los elementos

El método Scrum consta como elementos principales:
-       Product backlog
-       Sprint backlog
-       Burn down

Product backlog
Es un documento de alto nivel para todo proyecto. Contiene descripciones genéricas de todos los requerimientos, funcionalidades deseables, etc, priorizadas según su entorno sobre la inversión del proyecto. Es el que va a ser construido. Está abierto a cualquier modificación. Contiene estimaciones tanto del valor para el negocio, como del esfuerzo del desarrollo requerido. Si se llegaran a encontrar dos tareas con el mismo valor de negocio se le dará mayor prioridad a la que tenga menor tiempo desarrollo

Sprint backlog
Es un documento detallado donde se describe el como el equipo de trabajo implementara los requisitos durante el siguiente Sprint. Las tareas se dividen en horas, con ninguna tarea de duración superior a 16 horas. Si una tarea llegara a ser mayor de 16 horas, esta no cumplirá con el modelo, por lo que será desglosada en dos o más tareas (las que sean necesarias). Las tareas nunca son asignadas, sino más bien tomadas por miembros del equipo a los que se les facilite de mejor forma.

Burn down
Es una gráfica mostrada públicamente que mide la cantidad de requisitos en el backlog del proyecto pendiente de cada Sprint. Dibujando una línea que conecte los puntos de todos los Sprint completados, podremos ver el progreso del proyecto y la vez las variaciones del mismo. Tiende a ser siempre un línea descendente (en el caso de que todo vaya bien) hasta llegar al eje horizontal, lo que indica que el proyecto ha sido terminado. Durante las variaciones la línea tendera a pendientes ascendentes en determinados segmentos del plano.


























·         Las Reuniones
 
       Las reuniones forman parte del modelo:

Ø  Planificación del sprint
Ø  Monitorización del sprint
Ø  Revisión del sprint

Descripción general del Sprint: es esta reunión se toman como base las prioridades y necesidades de negocio del cliente, y como serán las funcionalidades que se incorporarán al producto en la próxima creación de sprint.
La planificaron del sprint no debe durar más de un día.

Características de las reuniones:

Ø  Pre-condiciones:
La organización tiene determinado los recursos necesarios para  llevar a cabo el sprint.
El propietario ya debe haber trabajo previamente con el equipo.
El equipo debe tener un conocimiento de las tecnologías empleadas para realizar las estimaciones en un juicio perfecto.
Ø  Entradas:
El blacklog del producto.
El producto desarrollado hasta la fecha.
Ø  Resultados:
Blacklog del sprint
Duración del sprint y  fecha de la reunión de revisión
Objetivo del sprint



























Conclusiones


Scrum es un modelo de trabajo basado en las investigaciones de Hirotaka Takeuchi e Ikujiro Nonaka (durante los años 80'), consiste en las prácticas y roles de ejecución para la inicialización de un proyecto. Su desarrollo fue con el fin de ser implementada para proyectos de tipo desarrollo de software, pero debido a su rápido éxito provoco el que fuera introducido a otras áreas de trabajo.

Es un modelo de tipo ágil  aunque con algunas integraciones de los que fueron los modelos clásicos de trabajo(de carácter predictivo), cumple con las funciones de ser un modelo adaptable a situaciones de cambio, de tipo interactivo, flexible, entre otras características.

Considerado un modelo revolucionario dentro del sistema de trabajos de esa época, ya que cambia el sistema de ser estático a uno mucho más dinámico, rompe además con la comunicación por documentos y pasa a ser de carácter de dialecto entre los trabajadores, con una mayor capacidad de análisis frente a los problemas, mejor distribución de trabajo y de auto-seguimiento del mismo, estos son algunos de sus cambios frente a los métodos utilizados con anterioridad a este.

A pesar de ser una metodología equilibrada en varios sentidos frente a otras utilizadas  sigue siendo un modelo de trabajo que se encuentra en constante cambio, no es estático, si pensamos en el hecho de que está destinado al desarrollo de software, el cual es una rama de trabajo la cual está en constante cambio.

Referencia

No hay comentarios:

Publicar un comentario