P. 1
Crystal Clear

Crystal Clear

|Views: 1.260|Likes:

More info:

Published by: Pablo Andres Perez Parraguez on Sep 16, 2010
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

06/07/2013

pdf

text

original

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.

El desarrollo de software se considera un juego cooperativo de invención y comunicación.Él ha explorado a fondo los métodos ágiles. La familia de metodologías Crystal comparten con la XP una orientación humana. Alistair considera que las personas encuentran difícil seguir un proceso disciplinado. Estas políticas dependerán del tamaño del equipo. estableciéndose una clasificación por colores. Él considera que aunque Crystal es menos productivo que la XP. intercambiando conscientemente productividad por facili dad de ejecución. y entonces permitir corregirlos. 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. El equipo de desarrollo es un factor clave. pero esta centralizació n en la gente se hace de una manera diferente. y las consecuencias de los errores. por lo que se deben invertir esfuerzos en mejorar sus habilidades y destrezas. así como tener políticas de trabajo en equipo definidas. Esto pone más énfasis en la gente supervisando su proceso y afinándolo conforme desarrollan. Alistair también pone mucho peso en las revisiones al final de la iteración. Alistair explora la metodolog ía menosdisciplinada que aun podría tener éxito. más personas serán ca paces de seguirlo. É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. animando al proceso a aplicar técnicas de mejoramiento continuo en forma automática. 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 . limitado por lo s recursos a utilizar. Su aserción es que el desarrollo iterativo está par a encontrar los problemas temprano. por ejem plo Crystal Clear (3 a 8 miembros) y Crystal Orange (25 a 50 miembros). . Cada metodología encaja en una parte diferente. Es un a familia porque cree que los diferentes tipos de proyectos requieren diferentes tipos de metodologías.

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

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

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

Todas describen una forma de tomar ventaja del desarrollo incremental para establecer valor desde el principio. la rearquitectura permitirá ir agregando más "cuerpo" al esqueleto inicial. A medida que se avanza en el proceso.crystalmethodologies. y también permiten la discusión productiva de líneas a seguir.Técnicas Igual que con las estrategias.org/ . 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. el proyecto y los tiempos que se manejen. hay una lista de técnicas propuestas por Crystal Clear. Bibliografía http://www. 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.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). Todo esto permite ir armando una metodología de trabajo que se adecue al equipo. Las reuniones diarias (introducidas por la metodología Scrum) acompañan el seguimiento y mantienen el foco en el próximo paso a seguir.

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->