Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CRYSTAL
Introduccin
Crystal es una metodologa de desarrollo de Software gil, ms que una metolodoga se la considera una
familia de metodologas, debido a que se subdivide en varios tipos de metodologas en funcin a la cantidad
de persona que vayan a estar en el proyecto. Es una metodologa que ha sido creada por una persona en
particular (Alistair Cockburn ) el cul llego la cre en base al anlisis de distintos proyectos de desarrollo de
SW y su propia experiencia, lo cul fusionando ambos aspectos dio lugar a una metodologa bastante
interesante, la cual se presenta a continuacin.
Desarrollo de la metodologa
Antecedentes
En los inicios de 1990, en un estudio realizado en IBM se lleg a los siguientes acuerdos (Cockburn, 2001).
Los equipos exitosos enfatizaban que no haban seguido mtodos formales ni herramientas CASE y que
haban estimulado la comunicacin y los test.
Los equipos con problemas no entendan sus fallas o si haban cumplido con los mtodos formales.
Qu es Crystal Clear
Crystal Clear no es una metodologa en si misma sino una familia de metodologas con un cdigo gentico
comn.
El nombre Crystal deriva de la caracterizacin de los proyectos segn 2 dimensiones, tamao y complejidad
(como en los minerales, color y dureza).
Por ejemplo.
Clear es para equipos de hasta 8 personas o menos.
Amarillo para equipos entre 10 a 20 personas.
Naranja para equipos entre 20 a 50 persona.
Roja para equipos entre 50 a 100 personas.
Azul para equipos entre 100 a 200 personas.
CC puede ser usado en proyectos pequeos y como casi todos los otros mtodos, CC consiste en valores,
tcnicas y procesos.
En primera instancia se especican los antecedentes de la metodologa, continuando con deniciones que
ayudan a estructurar la fundamentacin terica y se termina con las caractersticas esenciales de los diferentes
tipos de Crystal.
La conclusin:
Menos nfasis en la documentacin exhaustiva y ms en versiones que corran y puedan ser probadas. Lo
primero son promesas, lo segundo hechos. Cada proyecto necesita sus propios mtodos. Alistair Cockburn en
lugar de partir solamente de su experiencia personal para construir una teora de cmo deben hacerse las cosas
complementa su experiencia directa con la bsqueda activa de proyectos para ver cmo trabajan.
l ha explorado a fondo los mtodos giles, haciendo nfasis en la familia de metodologas Crystal. Es una
familia porque cree que los diferentes tipos de proyectos requieren diferentes tipos de metodologas. l mira
esta variacin a lo largo de dos ejes: el nmero de personas en el proyecto, y las consecuencias de los errores.
Cada metodologa encaja en una parte diferente, de modo que para un proyecto de 40 personas que puede
perder dinero discrecionalmente tiene una metodologa diferente a la de un proyecto vital de seis personas.
La familia de metodologas Crystal comparten con la XP una orientacin humana, pero esta centralizacin en
la gente se hace de una manera diferente. Alistair considera que las personas encuentran difcil seguir un
proceso disciplinado, as que ms que seguir la alta disciplina de la XP, Alistair explora la metodologa menos
disciplinada que aun podra tener xito, intercambiando conscientemente productividad por facilidad de
ejecucin. l considera que aunque Crystal es menos productivo que la XP, ms personas sern capaces de
seguirlo.
Alistair tambin pone mucho peso en las revisiones al nal de la iteracin, animando al proceso a aplicar
tcnicas de mejoramiento continuo en forma automtica. Su asercin es que el desarrollo iterativo est para
encontrar los problemas temprano, y entonces permitir corregirlos. Esto pone ms nfasis en la gente
supervisando su proceso y anndolo conforme desarrollan.
Deniciones
Se trata de un conjunto de metodologas para el desarrollo de software caracterizadas por estar centradas en
las personas que componen el equipo y la reduccin al mximo del nmero de artefactos producidos.
El desarrollo de software se considera un juego cooperativo de invencin y comunicacin, limitado por los
recursos a utilizar. El equipo de desarrollo es un factor clave, por lo que se deben invertir esfuerzos en
mejorar sus habilidades y destrezas, as como tener polticas de trabajo en equipo denidas.
Estas polticas dependern del tamao del equipo, establecindose una clasicacin por colores, por ejemplo
Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).
Caractersticas
Las personas, como dispositivos activos, tienen modos de xito y modos de fallo. Los siguientes son los
principales:
Los mtodos se llaman Crystal evocando las facetas de una gema: cada faceta es otra versin del proceso, y
todas se sitan en torno a un ncleo idntico. Hay cuatro variantes de metodologas: Crystal Clear para
equipos de 8 o menos integrantes Amarillo, para 8 a 20 Naranja, para 20 a 50 Rojo, para 50 a 100.
1) Entrega frecuente. Consiste en entregar software a los clientes con frecuencia, no solamente en
compilar el cdigo. La frecuencia depender del proyecto, pero puede ser diaria, semanal o mensual.
2) Comunicacin osmtica. Todos juntos en el mismo cuarto. Una variante especial es disponer en la
sala de un experto diseador senior y discutir respecto del tema que se trate.
3) Mejora reexiva. Tomarse un pequeo tiempo (unas pocas horas cada o una vez al mes) para pensar
bien qu se est haciendo, cotejar notas, reexionar, discutir.
4) Seguridad personal. Hablar con los compaeros cuando algo molesta dentro del grupo.
5) Foco. Saber lo que se est haciendo y tener la tranquilidad y el tiempo para hacerlo.
6) Fcil acceso a usuarios expertos. Tener alguna comunicacin con expertos desarrolladores.
Crystal Clear no requiere ninguna estrategia o tcnica, pero siempre es til tener unas cuantas a mano para
empezar. Las estrategias comunes a otras Metodologas giles, son:
1) Exploracin de 360. Vericar o tomar una muestra del valor de negocios del proyecto, los
requerimientos, el modelo de dominio, la tecnologa, el plan del proyecto y el proceso.
2) Victoria temprana. Es mejor buscar pequeos triunfos iniciales que aspirar a una gran victoria tarda
3) Esqueleto ambulante. Es una transaccin que debe ser simple pero completa.
4) Rearquitectura incremental. Se ha demostrado que no es conveniente interrumpir el desarrollo para
corregir la arquitectura. Ms bien la arquitectura debe evolucionar en etapas, manteniendo el sistema
en ejecucin mientras ella se modica.
5) Radiadores de informacin. Es una lmina pegada en algn lugar que el equipo pueda observar
mientras trabaja o camina. Tiene que ser comprensible para el observador casual, entendida de un
vistazo y renovada peridicamente para que valga la pena visitarla.
Hay ocho roles nominados en CC: Patrocinador, Usuario Experto, Diseador Principal, Diseador
Programador, Experto en Negocios, Coordinador, Vericador, Escritor. En Crystal Naranja se agregan aun
ms roles: Diseador de IU (Interfaz de Usuario), Diseador de Base de Datos, Experto en Uso, Facilitador
Tcnico, Analista/Diseador de Negocios, Arquitecto, Mentor de Diseo, Punto de Reutilizacin. A
continuacin se describen los artefactos de los que son responsables los roles de CC:
El Cdigo Gentico
Consiste en:
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.
- Prioridades
Crystal Clear establece un conjunto de prioridades y principios que sirven de gua para la toma de decisiones
Eficiencia en el desarrollo: para hacer que los proyectos sean econmicamente 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.
- Propiedades
Frecuencia en las entregas: entregar al usuario funcionalidad "usable" con una frecuencia de entre 2
semanas y no ms de un mes.
Comunicacin: Crystal Clear toma como uno de sus pilares a la comunicacin. Promueve prcticas
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 peridicas de reflexin que
permitan crecer y hacernos ms 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 cmodo con el trabajo y el
entorno.
Concentracin: las entregas frecuentes permiten que cada desarrollador puede enfocar de a un
problema evitando dispersiones.
Fcil acceso a usuarios clave: tratar de hacer que el usuario sea una parte ms del equipo es
fundamental para ir depurando errores de manera temprana.
Entorno tcnico con: i - Testing automatizado (incorporacin, por ejemplo, de UnitTest) - ii.
Integracin frecuente (uso de herramientas especficas como Cruise Control).
- Principios
El grado de detalle necesario en documentar requerimientos, diseo, planeamiento, etc, vara segn
el proyecto.
Es imposible eliminar toda documentacin pero puede ser reducida logrando un modo de
comunicacin ms accesible, informal y preciso que pueda ser accedido por todos los miembros del
equipo.
El equipo ajusta constantemente su forma de trabajo para lograr que cada personalidad encaje con los
otros miembros, con el entorno y las particularidades de cada asignacin.
- Estrategias
Ni las estrategias ni las tcnicas son mandatorias para Crystal Clear. Pero es bueno tener en cuenta alguna de
ellas al momento de empezar a trabajar.
Tres de las estrategias que estn ms 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 ms "cuerpo" al esqueleto inicial.
Todas describen una forma de tomar ventaja del desarrollo incremental para establecer valor desde el
principio.
- Tcnicas
Igual que con las estrategias, hay una lista de tcnicas propuestas por Crystal Clear, de las cuales se pueden ir
tomando las ms convenientes segn el momento en que se encuentra el proceso de desarrollo del proyecto.
Las reuniones diarias (introducidas por la metodologa Scrum) acompaan el seguimiento y mantienen el
foco en el prximo paso a seguir, y tambin permiten la discusin productiva de lneas a seguir.
Las reuniones de reflexin peridicas son fundamentales para que los miembros del equipo se expresen
abiertamente, para revisar el trabajo hecho y evaluar qu cosas dan resultado y cules no o de empezar a
trabajar.
Todo esto permite ir armando una metodologa de trabajo que se adecue al equipo, el proyecto y los tiempos
que se manejen.
Conclusin
La gua de trabajo que presenta Crystal Clear es altamente recomendable para equipos pequeos. Da
flexibilidad y prioriza la parte humana, apuntando a lograr eficiencia, habitabilidad y confianza en los
miembros del equipo.
Presta especial importancia a la ubicacin fsica del grupo, donde la comunicacin cumple el principal rol.
La entrega frecuente de cdigo confiable y "funcionando" mantiene el foco y evita distracciones.
Todo esto permite ir armando una metodologa de trabajo que se adecue al equipo, el proyecto y los tiempos
que se manejen.
El riesgo en el mtodo gil son los Cambios de arquitectura son como ejercicios de trapecio.
Bibliografa
http://es.wikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software
http://www.agileshift.cl/Tutorial/DesarrolloAgilParte2.pdf
http://www.willydev.net/descargas/prev/TodoAgil.pdf