miércoles, 14 de octubre de 2015

Metodología Scrum

Metodología Scrum
Dulce Mendoza
Bryan Rivero

En el año de 1986 Takeuchi y Nonaka publicaron el artículo “ The New Product Developroent Game” el cual dará a conocer una nueva forma de gestionar proyectos en la que la agilidad, flexibilidad, y la incertidumbre son los elementos principales.
Nonaka y Takeuchi se fijaron en empresas tecnológicas que, estando en el mismo entorno en el que se encontrabas otras empresas, realizaban productos en menos tiempo, de buena calidad y menos costes.
Observando a empresas como Honda, HP, Canon…etc, Se dieron cuenta de que el producto o seguía unas pases en las que había un equipo especializado en cada una de ellas, si no que se partía de unos requisitos muy generales y el producto lo realizaba un equipo multisciplinar que trabajaba desde el comienzo del proyecto hasta el final.
Se comparó esta forma de trabajo en equipo, con la colaboración que se hacen los jugadores de rugby y la utilización de una formación denominada SCRUM.
Scrum aparece como una práctica destinada a los productos tecnológicos y será en 1993 cuando realmente Jeff Sutherland aplique un modelo de desarrollo de Software en Ease/Corporation.
En 1996, Jeff Surtherland y Ken Schwaber presentaron las prácticas que se usaban como proceso formal para el desarrollo de software y que pasarían a incluirse en la lista de Agile Alliance.
Scrum es adecuado para aquellas empresas en las que el desarrollo de los productos se realiza entornos que se caracterizan por tener:
Incertidumbre: Sobre esta variable se plantea el objetivo que se quiere alcanzar sin proporcionar un plan detallado del producto.
Esto genera un reto y da la autonomía que sirve para generar un “tensión” adecuada para la motivación de los equipos.
Auto-organización: Los equipos son capaces de organizarse por si solos, no necesitan roles para la gestión pero tienen que reunir las siguientes características:
-Autonomía: Son los encargados de encontrar la solución usando la estrategia que encuentren adecuada.
-Autosuperación: Las soluciones iniciales sufrirán mejoras.
-Auto-enriquecimiento: Al ser equipos multidisciplinares se ven enriquecidos de forma mutua, aportando soluciones que pueden complementarse.
Control moderado: Se establecera un control suficiente para evitar descontroles. Se basa en crear un escenario de “autocontrol entre iguales” para no impedir la creatividad y espontaneidad de los miembros del equipo.
Transmisión del conocimiento: Todo el mundo aprende de todo el mundo. Las personas pasan de unos proyectos a otros así comparten sus conocimientos a lo largo de la organización.
Scrum al ser una metodología de desarrollo ágil tiene como base la idea de creación de ciclos breves para el desarrollo, que comúnmente se llama iteraciones y que en Scrum se llamaran “Sprints”, Su ciclo tiene 5 fases que definen el ciclo:
-Concepto: Se define de forma general las características del producto y se asigna el equipo que se encargara de su desarrollo.
-Especulación: En esta fase se hacen disposiciones con la información obtenida y se establecen los límites que marcaran el desarrollo del producto, yales como costes y agendas.
-Exploración: Se incrementa el producto en el que se añaden las funcionalidades de la pase de especulación.
-Revisión: El equipo revisa todo lo que se ha construido y se contrasta con el objetivo deseado.
-Cierre: Se entregara en la fecha acordada un versión del producto deseado. Al tratarse de una versión, el cierro no indica que se ha finalizado el proyecto sino que seguirá habiendo cambios, denominados “mantenimientos”, que hará que el producto final se acerque al producto final deseado.
Scrum gestiona estas iteraciones a través de reuniones diarias, uno de los elementos fundamentales de esta metodología

Componentes de Scrum.

Para entender todo lo que el proceso de desarrollo del Scrum, se describirá de forma general las fases y roles. Estas fases y roles se detallaran de forma más concisa mas adelante.
Scrum se puede dividir de forma general en 3 fases, que podemos entender como reuniones. Las reuniones forman parte de los artefactos de esta metodología junto con los roles y elementos que lo forman.

Las Reuniones.

Planificación del Backlog: Se definirá un documento en el que se reflejaran los requisitos del sistema por prioridades.
En esta fase se definirá también la planificación del Sprint 0, en la que se decidirá cuáles van a ser los objetivos y el trabajo que hay que realizar para esa iteración.
Se obtendrá además en esta reunión un Sprint Backlog, que es la lista de tareas y que es el objetivo más importante del Sprint.
Seguimiento del Sprint: En esta fase se hacen las reuniones diarias en las que las 3 preguntas principales para evaluar el avance de las tareas serán:

-¿Qué trabajo se realizó desde la reunión anterior?
-¿Qué trabajo se hará hasta la nueva reunión?
-Inconvenientes que han surgido y que hay que solucionar para poder continuar.

Revisión del Sprint: Cuando se finaliza el Sprint se realizara una revisión del incremento que se ha generado. Se presentara los resultados finales y una demo i versión, esto ayudara a mejorar el feedback con el cliente.

Los Roles.

Los roles se dividen en 2 grupos: Cerdos y Gallinas, esto surge en el chiste sobre un cerdo y una gallina y su intención de poner un restaurante.
Los Cerdos:
Son las personas que están comprometidas con el proyecto y el proceso de Scrum.
-Producto Owner: Es la persona que toma las decisiones, y es la que realmente conoce el negocio del cliente y su visión del producto. Se encarga de escribir las ideas del cliente, las ordena por prioridad y las coloca en el Product Blaclog.
-ScrumMaster: Es el encargado de comprobar que el modelo y la metodología funciona. Eliminará todos los inconvenientes que hagan que el producto no fluya e interactuara con el cliente y con los gestores
-Equipo De Desarrollo: Suele ser un equipo pequeño de unas 5-9 personas y tienen autoridad para organizar y tomar decisiones para conseguir su objetivo. Está involucrado en la estimación del esfuerzo de las tareas del blacklog.
Las Gallinas:
Aunque no son partes del proceso Scrum, es necesario que parte de la retroalimentación de la salida del proceso y así poner revisar y planear cada Sprint.
-Usuarios: Es el destinatario final del producto.
-Stakeholders: Las personas al as que el proyecto les producirá un beneficio. Participan durante las revisiones del Sprint.
-Managers: Toma decisiones finales participando en la selección de los objetivos y de los requisitos.

Elementos de Scrum.

Los elementos que forman Scrum son:
-Product Blacklog: Lista de necesidades del cliente.
-Sprint Backlog: Lista de tareas que se realizan en un Sprint.
-Incremento: Parte añadida o desarrollada en un Sprint, es una parte terminada y totalmente operativa.
Product Blacklog.
Es el inventario en el que se almacenan todas las funcionalidades o requisitos en forma de lista priorizada. Estos requisitos serán los que tendrán el producto o los que ira adquiriendo en sucesivas iteraciones.
La lista será gestionada y creada por el cliente con ayuda del Scrum Master, quien indicara el coste estimado para completar un requisito, y además contendrá todo lo que aporte un valor final al producto.
Es necesario que antes de empezar el Sprint se definan cuales van a ser los objetivos del producto y tener una lista de requisitos ya definida. No es necesario que sea muy detallada, simplemente deberá contener los requisitos principales para que el equipo pueda trabajar.
 Una vez definidos los requisitos se tendrá que acordar cuando se tiene que entender un objetivo como terminado o completado.
Como complemento a la definición  de completado, se deberá asociar una condición de aceptación o no aceptación a cada objetivo en el mismo momento en el que se crea la lista.
Finalmente el Product Blacklog ira evolucionando mientras el producto exista en el mercado. Esta es la forma para evolucionar y tener un valor del producto para el cliente suficiente para ser competitivo.

Las Historias de Usuario.

Son las descripciones de las funcionalidades que va a tener el software.
Estas Historias de usuarios, serán el resultado de la colaboración entre el cliente y el equipo, e iran evolucionando durante toda la vida del proyecto.
Las historias de usuario se componen de tres fases denominadas “Las 3 C”:
-Card: Sera una breve descripción escrita que servirá como recordatorio.
-Conversation: Es una conversación que servirá para asegurar de que se ha entendido bien todo, y concretar el objetivo.
-Confirmation: Tests funcionales para finar detalles que sean relevantes e indicar cuál va a ser el límite.

Formato de la Pila Del Producto (Product Blacklog).

En Scrum, la preferencia por tener documentación en todo momento es menos estricta. Se encuentra mas necesario el matener una comunicación directa con el equipo, por eso se usa como herramienta el Backlog.
Aunque no hay ningún producto especial al a hora de confeccionar la lista, es conveniente que incluya información relativa a:
-Identificador para la funcionalidad.
-Descripción de la funcionalidad.
-Sistema de priorización u orden.
-Estimación.

Sprint Backlog.

En esta lista de tareas que elabora el equipo durante la planificación de un Sprint. Se asignan las tareas a cada persona y el tiempo que queda para terminarlas.
De esta manera el proyecto se descompone en unidades más pequeñas y se puede determinar o ver en que tarea no se está avanzando e intentar eliminar el problema.
Cómo funciona la lista:
Es una lista ordenada por prioridades para el cliente.
Puede haber dependencias entre tareas y ora, por lo tanto se tendrán que diferenciar de alguna manera.
Todas las tareas tienen que tener un coste semejante que será entre 4-16 horas.
Formato de la lista:
-Hay 3 opciones:
-Hojas de cálculo.
-Pizarras.
-Herramientas colaborativas.

Incremento.

Representa los requisitos que se han completado en una iteración y que son perfectamente operativos.
Según los resultados que se obtengan, el cliente puede ir haciendo los cambios necesarios y replanteando el proyecto.

No hay comentarios:

Publicar un comentario