Crystal

Crystal Metodologies
Información sobre la plantilla
Concepto:Compilación de un conjunto de metodologías que facilitan el desarrollo de software.

Crystal Methodologies 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 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.

Características

Una de sus características principales es la vital importancia que se les da a los desarrolladores que componen el grupo de trabajo, por lo cual sus puntos de estudio están destinados a:
Aspecto humano del equipo
Tamaño de un equipo
Comunicación entre los desarrolladores
Políticas a seguir
Espacio físico de trabajo

Rasgos de un equipo Crystal

  •  Una disminución en el número de desarrolladores proporcionará 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 habilitará el paso a la mejora del equipo y por consecuente al producto final.

Metodologías Crystal

Dependiendo de la cantidad de desarrolladores involucrados, el bienestar de los mismos, el ciclo de vida del desarrollo del proyecto, el presupuesto monetario imprescindible y el presupuesto de uso opcional Cristal Methodologies es capaz de clasificarse mediante los siguientes colores que determinan las metodolías incluidas dentro de las metodologías Crystal:

  • Crystal Yellow
  • Crystal Orange
  • Crystal Orange Web
  • Crystal Red
  • Crystal Magenta
  • Crystal Blue

Aunque solamente tres de ellos han sido realmente construidos y son usados en proyectos empresariales, institucionales etc.

Crystal Clear

Esta denotación esta diseñada para grupos o equipos de desarrollo de uno a seis desarrolladores que trabajen en una misma oficina u oficinas adyacentes y en donde el proyecto que se lleve a cabo no sea de gran envergadura o con grandes dificultades para su desarrollo. La misma cuenta con cuatro roles principales:

  • Patrocinador o ejecutivo que costee el proyecto
  • Diseñador-programador líder
  • Diseñador-programador
  • Cliente (que estaría la menor parte del tiempo en el desarrollo del proyecto).

Esta caracterizado por tener libertades en cuanto a la modelación de los casos de uso, calendarios de visitas con el cliente, creación de borradores etc. que atrasarían la entrega de un producto no complejo, aunque si recomienda la política estándar de entregas incrementales al ciente así como las pruebas convenientes del producto.

Crystal Orange

Puede incluir hasta 40 desarrolladores que sus respectivos locales residan en el mismo edificio y que estarían trabajando en un proyecto que por momentos puede estar haciéndole perder al equipo presupuesto de uso opcional. Está diseñado para sistemas de tamaño o complejidad media. Los roles que participan en esta sección de la metodología son:

  • Patrocinador o ejecutivo que costee el proyecto
  • Experto en negocios
  • Experto en usos técnicos
  • Analista/diseñador de negocios
  • Gerente del proyecto
  • Arquitecto de software
  • Diseñador líder
  • Programador líder
  • Otros diseñadores-programadores
  • Diseñador de interfaz de usuario
  • “Reuse point”
  • Escritor de código
  • Probador

Estos roles están organizados en equipos denotados como: equipo de planificación del sistema, monitoreo del proyecto, tecnología, infraestructura, y pruebas externas.
El producto debe estar dotado de documentación, liberación de secuencias, calendarios, reportes de estado del proyecto, documentación de la interfaz de usuario, modelo común de objetos (diseño de clases, bases de datos etc.), manual de usuario, código fuente, casos de prueba y código de migración en caso de existir.

Orange Web

Esta metodología tiene como diferencia de la anterior que esta diseñada para proyectos que estén sometidos a cambios continuos debido a que son usados por el cliente, según su creador (2003) esta metodología se encuentra en prueba, y presenta alrededor de 50 roles divididos en ejecutivos, gente de negocios, gerentes, analistas, programadores, y probadores. Comparado con Crystal Orange presenta menos proyectos debido a que generalmente se dedican a uno solo con actualización de versiones.

Ventajas y Desventajas de las metodologías Crystal

Ventajas

  • Son apropiadas para entornos ligeros
  • Al estar diseñada para el cambio experimenta reducción de costo.
  • Presenta una planificación más transparente para los clientes.
  • Se definen en cada iteración cuales son los objetivos de la siguiente.
  • Permite tener una muy útil realimentación de los usuarios.

Desventajas

  • Delimita el alcance del proyecto con el cliente.

Crystal Methodologies vs Metodologías tradicionales

Metodologías tradicionales vs Metodologías Crystal
Planificación predictiva y “aislada” Análisis de requerimientos y planificación Planificación adpatativa vista en entregas frecuentes y colaboración del cliente
Diseño flexible y extensible, modelos y documentación exhaustiva. Diseño Diseño simple: documentación mínima enfocada en la comunicación
Desarrollo individual con roles y responsabilidades estrictas. Codificación Transferencia de conocimiento: la programación en grupo propicia el conocimiento colectivo.
Actividades de control orientadas a los hitos Pruebas y puesta en producción Liderazgo-Colaboracion: empoderamiento y autoorganización.

Otras metodologías ágiles

Véase también

Fuentes

http://www.dsic.upv.es/asignaturas/facultad/lsi/trabajos/282002.ppt
http://crystalmethodologies.blogspot.com/
http://www.slideshare.net/crystal-methodologies
http://alistair.cockburn.us/crystal/books/pamisd/peopleandmethodologiesinsoftwaredevelopment.pdf