Subido por teseo87

[GENEOS] Desarrollo Agil

Anuncio
PROCESO ÁGIL DE DESARROLLO
1
COOPERATIVA DE SOFTWARE LIBRE Ltda.
#1
INTRODUCCIÓN
El desarrollo de un proyecto de software se planifica en etapas
llamadas iteraciones. Las iteraciones se pueden entender como
subproyectos que deben proporcionar un resultado completo que el
cliente ya pueda empezar a utilizar.
Una forma de estructurar el proyecto en iteraciones es dividirlo
en objetivos expresados como historias de usuarios que el
cliente prioriza. Cada historia de usuario es un requerimiento.
1
Cada día
30 días
3
2
En cada iteración, el equipo evoluciona el proyecto de forma
incremental a partir de los resultados completados en iteraciones
anteriores.
PILA DE HISTORIAS
DE ITERACIÓN
4
5
ITERACIÓN
VERSIÓN INCREMENTAL
DEL PRODUCTO
Este marco de trabajo permite la creación de equipos
autogestionados, favorece la comunicación entre los integrantes
de los mismos y participa al cliente del proceso, lo que tiene
una ventaja clave para que el proyecto este de acuerdo a las
expectativas y propiedades del cliente.
Cada proyecto implementa este marco de trabajo, adaptándolo
en función de las necesidades particulares.
4
PROCESO ÁGIL DE DESARROLLO
#2
ROLES
Dueño del Producto
El Dueño del Producto es el encargado de interpretar los
requerimientos del cliente y, a partir de esto, definir, ajustar y
priorizar las características del producto cada un lapso de tiempo
prefijado, así como aceptar o rechazar los resultados del producto.
Se asegura de que el equipo de desarrollo realice las
funcionalidades que aporten valor al negocio. Es el encargado
de escribir las denominadas Historias de Usuario, las prioriza
según la necesidad del cliente y las incorpora en la Pila de
historias del Producto.
Se compone de 3 elementos, conocidos como “las
tres Cs”:
1
Card (Ficha) es toda Historia de Usuario debe
poder describirse en una ficha de papel pequeña. Si
una Historia de Usuario no puede describirse en ese
tamaño, es una señal de que estamos traspasando
las fronteras y comunicando demasiada información
que debería compartirse cara a cara o será necesario
dividir la historia en dos o más nuevas historias.
2 Conversación es toda Historia de Usuario debe
tener una conversación con el Dueño del Producto.
Una comunicación cara a cara que intercambia no solo
información sino también pensamientos y opiniones.
3
Confirmación es toda Historia de Usuario debe
estar lo suficientemente explicada para que el equipo
de desarrollo sepa qué es lo que debe construir y qué
es lo que el Dueño del Producto espera. Esto se conoce
también como Criterios de Aceptación.
5
Que
e e
e
Una Historias de Usuario es una descripción
de una funcionalidad que debe incorporar un
sistema de software, y cuya implementación
aporta valor al cliente.
CCLIEN
LIENTTE
E
e
e
COOPERATIVA DE SOFTWARE LIBRE Ltda.
#2
ROLES
Dueño del Producto
Las fichas de las Historias de Usuario se escriben en tarjetas
con una estructura similar a la siguiente:
• Nombre breve y descriptivo.
• Descripción de la funcionalidad en forma de diálogo o
monólogo del usuario describiendo la funcionalidad que desea
realizar.
FICHA
• Criterio de validación y verificación que considerará
terminado y aceptable por el cliente el desarrollo de la
funcionalidad descrita.
• Otra información que resulte necesaria por el modelo
de implementación: Prioridad, Riesgo, Tamaño, etc
Para cada proyecto en particular, GENEOS mantendrá comunicación
con aquella persona que sea designada por el cliente para este rol.
#2
ROLES
Facilitador
El proceso es guiado por un Facilitador, cuyo trabajo primario
es eliminar los obstáculos que impiden que el equipo alcance
el objetivo. No es el líder del equipo, asume el rol de facilitador, y
su autoridad es, en su mayor parte indirecta, ya que el equipo se
autogestiona; debe ser miembro del equipo y trabajar a la par.
6
PROCESO ÁGIL DE DESARROLLO
#2
ROLES
Facilitador
Al inicio del proyecto el equipo debe ponerse de acuerdo en
cuanto a las prácticas que se van a implementar, las frecuencias
de las reuniones, los artefactos a utilizar y otras consideraciones.
Es responsabilidad del Facilitador, gestionar este proceso y
garantizar que los acuerdos se respeten.
También es responsabilidad del Facilitador, iniciar y cerrar
las reuniones diarias y consolidar las métricas para analizar la
tendencia en la velocidad del equipo.
#2
ROLES
Equipo de desarrollo
Es quien llevará a cabo el proyecto. El equipo debe ser
multidisciplinar y, por lo tanto, deberá contar en su interior
con todo el conocimiento necesario para llevar a cabo el
proyecto. En momentos puntuales el equipo puede contar
con la ayuda de terceros.
Posee el derecho y la libertad de realizar lo que sea (dentro de los
límites generales del proyecto) para alcanzar el objetivo. Debido a
que trabaja como una caja negra debe organizarse a si mismo y a
su trabajo, y debe presentar versiones para exhibir los resultados.
META
7
COOPERATIVA DE SOFTWARE LIBRE Ltda.
#3
DOCUMENTOS
Pila de historias del Producto
Es un documento de alto nivel para todo el proyecto. Contiene
un listado de funcionalidades requeridas por el proyecto en
forma de historias de usuarios, priorizadas según la valorización
que el cliente considera necesaria. Es abierto y solo puede ser
modificado por el Dueño del Producto.
Contiene estimaciones realizadas a grandes rasgos, tanto del
valor para el negocio, como del esfuerzo de desarrollo requerido.
Esta estimación permite dimensionar el trabajo según la
disponibilidad del equipo en la planificación de cada etapa.
Tablero
Pend
ient.
Ejec
. R
eali
zada
Es una herramienta para gestionar tareas dentro del proyecto.
El Tablero permite desplazar las historias en forma de tarjetas
entre columnas que representan estados. De esta forma nos
queda la perspectiva global del alcance en una estructura
dinámica (se puede agregar una tarjeta en cualquier momento
y en caso de que una tarjeta planeada en una iteración no se
llegue a hacer puede volver al Pila de historias del Producto).
En general consta de tres columnas que representan las
tareas pendientes, las que están siendo ejecutadas y las
finalizadas; esta estructura puede incluir nuevas columnas
según necesidades específicas del proyecto.
Pila de historias de iteración
Es un subconjunto de las historias de la Pila de historias del
Producto que van a ser abordadas durante una iteración, según
su prioridad.
Primero deben calcularse las horas que el equipo de desarrollo
tiene disponible y luego, respetando la prioridad de la Pila de
historias del Producto , comenzar a seleccionar las historias
para la iteración. En el tablero, esta sería la primer columna de la
izquierda, o “Pendiente”. Este recorte o selección debe realizarse
en el momento de la reunión de planificación de la iteración.
8
PROCESO ÁGIL DE DESARROLLO
#4
REUNIONES
Reunión Diaria
Cada día de una iteración se realiza la reunión sobre el estado
de un proyecto. Esto se llama reunión diaria y tiene unas guías
específicas:
• La reunión comienza puntualmente a su hora.
• Todos son bienvenidos, pero sólo los involucrados en
el proyecto pueden hablar.
• La reunión tiene una duración fija de 15 minutos, de
forma independiente del tamaño del equipo.
•
La reunión debe ocurrir en la misma ubicación y a
la misma hora todos los días.
Durante la reunión, cada miembro del equipo contesta a tres preguntas:
1. ¿Qué has hecho desde ayer?
2. ¿Qué es lo que harás hasta la reunión de mañana?
3. ¿Has tenido algún problema que te haya impedido alcanzar tu objetivo? (el Facilitador
debe recordar estos impedimentos).
Reunión de Planificación del Iteración
Es una reunión que tiene dos partes: la primera parte sirve
para seleccionar la Pila de historias de iteración y la segunda
parte para preparar la iteración.
Los asistentes son el Facilitador, el Dueño del Producto y el
Equipo. Otros actores pueden ser invitados por cualquiera de
los anteriores para proporcional información adicional sobre
el dominio del negocio o la tecnología, pero saldrán una vez
proporcionen esta información.
El Dueño del Producto debe preparar la Pila de historias
de iteración antes de la reunión. En ausencia del Dueño del
Producto, el Facilitador debe construir la Pila de historias de
iteración antes de la reunión y sustituir al Dueño del Producto.
El objetivo de la primera parte es que el Equipo y el Facilitador
seleccionen aquellos elementos de la Pila de historias de
9
COOPERATIVA DE SOFTWARE LIBRE Ltda.
#4
REUNIONES
Reunión de Planificación del Iteración
Objetivos
Puntos
Recursos
& tareas
Variables
Resultados esperados
iteración que cree que puede comprometerse a transformar en
un incremento de funcionalidad.
El Dueño del Producto debe estar disponible para el Equipo
durante la segunda parte para responder aquellas preguntas que
el Equipo pueda tener acerca de la Pila de historias de iteración.
El resultado de la segunda parte de la reunión es la Pila de
historias de iteración pulida con las tareas, estimaciones de
tareas y asignaciones que dará comienzo al trabajo del Equipo
para desarrollar la funcionalidad.
La lista de tareas puede no ser completa, pero debe ser
suficientemente completa para reflejar el compromiso mutuo
por parte de todos los miembros del Equipo y guiarlos durante
la primera parte de la iteración, durante la cual el Equipo puede
encontrar más tareas a añadir en la Pila de historias de iteración.
Revisión de iteración
Proporciona un punto de evaluación para el progreso del proyecto al final de cada
iteración. El Equipo estimó donde estaría al final de la iteración y estableció su camino
hacia ese punto; al final de la iteración presenta el incremento del producto que ha sido
capaz de implementar.
El Dueño del Producto y otras personas que para el Dueño del Producto sean relevantes
en este análisis, determina el incremento del producto, escuchan las historias que el equipo
tiene que contar sobre su camino durante la iteración, sobre que fue bien y que fue mal.
El propósito es que el Equipo presente al Dueño del Producto y los demás interesados
la funcionalidad que está completada. La mayor parte de esta reunión se consume
con los miembros del Equipo presentando funcionalidad, respondiendo preguntas del
Dueño del Producto y los demás interesados sobre la presentación y descubriendo
qué cambios desean estos.
Al finalizar, los interesados son encuestados, uno a uno, para recoger sus impresiones,
que cambios desean, y la prioridad de esos cambios.
El Dueño del Producto discute con los interesados y con el Equipo el potencial cambio
de la Pila de historias del Producto basándose en su feedback.
10
PROCESO ÁGIL DE DESARROLLO
#4
REUNIONES
Retrospectiva
Es una reunión posterior a la revisión de la iteración, acordada para revisar la
iteración transcurrida y determinar que se puede mejorar en la siguiente. La reunión
de revisión se centra en ‘qué’ está construyendo el Equipo, la reunión de retrospectiva
se centra en el ‘cómo’.
La motivación para realizar esta reunión es lograr la mejora continua del proceso de
desarrollo. Esta no es una metodología fija sino un marco metodológico que debe ser
continuamente adaptado a cada proyecto, equipo o empresa. Dura entre 30 minutos
y 1 hora, complementando dinámicamente los pasos:
1
Matriz de aprendizaje
Consiste hacer una tabla con cuatro cuadrantes y escribir:
• Qué fue bien
• Qué no fue bien
• Ideas o cosas para hacer de otra manera
• Reconocimientos
2
Decidir qué cosas hacer
3
Analizar el estado de ánimo del equipo
Buscar acciones concretas que tomar en la siguiente iteración;
no deben ser demasiadas iniciativas, uno o dos experimentos y
asegurarse de tenerlos en cuenta durante las reuniones diarias
y analizarlos en la siguiente retrospectiva.
Cada integrante del equipo expresa cómo se sintió durante la última
iteración y se asigna un valor de conformidad que va del 1 a 3
(3) Estoy muy satisfecho con el trabajo en equipo.
(2) Bastante satisfechos, la mayor parte trabajamos bien.
(1) Estoy disconforme y poco satisfecho con el trabajo en equipo.
4
Cerrar la retrospectiva
Finalizar la retrospectiva de manera contundente: no permitir que
haya cosas que se posterguen hacia otras reuniones. Hacer una
retrospectiva de la retrospectiva y cerrar la sesión.
11
[email protected]
I
Gral Paz 440
I
www.geneos.com.ar
Tandil
I
Argentina
Descargar