Metodología de desarrollo ágil Crystal
Antecedentes:
Los equipos exitosos enfatizaban que no habían
seguido métodos formales ni herramientas CASE
y que habían estimulado la comunicación y los test.
Conclusión:
- Alistair Cockburn, Hace un énfasis en la familia de
metodologías Cystal
- Cada proyecto necesita sus propios metodos
- Alistair Cockburn, usa su experiencia personal para
construir una teoria del como deben hacerce las
cosas y agrega su experiencia de busqueda activa
de proyectos.
Observación personal de Alistair Cockburn:
- El observa esta metodología en función de las
personas y los errores , mostrándolo en dos ejes.
C : cómodo
D : perdida de $ disponible
E : perdida de $ esencial
L : perdida de vida
- La metodología crystal al igual que xp se centran en los
recursos humanos.
- La metodología cristal no es una metodología disciplinada
- Permite intercambiar productividad por facil ejecución
- Se aplican tecnicas de mejoramiento continuo
- Sirve para encontrar los problemas tempranamente
Definiciones:
- Centrada en las personas
- Reduccion de artefactos producidos
- Politicas de trabajo deben estar bien definidas de
acuerdo a los grupos
Por ejemplo :
- Crystal Clear (3 a 8 miembros)
- Crystal Orange (25 a 50 miembros).
Caracteristicas:
- Numero de personas aumenta, entonces aumenta
la necesidad de coordinar.
- Potencial de daños incrementa, la tolerancia a
variaciones se ve afectada.
- Tiempo de salida al mercado varia.
- Comunicación cara a cara, en el mismo espacio
de tiempo.
- Factor mas significativo “COMUNICACION”.
PROPIEDADES DE CRYSTAL CLEAR
Entrega frecuente. Consiste en entregar
software a los clientes con frecuencia, no
solamente en compilar el código. La
frecuencia dependerá del proyecto, pero
puede ser diaria, semanal o mensual.
Comunicación osmótica. Todos juntos en el
mismo cuarto. Una variante especial es
disponer en la sala de un experto diseñador
senior y discutir respecto del tema que se
trate.
PROPIEDADES DE CRYSTAL CLEAR
Mejora reflexiva. Tomarse un pequeño
tiempo (unas pocas horas cada semana o
una vez al mes) para pensar bien qué se
está haciendo, cotejar notas, reflexionar,
discutir.
Seguridad personal. Hablar con los
compañeros cuando algo molesta dentro
del grupo.
PROPIEDADES DE CRYSTAL CLEAR
Foco. Saber lo que se está haciendo y
tener la tranquilidad y el tiempo para
hacerlo.
Fácil acceso a usuarios expertos. Tener
alguna comunicación con expertos
desarrolladores.
ESTRATEGIAS DE M.A.
Exploración de 360°. Verificar o tomar una
muestra del valor de negocios del proyecto,
los requerimientos, el modelo de dominio, la
tecnología, el plan del proyecto y el proceso.
Victoria temprana. Es mejor buscar pequeños
triunfos iniciales que aspirar a una gran
victoria tardía.
ESTRATEGIAS DE M.A.
Esqueleto ambulante. Es una transacción que
debe ser simple pero completa.
Rearquitectura incremental. Se ha
demostrado que no es conveniente
interrumpir el desarrollo para corregir la
arquitectura. Más bien la arquitectura debe
evolucionar en etapas, manteniendo el
sistema en ejecución mientras ella se
modifica.
ESTRATEGIAS DE M.A.
Radiadores de información. Es una lámina
pegada en algún lugar que el equipo pueda
observar mientras trabaja o camina. Tiene
que ser comprensible para el observador
casual, entendida de un vistazo y renovada
periódicamente para que valga la pena
visitarla.
TECNICAS
Entrevistas de proyectos. Se suele entrevistar
a más de un responsable para tener visiones
más ricas.
Talleres de reflexión. El equipo debe
detenerse treinta minutos o una hora para
reflexionar sobre sus convenciones de trabajo,
discutir inconvenientes y mejoras y planear
para el período siguiente.
TECNICAS
Planeamiento Blitz. Se escriben las funciones
del programa en tarjetas y los programadores
estiman tiempos para cada una de forma
independiente entre las mismas.
Estimación Delphi con estimaciones de
pericia. Los expertos se reúnen y definen el
tamaño del proyecto, fecha de entrega, etc.
TECNICAS
Encuentros diarios de pie. Cinco a diez
minutos como máximo. No se trata de
discutir problemas, sino de identificarlos.
Miniatura de procesos. Una forma de
presentar Crystal Clear puede consumir entre
90 minutos y un día. La idea es que la gente
pueda “degustar” la nueva metodología.
TECNICAS
Gráficos de quemado. Son gráficas en las cuales
se observan retrasos en las tareas, este gráfico
sirve para tener un control del proyecto y ver en
que funciones deben tener mayor prioridad.
Programación lado a lado. Establece proximidad,
pero cada quien se enfoca a su trabajo asignado,
prestando un ojo a lo que hace su compañero,
quien tiene su propia máquina. Esta es una
ampliación de la Comunicación Osmótica al
contexto de la programación.
Roles en Crystal Clear:
• Hay ocho roles nominados en CC:
1.-Patrocinador.
2.-Usuario Experto.
3.-Diseñador Principal.
4.-Diseñador Programador.
5.-Experto en Negocios.
6.- Coordinador.
7.-Verificador.
8.- Escritor.
El Código Genético
Crystal Clear no es una metodología en si
misma sino una familia de metodologías con
un “código genético” común.
La idea es poder armar distintas metodologías
para distintos tipos de proyectos. Cada
proyecto y organización usará este código
genético para generar su propia metodología.
1. Un “modelo de juegos
cooperativos”
• Este modelo ve al desarrollo de software
como una serie de partidos que consisten en
inventar y comunicar. Cada partido es
diferente y tiene como objetivo entregar
software y prepararse para el siguiente juego.
Esto permite al equipo trabajar concentrado y
en forma efectiva con un objetivo claro cada
vez.
2. Prioridades
Crystal Clear establece un conjunto de
prioridades y principios que sirven de guía para la
toma de decisiones
• Eficiencia en el desarrollo: para hacer que los
proyectos sean económicamente rentables
• Seguridad en lo que se entrega
• Habitabilidad: hacer que todos los miembros del
equipo adopten y sigan las convenciones de
trabajo establecidas por el equipo mismo.
3. Propiedades
• Frecuencia en las entregas: entregar al usuario
funcionalidad "usable" con una frecuencia de entre 2
semanas y no más de un mes.
• Comunicación: Crystal Clear toma como uno de sus
pilares a la comunicación. Promueve prácticas como
el uso de pizarrones, pizarras y espacios destinados a
que todos (miembros del equipo y visitas) puedan
ver claramente el progreso del trabajo
• Crecimiento reflexivo : es necesario que el equipo
lleve a cabo reuniones periódicas de reflexión que
permitan crecer y hacernos más eficientes.
• Estas tres propiedades son "obligatorias" para Crystal
Clear, las siguientes pueden agregarse en la medida
de las necesidades de cada grupo y proyecto
• Seguridad personal: lograr que cada miembro del
team pueda sentirse cómodo con el trabajo y el
entorno
• Concentración: las entregas frecuentes permiten que
cada desarrollador puede enfocar de a un problema
por vez evitando dispersiones.
• Fácil acceso a usuarios clave: tratar de hacer que el
usuario sea una parte más del equipo es
fundamental para ir depurando errores de manera
temprana.
4. Principios
• El grado de detalle necesario en documentar
requerimientos, diseño, planeamiento, etc, varía
según el proyecto
• Es imposible eliminar toda documentación pero
puede ser reducida logrando un modo de
comunicación más accesible, informal y preciso que
pueda ser accedido por todos los miembros del
equipo.
• El equipo ajusta constamente su forma de trabajo
para lograr que cada personalidad encaje con los
otros miembros, con el entorno y las particularidades
de cada asignación
5. Estrategias
Ni las estrategias ni las técnicas son mandatorias para
Crystal Clear. Pero es bueno tener en cuenta algunas
de ellas al momento de empezar a trabajar.
Tres de las estrategias que están más relacionadas
son las de apuntar a tener "Victorias Tempranas",
arrancar el desarrollo de lo que se denomina un
"Esqueleto que Camine" y pensar siempre en hacer
"Rearquitectura Incremental" van de la mano.
El poder arrancar el proceso a partir de un esqueleto
sobre el cual se irá agregando funcionalidad en cada
una de las entregas ayuda a que se vean los avances
desde el comienzo (aunque sea una simple pantalla
de ABM que se conecta con la base de datos y
muestra un solo dato). A medida que se avanza en el
proceso, la rearquitectura permitirá ir agregando más
"cuerpo" al esqueleto inicial.
Todas describen una forma de tomar ventaja del
desarrollo incremental para establecer valor desde el
principio.
Grafico 1
6. Técnicas
Igual que con las estrategias, hay una lista de técnicas
propuestas por Crystal Clear, de las cuales se pueden
ir tomando las más convenientes según el momento
en que se encuentra el proceso de desarrollo del
proyecto.
Las reuniones diarias (introducidas por la
metodología Scrum) acompañan el seguimiento y
mantienen el foco en el próximo paso a seguir, y
también permiten la discusión productiva de líneas a
seguir.
Las reuniones de reflexión periódicas son
fundamentales para que los miembros del
equipo se expresen abiertamente, para revisar
el trabajo hecho y evaluar qué cosas dan
resultado y cuáles no o de empezar a trabajar.
Todo esto permite ir armando una
metodología de trabajo que se adecue al
equipo, el proyecto y los tiempos que se
manejen.
En Resumen
• La guía de trabajo que presenta Crystal Clear es
altamente recomendable para equipos pequeños. Da
flexibilidad y prioriza la parte humana (como todas
las Metodologías Agiles), apuntando a lograr
eficiencia, habitabilidad y confianza en los miembros
del equipo.
Presta especial importancia a la ubicación física del
grupo, donde la comunicación cumple el principal
rol. La entrega frecuente de código confiable y
"funcionando" mantiene el foco y evita distracciones.
El equipo es el que elige qué técnicas aplicar según lo
que consideren apropiado en cada proyecto.
Descargar

PROPIEDADES DE CRYSTAL CLEAR