Metodología Agil: Crystal

Fuentes:

La metodología de desarrollo de software en ingeniería del software es un marco de trabajo usado para estructurar, planificar y controlar el proceso de desarrollo en sistemas de información.

Una metodología de desarrollo de software se refiere a un framework (entorno o marco de trabajo) que es usado para estructurar, planear y controlar el proceso de desarrollo en sistemas de información.

Las metodologías Crystal son una familia de metodologías ágiles, donde cada una de ellas está adecuada para un tipo de proyecto. Están caracterizadas por estar centradas en las personas que componen el equipo (de ellas depende el éxito del proyecto) y la reducción al máximo del número de artefactos producidos.

La diferencia con las metodologías ágiles Scrum y FDD es que son menos extremas y están pensadas para más tipologías de proyectos y organizaciones, destacando especialmente proyectos y empresas grandes; además de ser la única metodología que específicamente da cuenta de proyectos con criticidad de vida . Su creador es el popular Cockburn uno de los firmantes del manifiesto ágil. Es una metodología iterativafondo.png

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.

Qué es Crystal Clear

Crystal Clear no es una metodología en si misma sino una familia de metodologías con un “código genético común.

El nombre Crystal deriva de la caracterización de los proyectos según 2 dimensiones, tamaño 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.

Crystal.jpg

CC puede ser usado en proyectos pequeños y como casi todos los otros métodos, CC consiste en valores, técnicas y procesos.

El Código Genético

Consiste en:

 – Unmodelo 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 guía para la toma de decisiones

  • Eficiencia en el desarrollo: para hacer que los proyectos sean económicamente 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.

17424.jpg

Propiedades

  • Frecuencia en las entregas: entregar al usuario funcionalidad “usable” con una frecuencia de entre 2 semanas y no más de un mes.
  • Comunicación: Crystal Clear toma como uno de sus pilares a la comunicación. Promueve prácticas 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 periódicas de reflexión que permitan crecer y hacernos más 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 cómodo con el trabajo y el entorno.
  • Concentración: las entregas frecuentes permiten que cada desarrollador puede enfocar de a un problema evitando dispersiones.
  • Fácil acceso a usuarios clave: tratar de hacer que el usuario sea una parte más del equipo es fundamental para ir depurando errores de manera temprana.
  • Entorno técnico con testing automatizado (incorporación, por ejemplo, de UnitTest); e integración frecuente (uso de herramientas específicas como Cruise Control).

Fases de la metodología Crystal

  • Puesta en escena. Consiste en la planificación del siguiente incremento, el equipo selecciona los requerimientos que serán implementados en el incremento y planifican lo que harán.
  • Revisiones. Cada incremento tiene varias iteraciones y cada iteración incluye las actividades de construcción, demostración y resumen de objetivos del incremento.
  • Monitoreo. Los progresos son monitoreados a partir de las diferentes entregas. El proceso se mide con los hitos clave y la estabilidad de las fases.
  • Paralelismo y flujo. Cuando el monitoreo nos brinda un estado suficientemente estable es hora de pasar a la próxima etapa.
  • Estrategia de diversidad holística. Se utiliza para dividir grandes equipos funcionales en equipos multifuncionales.
  • Técnica de puesta a punto de la metodología. Se basa en entrevistas y talleres para elaborar una metodología específica para el proyecto. Sirve para modificar o fijar el proceso de desarrollo.
  • Puntos de vista de usuario. Dependiendo del color de la metodología Crystal que se elija se recomienda la opinión de dos usuarios por cada versión del producto (CC); también tres revisiones por parte del cliente en cada iteración (CO).

Roles de un equipo de trabajo

fullstack-agile-scrum-basics-9-638-1.jpg

  • 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.
  • Diseñador Principal: 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.
  • Usuario Experto: 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.
  • Diseñador Programador: es muy importante fusionar estos dos conceptos un programador y sin diseño, solo lograra 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.
  • Coordinador: 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.
  • Experto en Negocios: 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.
  • Verificador: 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.
  • Escritor: 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.

Ventajas y Desventajas

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.

Herramienta

Una herramienta que soporta la metodología Crystal es Jira de la empresa Atlassian. Es un tipo de herramienta paga que cuenta con prueba limitada. Los precios varían de acuerdo al despliegue en el que se quiera contar con la herramienta. Considerando al software para un servidor con 10 usuarios cuesta 10 dólares con 12 meses de periodo de mantenimiento incluido, luego estos precios van aumentando considerablemente; por ejemplo con 25 usuarios a 2000 dólares, hasta usuarios ilimitados a 39.600 dólares. En el caso de que el volumen sea de un data center de 500 usuarios su precio sería 12.000 dólares.

Puede ser tanto de uso local con la necesidad de descargar el software o a través de la nube.

empresas.jpg

Para leer los casos ingresar a: https://es.atlassian.com/software/jira/service-desk

empresas2.jpg

Easy Agile vende servicios de consultoría y capacitación en la utilización de software Jira.

Conclusión

La conclusión a la cual hemos llegado es que al igual que las demás metodologías ágiles en esta se tiene muy en cuenta al usuario, este es consultado frecuentemente  a manera de retroalimentar el sistema; también es una metodología que tiene como pilar en las operaciones a las personas, buscando la mejores formas de que estas sean más productivas, ya sea proponiendo juegos que fomenten la invención y comunicación entre los desarroladores. Otra cosa notable es que establece los distintos tipos de riesgo en cada proyecto.

Links de interés

Libro sobre metodología Crystal

Herramientas para la gestión ágil de proyectos

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

Blog at WordPress.com.

Up ↑

%d bloggers like this: