Crystal Clear (CC

)
Crystal es una metodología de desarrollo de Software ágil, más que una metodología se la considera una familia de metodologías, debido a que se subdivide en varios tipos de metodologías en función a la cantidad de persona que vayan a estar en el proyecto. Es una metodología que ha sido creada por una persona en particular (Alistair Cockburn ) el cuál llego la creó en base al análisis de distintos proyectos de desarrollo de SW y su propia experiencia, lo cuál fusionando ambos aspectos dio lugar a una metodología bastante interesante, la cual se presenta a continuación.

Un poco de historia 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 habían seguido métodos formales ni herramientas CASE y que habían estimulado la comunicación y los test. Los equipos con problemas no entendían sus fallas o si habían cumplido con los métodos formales. Crystal Clear no es una metodología en si misma sino una familia de metodologías con un “código genético” común. El nombre Crystal deriva de la caracterización de los proyectos según 2 dimensiones, tamaño 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 pequeños y como casi todos los otros métodos, CC consiste en valores, técnicas y procesos. En primera instancia se especifican los antecedentes de la metodología, continuando con definiciones que ayudan a estructurar la fundamentación teórica y se termina con las características esenciales de los difere ntestipos de Crystal. Menos énfasis en la documentación exhaustiva y más en versiones que corran y puedan ser probadas. Lo primero son promesas, lo segundo hechos. Cada proyecto necesita sus propios métodos. Alistair Cockbur n en lugar de partir solamente de su experiencia personal para construir una teoría de cómo deben hacerse las cosas omplementa su experiencia directa con la búsqueda activa de proyectos para ver cómo trabajan.

En general… Se trata de un conjunto de metodologías para el desarrollo de software caracterizadas por estar centradas e n las personas que componen el equipo y la reducción al máximo del número de artefactos producidos. Es un a familia porque cree que los diferentes tipos de proyectos requieren diferentes tipos de metodologías. haciendo énfasis en la familia de metodologías Crystal. de modo que para un proyecto de 40 personas que puede perder dinero discrecionalmente tiene una metodología diferente a la de un proyecto vital de seis personas . La familia de metodologías Crystal comparten con la XP una orientación humana. y las consecuencias de los errores. Alistair considera que las personas encuentran difícil seguir un proceso disciplinado. Cada metodología encaja en una parte diferente. El equipo de desarrollo es un factor clave. Esto pone más énfasis en la gente supervisando su proceso y afinándolo conforme desarrollan. . por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas. Alistair también pone mucho peso en las revisiones al final de la iteración. y entonces permitir corregirlos. limitado por lo s recursos a utilizar. así como tener políticas de trabajo en equipo definidas. más personas serán ca paces de seguirlo. por ejem plo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros).Él ha explorado a fondo los métodos ágiles. intercambiando conscientemente productividad por facili dad de ejecución. estableciéndose una clasificación por colores. El desarrollo de software se considera un juego cooperativo de invención y comunicación. Estas políticas dependerán del tamaño del equipo. Alistair explora la metodolog ía menosdisciplinada que aun podría tener éxito. Su aserción es que el desarrollo iterativo está par a encontrar los problemas temprano. animando al proceso a aplicar técnicas de mejoramiento continuo en forma automática. Él considera que aunque Crystal es menos productivo que la XP. pero esta centralizació n en la gente se hace de una manera diferente. Él mira esta variación a lo largo de dos ejes: el número de personas en el proyecto. así que más que seguir la alta disciplina de la XP.

c) Planeamiento Blitz. Hablar con los compañeros cuando algo molesta dentro del grupo. Radiadores de información. como dispositivos activos. discutir inconvenientes y mejoras y planear para el período siguie nte.¡Cómo funciona? Las personas. Los métodos se llaman Crystal evocando las facetas de una gema: cada faceta es otra versión del proceso. otras se enfatiza la auditoria. Las personas se comunican mejor cara a cara. Los siete valores o propiedades de C C son: 1) Entrega frecuente. Tomarse un pequeño tiempo (unas pocas horas cada o una vez al mes) para pe nsar bien qué se está haciendo. Todos juntos en el mismo cuarto. se po nen tarjetas indexadas en una mesa. La sensibilidad del tiempo en que se debe estar en el mercado varía: a veces este tiempo debe ac ortarse al máximo y se toleran defectos. b) Talleres de refl exión. Los programadores escriben en cada tarjeta el tiempo estimado para desarrollar cada func . Cuando el potencial de daños se incrementa. 3) Mejora reflexiva. Consiste en entregar software a los clientes con frecuencia. también aumenta la necesidad de coordinar. Como casi todos los otros métodos. Hay cuatro variantes de metodologías: Crystal Clear para equipos de 8 o menos integrantes; Amarillo. con la pregunta y la respuesta en el mismo espacio de tiempo. CC consiste en valores. El otro método elaborado en profundidad es el Naranja. Verificar o tomar una muestra del valor de negocios del proyecto. Es mejor buscar pequeños triunfos iniciales que aspirar a una gran victoria ta rdía Esqueleto ambulante. La más exhaustivamente documentada es Crystal Clear (CC). técnicas y procesos. El equipo debe detenerse treinta minutos o una hora para reflexionar sobr e sus convenciones de trabajo. pero siempre es útil tener unas cuantas a mano par a empezar. para 8 a 20; Naranja. Una variante especial es disponer en la sala de un experto diseñador senior y discutir respecto del tema que se trate. La frecuencia dependerá del proyecto. Victoria temprana. Se suele entrevistar a más de un responsable para tener visiones más ri cas. El grupo finge que no hay dependencias entre tarjetas. En este juego. 6) Fácil acceso a usuarios expertos. no solamente en compilar el código. 5) En cuanto a las técnicas. Saber lo que se está haciendo y tener la tranquilidad y el tiempo para hacerlo. protección l egal. la tolerancia a variaciones se ve afectada. apto para proyectos de duración estimada en 2 años. el modelo de dominio. son: 1) 2) 3) 4) Exploración de 360°. con una historia de usuario o función visible en cada una. manteniendo el sistema en ejecución mientras ella se modifica. CC puede ser usado en proyectos pequeños. pero puede ser diaria. confiabilidad. Es una transacción que debe ser simple pero completa. Más bien la arquitectura debe evolucionar en etapas. Es una lámina pegada en algún lugar que el equipo pueda observar mientras trabaja o camina. los req uerimientos. Los siguientes son los principales:      Cuando el número de personas aumenta. Se ha demostrado que no es conveniente interrumpir el desarrollo p ara corregir la arquitectura. tienen modos de éxito y modos de fallo. discutir. 5) Foco. y todas se sitúan en torno a un núcleo idéntico. para 20 a 50; Rojo. Crystal Clear no requiere ninguna estrategia o técnica. Una técnica puede ser el Juego de Planeamiento de XP. Las estrategias comunes a otras Metodologías Ágiles. Los otros dos aún se están desarrollando. 2) Comunicación osmótica. entendida de u n vistazo y renovada periódicamente para que valga la pena visitarla. y las alinea en secuencias de desarrollo pref eridas. la tecnología. para 50 a 100. semanal o men sual. El factor más significativo es “comunicación”. 4) Seguridad personal. reflexionar. entre otros. el plan del proyecto y el proceso. cotejar notas. se favorecen: a) Entrevistas de proyectos. y es la que se ha de describir a continuación . Rearquitectura incremental. Tiene que ser comprensible para el observador casual. Tener alguna comunicación con expertos desarrolladores.

o un equi po de varias personas. d) Estimación Delphi con estimaciones de pericia. La palabra clave es “brevedad”. modos de operación. Diseñador Principal. cinco a diez minutos como máximo. Coordinador. pero cada quien se enfoca a su trabajo asignado. sino de identificarlos. sugerir atajos de teclado. El patrocinador del usuario escribe la secuencia de prioridades. El Diseñador Princi pal tiene roles de coordinador. En otras Metodologías Ágiles la Lista Témpana n o es otra cosa que un gráfico de retraso. Esta es una ampliación de la Comunicación Osmótica al contexto de la programación. Coordinador. el Código de Migración. Diseñador de Base de Datos. Escritor. los que están por debajo en las restantes. el Esta do del Proyecto. mentor y programador más experto. h) Programación lado a lado. f) Miniatura de procesos. C onsigue los recursos y define la totalidad del proyecto. el Modelo Común de Dominio. el Plan de Entrega. prestando un ojo a lo que hace su compañero. La idea es que la gente pueda “degustar” la nueva metodología. En CC un diseñador que no programe n o tiene cabida. como la Lista Témpana. su tiempo de eje cución. No se trata de discutir problemas. llamada así porque se refiere al agregado de ítems con alta priorid ad en el tope de las listas de trabajos pendientes. navegación. Se supone que debe ser al menos u n profesional de Nivel 3. g) Gráficos de quemado. analizando la diferencia entre las líneas proyectadas y efectivas de cada entrega. el Código Fuente. Puede ser un programador en tiempo parcial. arquitecto. Su nombre viene de los gráficos de quemado de calorías de los regímenes dietéticos; se usan también en Scrum. Diseñador-Programador. mezclar e inventar procedimientos. quien tiene su propia máqu ina. Produce el Manual de Usuario. Para ello se hace una estimación del tiempo faltante para programar lo que resta al ritmo actual. Verificador. Facilit ador Técnico. información a visualizar simultáneamente. el Plan y Estado de Iteración y la Agenda de Visualización. Diseñador Principal. En el proceso Delphi se reúnen los expertos re sponsables y proceden como en un remate para proponer el tamaño del sistema. junto con el Diseñador Principal. Debe conocer las reglas y políticas del negocio. Debe familiarizarse con el uso del sistema. Usuario Experto. teniendo en cuenta los tiem pos referidos y el valor de negocio de cada función. A continuación se describen los artefactos de los que son responsables los roles de CC:    Patrocinador. Usuario Experto. Arquitecto. Una forma de presentar Crystal Clear puede consumir entre 90 minutos y un día. Analista/Diseñador de Negocios. Produce la Declaración de Misión con Prioridades de Compromiso (Tradeoff). las Pruebas y el Sistema Empaquetado. Esta técnica se asocia con algunos recursos ingeni osos. Un programa en CC es “diseño y program a”; sus programadores son diseñadores-programadores. los Borradores de Pantallas . e) Encuentros diarios de pie. evitando que se descubra demasiado tarde que tod avía no se sabe cuánto falta. Las tarjetas se agrupan en períodos de tres se manas llamados iteraciones que se agrupan en entregas. Verificador. Experto en Negocios. lo cual sirve para tener dominio de proyectos en los cuales las priori dades cambian bruscamente y con frecuencia. Produce el Reporte de Bugs. esperando que los demás elementos se hundan b ajo la línea de flotación; los elementos que están sobre la línea se entregarán en la iteración sigui ente. Nivel 2 es capaz de “apartarse de los procedimientos específicos” y encontrar otros distintos Nivel 3 es capaz de manejar con fluidez. Se trata de una técnica de graficación para descubrir demo ras y problemas tempranamente en el proceso. usualmente no más largas de tres meses. El Equipo como Grupo es responsable de producir la E structura y Convenciones del Equipo y los Resultados del Taller de Reflexión. las Notas y Diagramas de Diseño. Diseñador Programador. la fecha de las entregas según dependencias técnicas y de negocios y para equilibrar las e ntregas en paquetes de igual tamaño. Hay ocho roles nominados en CC: Patrocinador. produce el Mapa de Proyecto. Experto en Uso. Mucha gente siente que la programación en pares de XP involucra u na presión excesiva; la versión de Crystal Clear establece proximidad. la Lista de Riesgos. Punto de Reutilización. En Crystal Naranja se agregan au n más roles: Diseñador de IU (Interfaz de Usuario).      .ión. En Metodologías Ágiles se definen tres niveles de experiencia: Nivel 1 es capaz de “seguir los procedimientos”. Los gráficos de quemado ilustran la velocidad del proce so. Junto con el Experto en Negocios produce la Lista de Actores-Objetivos y el Archivo de Casos de Uso y Requerimientos. Escritor. Produce la Descripción Arquitectónica. Junto con el Usuario Experto produce la Lista de Actores-Objetivos y el Archivo de Casos de Uso y Requerimientos. Experto en Negocios. Produce. Mentor de Diseño. Con la ayuda del equipo.

Estrategias Ni las estrategias ni las técnicas son mandatorias para Crystal Clear. etc. Seguridad personal: lograr que cada miembro del team pueda sentirse cómodo con el trabajo y el entorno. Estas tres propiedades son "obligatorias" para Crystal Clear. . Promueve prácticas como el uso de pizarrones.     . informal y preciso que pueda ser accedido por todos los miembros del equipo. pizarras y espacios destinados a que todos (miembros del equipo y visitas) puedan ver claramente el progreso del trabajo. Pero es bueno tener en cuenta alguna de ellas al momento de empezar a trabajar. El equipo ajusta constantemente su forma de trabajo para lograr que cada personalidad encaje con los otros miembros. 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. con el entorno y las particularidades de cada asignación. . arrancar el desarrollo de lo que se denomina un "Esqueleto que Camine" y pensar siempre en hacer "Rearquitectura Incremental" van de la mano.Testing automatizado (incorporación.Principios    El grado de detalle necesario en documentar requerimientos. por ejemplo.El Código Genético Consiste en: . Es imposible eliminar toda documentación pero puede ser reducida logrando un modo de comunicación más accesible. Esto permite al equipo trabajar concentrado y en forma efectiva con un objetivo claro cada vez.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. . . de UnitTest) . las siguientes pueden agregarse en la medida de las necesidades de cada grupo y proyecto.ii.Un “modelo de juegos cooperativos” Este modelo ve al desarrollo de software como una serie de partidos que consisten en inventar y comunicar. diseño. Integración frecuente (uso de herramientas específicas como Cruise Control). Cada partido es diferente y tiene como objetivo entregar software y prepararse para el siguiente juego. Crecimiento reflexivo: es necesario que el equipo lleve a cabo reuniones periódicas de reflexión que permitan crecer y hacernos más eficientes. Entorno técnico con: i . planeamiento. Concentración: las entregas frecuentes permiten que cada desarrollador puede enfocar de a un problema evitando dispersiones. Tres de las estrategias que están más relacionadas son las de apuntar a tener "Victorias Tempranas".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. varía según el proyecto.

Técnicas Igual que con las estrategias.org/ . el proyecto y los tiempos que se manejen. A medida que se avanza en el proceso. la rearquitectura permitirá ir agregando más "cuerpo" al esqueleto inicial.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). Bibliografía http://www. Las reuniones diarias (introducidas por la metodología Scrum) acompañan el seguimiento y mantienen el foco en el próximo paso a seguir. Las reuniones de reflexión periódicas son fundamentales para que los miembros del equipo se expresen abiertamente. y también permiten la discusión productiva de líneas a seguir. Todas describen una forma de tomar ventaja del desarrollo incremental para establecer valor desde el principio. . Todo esto permite ir armando una metodología de trabajo que se adecue al equipo. 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. para revisar el trabajo hecho y evaluar qué cosas dan resultado y cuáles no o de empezar a trabajar.crystalmethodologies.

Sign up to vote on this title
UsefulNot useful