Está en la página 1de 7

METODOLOGA GIL DE DESARROLLO DE SOFTWARE 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. y Clear es para equipos de hasta 8 personas o menos. y Amarillo para equipos entre 10 a 20 personas. y Naranja para equipos entre 20 a 50 persona. y Roja para equipos entre 50 a 100 personas. y 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: y y y Cuando el nmero de personas aumenta, tambin aumenta la necesidad de coordinar. Cuando el potencial de daos se incrementa, la tolerancia a variaciones se ve afectada. La sensibilidad del tiempo en que se debe estar en el mercado vara: a veces este tiempo debe acortarse al mximo y se toleran defectos, otras se enfatiza la auditoria, conabilidad, proteccin legal, entre otros. Las personas se comunican mejor cara a cara, con la pregunta y la respuesta en el mismo espacio de tiempo. El factor ms signicativo es comunicacin.

y y

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. La ms exhaustivamente documentada es Crystal Clear (CC), y es la que se ha de describir a continuacin. C C puede ser usado en proyectos pequeos. El otro mtodo elaborado en profundidad es el Naranja, apto para p royectos de duracin estimada en 2 aos. Los otros dos an se estn desarrollando. Como casi todos los otros mtodos, CC consiste en valores, tcnicas y procesos. Los siete valores o propiedades de CC son: 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) 2) 3) 4) 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. Victoria temprana. Es mejor buscar pequeos triunfos iniciales que aspirar a una gran victoria tarda Esqueleto ambulante. Es una transaccin que debe ser simple pero completa. 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. 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.

5)

En cuanto a las tcnicas, se favorecen: a) Entrevistas de proyectos. Se suele entrevistar a ms de un responsable para tener visiones ms ricas. b) Talleres de re exin. El equipo debe detenerse treinta minutos o una hora para reexionar sobre sus convenciones de trabajo, discutir inconvenientes y mejoras y planear para el perodo siguiente. c) Planeamiento Blitz. Una tcnica puede ser el Juego de Planeamiento de XP. En este juego, se ponen tarjetas indexadas en una mesa, con una historia de usuario o funcin visible en cada una. El grupo nge que no hay dependencias entre tarjetas, y las alinea en secuencias de desarrollo preferidas. Los programadores escriben en cada tarjeta el tiempo estimado para desarrollar cada funcin. El patrocinador del usuario escribe la secuencia de prioridades, teniendo en cuenta los tiempos referidos

y el valor de negocio de cada funcin. Las tarjetas se agrupan en perodos de tres semanas llamados iteraciones que se agrupan en entregas, usualmente no ms largas de tres meses. d) Estimacin Delphi con estimaciones de pericia. En el proceso Delphi se renen los expertos responsables y proceden como en un remate para proponer el tamao del sistema, su tiempo de ejecucin, la fecha de las entregas segn dependencias tcnicas y de negocios y para equilibrar las en tregas en paquetes de igual tamao. e) Encuentros diarios de pie. La palabra clave es brevedad, cinco a diez minutos como mximo. No se trata de discutir problemas, sino de identicarlos. f) Miniatura de procesos. Una forma de presentar Crystal Clear puede consumir entre 90 minutos y un da. La idea es que la gente pueda degustar la nueva metodologa. g) Grcos de quemado. Su nombre viene de los grcos de quemado de caloras de los regmenes dietticos; se usan tambin en Scrum. Se trata de una tcnica de gracacin para descubrir demoras y problemas tempranamente en el proceso, evitando que se descubra demasiado tarde que todava no se sabe cunto falta. Para ello se hace una estimacin del tiempo faltante para programar lo que resta al ritmo actual, lo cual sirve para tener dominio de proyectos en los cuales las prioridades cambian bruscamente y con frecuencia. Esta tcnica se asocia con algunos recursos ingeniosos, como la Lista Tmpana, llamada as porque se reere al agregado de tems con alta prioridad en el tope de las listas de trabajos pendientes, esperando que los dems elementos se hundan bajo la lnea de otacin; los elementos que estn sobre la lnea se entregarn en la iteracin siguiente, los que estn por debajo en las restantes. En otras Metodologas giles la Lista Tmpana no es otra cosa que un grco de retraso. Los grcos de quemado ilustran la velocidad del proceso, analizando la diferencia entre las lneas proyectadas y efectivas de cada entrega. h) Programacin lado a lado. Mucha gente siente que la programacin en pares de XP involucra una presin excesiva; la versin de Crystal Clear establece proximidad, pero cada quien se enfoca a su trabajo asignado, prestando un ojo a lo que hace su compaero, quien tiene su propia mquina. Esta es una ampliacin de la Comunicacin Osmtica al contexto de la programacin. 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: y y Patrocinador. Produce la Declaracin de Misin con Prioridades de Compromiso (Tradeoff). Consigue los recursos y dene la totalidad del proyecto. Usuario Experto. Junto con el Experto en Negocios produce la Lista de Actores-Objetivos y el Archivo de Casos de Uso y Requerimientos. Debe familiarizarse con el uso del sistema, sugerir atajos de teclado, modos de operacin, informacin a visualizar simultneamente, navegacin. Diseador Principal. Produce la Descripcin Arquitectnica. Se supone que debe ser al menos un profesional de Nivel 3. En Metodologas giles se denen tres niveles de experiencia: Nivel 1 es capaz de seguir los procedimientos. Nivel 2 es capaz de apartarse de los procedimientos especcos y encontrar otros distintos Nivel 3 es capaz de manejar con uidez, mezclar e inventar procedimientos. El Diseador Principal tiene roles de coordinador, arquitecto, mentor y programador ms experto. Diseador-Programador. Produce, junto con el Diseador Principal, los Borradores de Pantallas, el Modelo Comn de Dominio, las Notas y Diagramas de Diseo, el Cdigo Fuente, el Cdigo de Migracin, las Pruebas y el Sistema Empaquetado. Un programa en CC es diseo y programa; sus programadores son diseadores-programadores. En CC un diseador que no programe no tiene cabida. Experto en Negocios. Junto con el Usuario Experto produce la Lista de Actores-Objetivos y el Archivo de Casos de Uso y Requerimientos. Debe conocer las reglas y polticas del negocio. Coordinador. Con la ayuda del equipo, produce el Mapa de Proyecto, el Plan de Entrega, el Estado del Proyecto, la Lista de Riesgos, el Plan y Estado de Iteracin y la Agenda de Visualizacin. Verificador. Produce el Reporte de Bugs. Puede ser un programador en tiempo parcial, o un equipo de varias personas.

y y y

Escritor. Produce el Manual de Usuario. El Equipo como Grupo es responsable de producir la Estructura y Convenciones del Equipo y los Resultados del Taller de Reexin.

El Cdigo Gentico Consiste en: - 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. - Prioridades Crystal Clear establece un conjunto de prioridades y principios que sirven de gua para la toma de decisiones y y y 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 y y 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).

y y y y

- Principios

y y

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

También podría gustarte