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.
El nombre Crystal surge de la caracterización de los proyectos de software de
acuerdo a su tamaño e importancia (criticality) del producto a desarrollar, de la misma forma que los cristales son caracterizados por su color y dureza. El tamaño del proyecto indica el método a utilizar —Crystal Clear es para equipos pequeños (menos de 8 personas), seguido por Yellow (10 a 20), Orange (20 a 50), y así sucesivamente hasta Violet, mientras que la importancia indica la dureza con que se debe aplicar, esta va de cuarzo (quartz) hasta diamante (diamond). 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
Prioridades Seguridad en el desenlace del proyecto. Eficiencia en el desarrollo. Habitabilidad de las reglas (el equipo se siente cómodo con ellas).
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. 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.
Las 7 propiedades de las metodologías Crystal
Las metodologías Crystal cumplen todas ellas con 7 propiedades esenciales, las siguientes: 1 – Entregas frecuentes, en base a un ciclo de vida iterativo e incremental. En función del proyecto puede haber desde entregas semanales hasta trimestrales. Para los que conozcan Scrum: en Scrum las entregas son, máximo, cada 4 semanas, en las Crystal se contemplan muchas más opciones. 2 – Mejora reflexiva. Que viene a ser mejora continua. Las iteraciones ayudan a ir ajustando el proyecto, a ir mejorándolo. 3 – Comunicación osmótica. Traducido al castellano, que el equipo esté en una misma ubicación física, para lograr la comunicación cara a cara. 4 – Seguridad personal. Todo el mundo puede expresar su opinión sin miedos, teniéndosele en cuenta, considerándose su opinión, etc. 5- Enfoque. Períodos de no interrupción al equipo (2h horas), objetivos y prioridades claros, definiendo así tareas concretas. Si llevas desde hace tiempo pasando por este blog, recordarás ya comentábamos, tiempo a, aquello de que el entorno físico afecta al rendimiento del desarrollador software (te dejo aquel post). 6 – Fácil acceso a usuarios expertos. Las Crystal (a diferencia de otras como XP) no exigen que los usuarios estén continuamente junto al equipo de proyecto (no todas las organizaciones pueden hacerlo), sí que, como mínimo, semanalmente debe haber reuniones y los usuarios deben estar accesibles. 7 – Entorno técnico con pruebas automatizadas, gestión de la configuración e integración continua. Prácticas comunes en casi todas las metodologías ágiles.