Metodologias Crystal

23
METODOLOGIAS CRISTAL METODOLOGIAS AGILES INGENIERIA DEL SOFTWARE I CESAR MARIÑO CASTRO ADOLFO PUELLO UNIVERSIDAD DEL MAGDALENA FACULTAD DE INGENIERIA PROGRAMA INGENIERIA DE SISTEMAS Santa Marta Colombia 2014

Transcript of Metodologias Crystal

Page 1: Metodologias Crystal

METODOLOGIAS CRISTAL

METODOLOGIAS AGILES

INGENIERIA DEL SOFTWARE I

CESAR MARIÑO CASTRO ADOLFO PUELLO

UNIVERSIDAD DEL MAGDALENA

FACULTAD DE INGENIERIA

PROGRAMA INGENIERIA DE SISTEMAS

Santa Marta – Colombia 2014

Page 2: Metodologias Crystal

Metodologías Cristal

2

INDICE

1. Introducción…………………………………………………………………….………4

2. Metodologías Cristal…………………………………………………………………..5

3. Características……………………………………………………………………........7

4. Las Siete Propiedades……………………………………………………………......9

4.1 Entregas Frecuentes………………………………………………………….......9

4.2 Mejora Reflexiva…………………………………………………………………. ..9

4.3 Comunicación Osmótica………………………………………………………....9

4.4 Seguridad Personal……………………………………………………………….10

4.5 Enfoque………………………………………………………………………………10

4.6 Acceso Fácil a Usuarios Expertos………………………………………….......10

4.7 Ambiente de Desarrollo con pruebas Automáticas, Administración de la

configuración y entregas frecuentes…………………………………………..11

5. La Estrategia…………………………………………………………………………...12

5.1 Exploración 360……………………………………………………………………12

5.2 Victoria Temprana…………………………………………………………………12

5.3 Esqueleto Caminante……………………………………………………………..12

5.4 Arquitectura Incremental…………………………………………………………12

5.5 Radiadores de Información………………………………………………………12

6. La Técnica………………………………………………………………………………..14

6.1 Entrevistas de Proyectos…………………………………………………….......14

6.2 Talleres de Reflexión………………………………………………………………14

6.3 Planteamiento Blitz………………………………………………………………. 14

6.4 Estimación Delphi………………………………………………………………... 14

7. Roles de un Equipo…………………………………………………………………… 16

7.1 Patrocinador Principal…………………………………………………………... 16

7.2 Diseñador Líder…………………………………………………………………... 16

7.3 Usuario Experto……………………………………………………………………16

7.4 Diseñador Programador………………………………………………………….16

7.5 Coordinador……………………………………………………………………….. 17

7.6 Experto en Negocios…………………………………………………………….. 17

7.7 Verificador…………………………………………………………………………. 18

7.8 Escritor……………………………………………………………………………...18

Page 3: Metodologias Crystal

Metodologías Cristal

3

8. Escala Cockburn……………………………………………………………………19

9. Variantes de la Metodología Cristal…………………………………………......20

10. Crystal y otras Metodologías…………………………………………………....21

Conclusiones……………………………………………………………………….…..22

Page 4: Metodologias Crystal

Metodologías Cristal

4

INTRODUCCION

Con el rápido crecimiento de la industria del software en el mundo actual, se han venido

desarrollando diferentes metodologías que aseguran el buen desarrollo durante todo el

proceso de creación de un nuevo software.

Las metodologías agiles que encontramos actualmente proveen a la ingeniería del

software una dirección para el desarrollo adecuado de software. El desarrollo ágil de

software basado en el desarrollo iterativo e incremental, donde los requisitos y soluciones

evolucionan mediante la colaboración de grupos auto organizado y multidisciplinario,

siendo este un proceso de desarrollo de software, creado en respuesta a las debilidades

del modelo tradicional de cascada el cual sirvió como base para la formulación del análisis

estructurado, siendo uno de los precursores en el camino hacia la aplicación de prácticas

estandarizadas dentro de la ingeniería del software.

La idea principal detrás del mejoramiento iterativo es desarrollar un sistema de programas

de manera incremental, permitiéndole al desarrollador sacar ventaja de lo que se ha

aprendido a largo del desarrollo anterior. La definición moderna de desarrollo ágil de

software evoluciono a mediados de 1990 como parte de una reacción contra los métodos

de pico pizado, muy estructurados y estrictos, extraídos del modelo de desarrollo en

cascada. El enfoque se dio a conocer a la comunidad de Ingeniería de Software con el

nombre de RAD o Rapid Application Development, pero fue con el diseño de la

metodología XP (extreme Programming), que nace lo que hoy día conocemos como

metodologías agiles.

Las metodologías agiles emergen como una posible respuesta para llenar ese vacío

metodológico, constituyen una solución a medida, aportando una elevada simplificación

que a pesar de ello no renuncia a las practicas esenciales para asegurar la calidad del

producto. Las metodologías Crystal Clear hacen parte de las metodologías Agiles, nacen

en respuesta a las nuevas demandas de desarrollo de software, poco tiempo después que

se formalizara la “Alianza Ágil”, una organización sin fines de lucro que promueve el

desarrollo ágil de aplicaciones.

Page 5: Metodologias Crystal

Metodologías Cristal

5

METODOLOGIAS CRYSTAL

Metodologías Crystal es la compilación de un conjunto de metodologías que faciliten

el desarrollo de software dependiendo de varios factores, teniendo como principal factor la

cantidad de desarrolladores, incluida dentro de las llamadas metodologías ágiles se

caracteriza por estar orientada a las personas que integran el equipo o grupo de

desarrolladores, que son en su mayor parte sobre los que recaerá el éxito o fracaso del

proyecto, así como a la disminución de artefactos que se produzcan.

Surge a principios de los 90 por idea de Alistair Cockburn, con el objetivo de dar solución

a problemas específicos de organización IBM que presentaba el proyecto que se llevaba a

cabo en ese instante y a pesar de que ya habían surgido y se encontraban en desarrollo

otras metodologías ágiles como la XP (Extreme Programing) y Scrum no se adaptaban a

los inconvenientes que ellos presentaban.

Esta metodología tiene como premisa que el equipo o grupo de desarrolladores es

considerado el factor clave en el desarrollo de software por lo que la mayor parte de los

esfuerzos deben estar orientados a fortalecer sus destrezas y habilidades, así como tener

bien definidas la política de trabajo en equipo que van a depender del tamaño del grupo.

Concretamente el autor indica que Crystal está centrado en:

1.- Las personas

2.- La Interacción

3.- La comunidad

4.- Las habilidades

5.- Los talentos

6.- Las comunicaciones

Es decir, orientado al equipo de trabajo y a las personas que lo componen tanto a nivel

individual como de su pertenencia a un grupo. Para Cockburn los procesos pese a ser

importantes son secundarios, respecto a los principios en que está orientado este

conjunto de metodologías, ya que la propia complejidad de la gestión de los equipos para

obtener de los mismos el máximo rendimiento, teniendo en cuenta que están formados

por un conjunto diverso de personalidades, experiencias, talentos y habilidades, es de por

sí el principal problema que hay que resolver en el desarrollo de software.

Page 6: Metodologias Crystal

Metodologías Cristal

6

Principios:

Alistair Cockburn definió los siguientes principios dentro de sus metodologías:

Las personas son seres comunicativos, haciéndolo mejor cara a cara, en persona,

con preguntas y respuestas en tiempo real.

Las personas tienen problemas para actuar de manera consistente todo el tiempo.

Las personas son altamente variables (cambiantes), varían de un día a otro y de

un lugar a otro.

Las personas generalmente quieren ser buenos ciudadanos, son buenos

observando, tomando iniciativas y haciendo todo lo que sea necesario para el

proyecto funcione.

Page 7: Metodologias Crystal

Metodologías Cristal

7

3. CARACTERISTICAS

Crystal maneja iteraciones cortas con feedback (retroalimentación) frecuente por parte de

los usuarios/clientes, minimizando de esta forma la necesidad de productos intermedios.

Otra de las cuestiones presentadas es la necesidad de disponer de un usuario real

aunque sea de forma de parcial para realizar validaciones sobre las interfaces del usuario

y para participar en la definición de los requerimientos funcionales y no funcionales del

software.

Cristal enfatiza el proceso como un conjunto de ciclos anidados:

Figura 1. Ciclos anidados de Crystal Clear

La Metodología Cristal recomienda:

El equipo de trabajo sea reducido es decir pocos componentes.

Mejoramiento de la Comunicación entre los miembros del proyecto

Utilización de políticas de equipo diferentes, para diferentes equipos.

Espacio Físico de Trabajo

Criticidad del Proyecto

Las metodologías Crystal se basan en el hecho de que hay que tener en cuenta las

características del proyecto para aplicar una metodología (para Cockburn son un conjunto

Page 8: Metodologias Crystal

Metodologías Cristal

8

de elementos entre los que se encuentran las prácticas y las herramientas) u otra, no es

lo mismo un proyecto en el que intervienen pocas personas que otros en donde

intervienen muchas. Entender que todos los proyectos son iguales independientemente

de su tamaño es un error que puede derivar desde pérdidas económicas hasta el fracaso

completo.

Rasgos de un Equipo Crystal:

Una disminución en el número de desarrolladores proporcionara una mejor

comunicación entre los mismos.

Trabajar en un mismo lugar dará lugar a una disminución de gastos por conceptos

de comunicación.

La mejora individual habilitara el paso a la mejora del equipo y por consecuente al

producto final.

Como consecuencia de las anteriores características y como eje fundamental las

dimensiones; tamaño del equipo y criticidad del proyecto, surge la escala Cockburn de

Proyectos de Software cuya utilidad va más allá de definir en qué condiciones aplicar una

metodología cristal.

Page 9: Metodologias Crystal

Metodologías Cristal

9

4. LAS SIETE PROPIEDADES

Las metodologías Cristal se sustentan en tres propiedades, pero el autor hace énfasis que

para la conformación de un mejor equipo de trabajo, a veces es necesario aplicar cuatro

propiedades más.

Las propiedades son las siguientes:

4.1 Entregas Frecuentes (Frequent Delivery): Consiste en liberar código

ejecutable y testeado a usuarios reales cada pocas semanas o meses. Al

hacer esto aseguramos que nuestro proyecto no se despegara mucho de lo

cliente necesita realmente, pues cada entrega formal, resultara en correcciones

a los problemas que surgen constantemente.

Además con esto entregamos algo útil al usuario clientes, un software para que

valore nuestra interfaz de usuario y el funcionamiento general del sistema

antes de que continuemos creando más código que podría terminar en la

basura cuando nos digan.

4.2 Mejora reflexiva (Reflective Improvement): Reunido por los menos una cada

vez en cada tres meses, durante media hora, una hora o medio día, para

comparar notas, reflexionar, discutir nuestros hábitos y en lo que se puede

mejorar. Esto se denomina “Taller de Reflexión”.

4.3 Comunicación Osmótica (Osmotic Comunication): La comunicación

osmótica se refiere a llevar la comunicación al máximo nivel. Nos debe tomar

menos de 30 segundos llevar nuestras dudas a los ojos u oídos de quien

puede resolvérnoslas, debemos sentarnos en el mismo cuarto o en cubículos

contiguos.

Esta forma de comunicación nos permite conectarnos de forma más ágil a las

demás personas y abarca la posibilidad de que ambas personas se encuentren

en sintonía con sus ideas.

4.4 Seguridad Personal (Personal Safety): Fomentar la confianza y el respeto

entre el equipo, de manera que todos tengan claro que lo importante es lograr

Page 10: Metodologias Crystal

Metodologías Cristal

10

los objetivos del proyecto de manera conjunta. Así las equivocaciones o

incapacidades de uno pueden ser cubiertas por los demás, los miembros no

temen en exponerse y el equipo respeta estas exposiciones. Es importante que

los miembros del equipo sean conscientes que deben revelar ignorancia,

errores e incapacidad de realizar una tarea.

4.5 Enfoque (Focus): Cada quien debe saber cuáles son los elementos de más

alta prioridad sobre los cuales trabaja en todo momento.

El enfoque se fundamenta en:

Nuestro trabajo exige alta concentración en lo que hace, asi evitaremos

errores.

Una distracción media, que nos hace llevar nuestro pensamiento a otro

lugar, nos puede llevar a perder diez a quince minutos de productividad.

Al estar concentrados podemos resolver problemas en un minuto, al no ser

así puede llevarnos una hora o más.

El cambiarnos de un proyecto a otro nos puede tomar alrededor de una o

dos horas.

Después de que un desarrollador está sometido a constantes

distracciones, el desgaste de energía mental termina por hacer que el

desarrollador prefiera hacer cosas vanas (como chatear o navegar) entre

una distracción y otra. Lo mismo tiende a pasar con desarrolladores

involucrados en tres proyectos o más.

4.6 Acceso Fácil a usuarios Expertos (Easy Access to Expert Users): Debería

tomar menos de tres días, desde que surge una duda respecto al uso del

sistema, hasta que un usuario experto lo resuelve. Lo deseable es obtener

respuestas en pocas horas.

Se puede comunicar con el usuario experto inmediatamente surge un

inconveniente, se pueden realizar preguntas y seguir con el desarrollo.

Page 11: Metodologias Crystal

Metodologías Cristal

11

4.7 Ambiente de Desarrollo con Pruebas Automáticas, Administración de la

Configuración e Integración Frecuente (Technical Environment with

automated test, Configuration Management & frequent integration):

Poder dejar corriendo las pruebas de nuestro desarrollo hasta el final sin estar

físicamente presente nos ahorra el tiempo que no tenemos, sin mencionar las

ventajas de depuración inmediata y de probar el código indiscriminadamente.

Todos los desarrolladores deberían ingresar el código en el que trabajan en un

sistema de administración de la configuración, de manera que este se

encargue de llevar el control de versiones, documentos, etc. y escribir una nota

útil sobre el código cuando lo ingresan.

El sistema se debería integrar por lo menos dos veces a la semana, juntando

el código de todos, compilándolo, y haciéndolo pasar por todas las pruebas

automáticas posibles, y obteniendo de esta manera código ejecutable

constantemente.

El sistema funciona más o menos así: Se diseñan los test antes del desarrollo.

El sistema se integra frecuentemente en el sistema de manejo de configuración

(ejemplo CVS) y se pasa por todos los test, mostrando los resultados de

inmediato.

Page 12: Metodologias Crystal

Metodologías Cristal

12

5. LA ESTRATEGIA

Cristal no requiere ninguna estrategia o técnica, pero si es recomendable seguir una serie

pautas para la realización de cualquier proyecto.

5.1 Exploración 360: Al iniciar un nuevo proyecto el equipo necesita establecer los

requerimientos más importantes del proyecto. Deberá observarse en todas las

direcciones posibles, y tomar muestras relevantes que suministren información

del proyecto. Verificar o tomar muestras de valor de negocios del proyecto, los

requerimientos, el modelo de dominio, la tecnología, el plan de proyectos y el

proceso

5.2 Victoria Temprana: En un proyecto de software la victoria temprana, es aquel

fragmento de código que se ejecuta satisfactoriamente. Esto incrementa en el

equipo de desarrollo algún nivel de satisfacción. Es mejor buscar pequeños

triunfos iniciales que buscar una victoria tardía.

5.3 Esqueleto Caminante: Es una pequeña implementación del sistema. En esta

parte no se usa la arquitectura final, pero si se recomienda utilizar los

componentes más importantes utilizados en la arquitectura principal. Los que

constituye un esqueleto caminante varía de acuerdo al sistema que se requiera

diseñar. Por ejemplo de un sistema cliente-servidor, sería una sola pantalla a la

base de datos y la capacidad de regresar.

5.4 Arquitectura Incremental: Se ha demostrado que no es conveniente

interrumpir el desarrollo para corregir la arquitectura, por el contrario la

arquitectura debería evolucionar en etapas, manteniendo el sistema en

ejecución mientras ella se modifica. La retroalimentación es muy importante en

esta etapa para el desarrollo incremental.

5.5 Radiadores de Información: Es una publicación que se realiza en algún lugar

visible para el equipo, debe encontrarse en el sitio del trabajo o por donde las

personas transitan. Tiene que ser comprensible para el observador casual,

Page 13: Metodologias Crystal

Metodologías Cristal

13

entendida al vistazo y renovada periódicamente para que valga la pena

visitarla. Los radiadores de información pueden ser utilizados en cualquier

proyecto, grande o pequeño. Las páginas web y archivos en línea no son

recomendables como radiadores de información, debido a que este debe ser

visible sin requerir ningún tipo de esfuerzo por parte del espectador.

Page 14: Metodologias Crystal

Metodologías Cristal

14

6. LAS TECNICAS

Por esta razón ninguna de las estrategias, técnicas o artefactos que se definen es de uso

obligado.

6.1 Entrevistas de Proyectos: Se suele entrevistar a más de un responsable

para tener visiones más ricas. Se establece la metodología de arranque en dos

pasos.

Proyectos Entrevistas: Con esta técnica se construirá una pequeña

biblioteca de experiencias en la organización que muestra las

debilidades, fortalezas y temas de la organización. Cuando se entra en

el taller de metodología de conformación se examinara como sacar

provecho de los puntos fuertes y como evitar las debilidades.

Taller de metodología de conformación: El taller se inicia con una

revisión de las reglas fijas de la organización sobre el desarrollo de

software.

6.2 Talleres de Reflexión: El equipo debe detenerse 30 minutos o una hora para

reflexionar sobre sus convenciones del trabajo, discutir inconvenientes y

mejorar y planear para el periodo siguiente.

6.3 Planeamiento Blitz: Se escriben las funciones del programa en tarjetas y los

programadores estiman tiempos para cada una de forma independiente. Es la

oportunidad para el patrocinador, los desarrolladores y el ejecutivo del proyecto

para definir conjuntamente el mapa del proyecto y el cronograma.

6.4 Estimación Delphi: Estimación Delphi busca establecer por medio de un

grupo de expertos cuanto tiempo durara en realizarse el desarrollo del

software, y el tamaño del proyecto. Su funcionamiento se basa en la

elaboración de un cuestionario que posteriormente será evaluado por grupo de

expertos, una vez recibida la información, se vuelve a realizar otro cuestionario

basado en el anterior para ser contestado de nuevo.

Este método se basa en el anonimato de los intervinientes, repetitividad y

realimentación controlada, respuesta del grupo en forma estática.

Page 15: Metodologias Crystal

Metodologías Cristal

15

6.5 Encuentros diarios de pie: Cinco a diez minutos como máximo diarios,

buscando no discutir problemas sino identificar nuevos problemas.

6.6 Miniatura de Procesos: Resaltar la importancia de la metodología a utilizar

dentro del equipo, pero el aprendizaje que esta requiere en muchas ocasiones

demanda un tiempo considerable, por esta razón surge la idea de miniatura de

procesos. La metodología cristal se puede ir enseñando dentro del equipo con

un tiempo diario de 90 minutos o un día, pero la idea es que el equipo se

encuentre familiarizado y agradado a la metodología; los talleres de reflexión

son una buena ocasión para la enseñanza de la metodología.

6.7 Gráficos de Quemado: Son graficas en las cuales se observan retrasos en las

tareas, este grafico sirve para tener control del proyecto y ver en que funciones

deben tener mayor prioridad.

6.8 Programación Lado a Lado: Establece proximidad entre los integrantes del

equipo, pero cada quien se enfoca en su trabajo asignado, pero prestando

atención a lo que hace su compañero. Esto es una ampliación de la

comunicación osmótica al contexto de programación.

Page 16: Metodologias Crystal

Metodologías Cristal

16

7. ROLES DE UN EQUIPO DE TRABAJO BASADO EN LA METODOLOGIA CRISTAL

Conformando el Equipo: Para cualquier proyecto basado en la metodología Cristal a menudo inicia con un

Patrocinador Ejecutivo y Desarrollador Principal, y posteriormente usuarios principales.

Normalmente dos a cinco personas son ingresadas al proyecto con varias mezclas de

facultades, experiencias y habilidades.

Los Roles que deben cumplirse esta metodología son los siguientes:

7.1 Patrocinador Ejecutivo (Executive Sponsor): Es la persona que

finalmente permite la realización del proyecto. Esta persona provee el

dinero necesario para la ejecución inicial del proyecto y suministra la guía

indispensable para el resto del equipo, logística y suporte emocional,

deberá ser una persona experta sobre el proyecto. Produce la declaración

de misión con prioridades de compromiso.

7.2 Diseñador Principal (Lead Designer): Esta persona deberá ser el mejor

desarrollador del equipo, y quien en principio lograría desarrollar el sistema

por completo. Esta persona ayudara a los demás miembros del equipo y

servirá como un modelo para los integrantes más jóvenes. Mantendrá

contacto permanente con el patrocinador ejecutivo y los usuarios finales,

diseñara el plan del proyecto y coordinara a otros desarrolladores.

7.3 Usuario Experto (Ambassador User): El sistema en desarrollo debería

responder mejor, cuando el equipo de desarrollo se encuentra en contacto

con usuarios expertos del sistema. El valor que un sistema puede aportar a

la organización es muy importante de acuerdo a la información que los

desarrolladores lograron obtener de este tipo de usuarios.

7.4 Diseñador Programador (Designer Programmer) : Es muy importante

fusionar estos dos conceptos un programador y sin diseño, solo lograra

Page 17: Metodologias Crystal

Metodologías Cristal

17

obtener un código lleno de errores, es importante que esta persona del

equipo presente estas características. Este produce junto con el diseñador

principal el código necesario para la ejecución del sistema.

7.5 Coordinador (Coordinator): Suele ser una ocupación parcial para los

integrantes del equipo, es un papel que muchos podrían desempeñar, un

patrocinador ejecutivo o un desarrollador líder por lo general cumplen con

estas funciones. La persona ocupando el cargo de coordinador deberá

como mínimo tomar nota de cómo va el proyecto, planeando y verificando

estado de cada sesión, combinando toda esta información para

posteriormente publicarla. El coordinador es responsable de mantener el

orden, reducir conflictos y facilitar discusiones.

7.6 Experto en Negocios (Business Expert): Es el experto en materia de

negocio y verifica su estado. Define que políticas o estrategias deberán

mantenerse y que otras deberían cambiarse. Deberá permanecer en

contacto con los desarrolladores, realizando preguntas frecuentes sobre la

ejecución del sistema.

7.7 Verificador (Tester): Este papel, en grupos pequeños de trabajo por lo

general son alternados entre los diferentes miembros del equipo, cualquier

miembro del equipo está en la facultad de producir los reportes, sobre el

estado del proyecto o del sistema en desarrollo.

7.8 Escritor (Writter): Al igual que el verificador, este suele ser alternador por

los diferentes miembros del equipo, por lo general el papel que desempeña

es de plasmar el manual de usuario del sistema.

Page 18: Metodologias Crystal

Metodologías Cristal

18

8. ESCALA COCKBURN DE CLASIFICACION DE PROYECTOS

Esta escala tiene como objetivo realizar una clasificación de los proyectos de desarrollo

de software en función del grado de formalidad que requerían a lo largo de su ciclo de

vida. Esta escala tiene una vocación generalista y por tanto enfocada exclusivamente al

desarrollo mediante metodologías agiles. Pone de manifiesto que no todos los proyectos

son iguales y cada uno requiere dedicarle esfuerzos desde su punto de vista

metodológico acorde a su naturaleza, con el objetivo de optimizar su coste y duración.

La clasificación de los proyectos se realiza en función de su tamaño y criticidad.

De acuerdo a su tamaño Se le asigna un valor en función del número de

personas que participarían. Por regla general se eligen valores de la siguiente

secuencia:

6 (proyectos entre 3 y 6 personas)

20 (proyectos entre 7 y 20 personas)

40 (proyectos entre 21 y 40 personas)

100 (proyectos entre 41 y 100 personas)

200 (proyectos entre 101 y 200)

Figura 2. Codificación por Colores de acuerdo a número de integrantes

De acuerdo a su Criticidad: Se le asigna una de las siguientes opciones en función del

peor de los casos que se pueda producir en el caso de un fallo del sistema.

L: Perdida de una Vida

E: Importante pérdida económica que puede poner en riesgo la continuidad de la

organización. (Dinero Esencial)

D: Perdida económica no significativa (Dinero Discrecional)

C: Comodidad

Page 19: Metodologias Crystal

Metodologías Cristal

19

Figura 3. Código de Colores

La familia cristal dispone de un código de color para marcar la complejidad de una

metodología: cuanto más oscuro un color, más pesado es el método. Cuanto más

crítico es un sistema, más rigor se requiere. El cromático se aplica a una forma

tabular elaborada por Cockburn que se usa en muchas metodologías agiles para

situar el rango de complejidad.

Page 20: Metodologias Crystal

Metodologías Cristal

20

9. VARIANTES DE METODOLOGIAS CRISTAL

Crystal es una familia de metodologías con un código genético en común. La idea es

lograr “armar” distintas metodologías para distintos proyectos. Cada proyecto y

organización usara este código genético para generar su propia metodología.

La metodología suele verse como un modelo de juego cooperativo, este modelo ve el

desarrollo de software como una serie de partidos que consiste en inventar y comunicar.

Cada partido es diferente y tiene como propósito entregar software y prepararse para el

siguiente juego. Esto permite al equipo trabajar concentrado en forma efectiva con un

objetivo claro cada vez.

Existen cuatro variantes metodológicas de Cristal:

Crystal Clear (Claro como Cristal): este método es el del cual se provee mejor

documentación. Aplicable para equipos de trabajo de 8 o menos integrantes.

Consiste en una serie de prioridades, propiedades, estrategias, técnicas, ciclos,

roles y artefactos.

Las prioridades son mantener la seguridad del proyecto, desarrollar de forma

eficiente y mantener la habitabilidad de las convenciones. Cockburn describe a

Crystal Clear no a través de las estrategias y técnicas que se deban aplicar, sino

mediante una serie de propiedades claves. Esto lo hace motivado por el hecho

que no necesariamente seguir un procedimiento determinado logre cumplir las

propiedades en un proyecto en particular entonces para la metodología es más

importante cumplir las propiedades que seguir determinados procedimientos.

Crystal Yellow (Cristal Amarillo): Para equipos de trabajo de 9 a 20 personas.

Crystal Orange (Cristal Naranja): Para equipos de trabajo conformados por 20 a

50 personas, es recomendado para proyectos con una duración estimada de 2

años.

Crystal Red (Cristal Rojo): Equipos entre 50 y 100 personas.

Crystal Diammond y Sapphire (Cristal Diamante y Zafiro): Es utilizado en

función del sistema dependa la vida de las personas o la subsistencia de la

organización.

Page 21: Metodologias Crystal

Metodologías Cristal

21

10. CRYSTAL Y OTRAS METODOLOGIAS

Page 22: Metodologias Crystal

Metodologías Cristal

22

CONCLUSION

La guía de trabajo que presenta Crystal Clear es altamente recomendable para equipos

pequeños. Da flexibilidad y la parte humana (como todas las metodologías agiles),

apuntando a brindar eficiencia, habitabilidad y confianza entre los individuos que

conforman el equipo de trabajo.

La familia de metodologías Cristal resalta la comunicación “cara a cara”, como el medio

más efectivo para lograr conseguir los objetivos buscados cuando queremos expresar

algo, es por esta razón que la ubicación física del equipo de trabajo es muy importante

para la metodología, el espacio físico habitable por cada uno de los integrantes, debe

permitir el flujo de ideas de manera bastante sencilla; la metodología recomienda sencillas

técnicas para permitir esto, como tableros ubicados en muchos sitios, reuniones

frecuentes con el equipo de trabajo, y entregas continuas a los usuarios finales,

permitirían que en cualquier proyecto que se implemente se logre culminar con el

desarrollo del software satisfactoriamente.

Se debe tener en cuenta que no existe una metodología universal para hacer frente con

éxito a cualquier proyecto de desarrollo de software, es claro que las organizaciones

modernas, implementan diferentes tipos de metodologías agiles para el desarrollo de

cualquier proyecto, debido a su sencillez tanto en su aprendizaje como su aplicación; este

tipo de metodologías agiles han permitido construir software fomentando prácticas de fácil

adopción y en un entorno organizado que permitiría que muchos proyectos finalicen

exitosamente.

Page 23: Metodologias Crystal

Metodologías Cristal

23

BIBLIOGRAFIA:

“A Human-Powered Methodolgy for Small Teams including The seven Properties of

Effective Software Projects.” By Alistair Cockburn.

www.crystalmethodologies.org

“Methodology per Projetcs” by Alistair Cockburn

http://en.wikipedia.org/wiki/Crystal_Clear_(software_development)

http://en.wikipedia.org/wiki/Alistair_Cockburn