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.
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:

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.

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) 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.

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 i
teraciones 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 e
lementos que estn sobre la lnea se entregarn en la iteracin siguiente, los que estn por debajo en l
as 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:

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 ActoresObjetivos 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.
DiseadorProgramador. 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 diseadoresprogramadores. En CC un diseador que no programe no tiene
cabida.
Experto en Negocios. Junto con el Usuario Experto produce la Lista de ActoresObjetivos 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.
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

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

También podría gustarte