Wiki Tendencia en el desarrollo de software
Metodología de desarrollo Crystal
La Metodología de Desarrollo Crystal es una metodología ágil de gestión de proyectos de software que se enfoca en equipos pequeños y distribuidos geográficamente. Fue desarrollada por Alistair Cockburn en los años 90 y se basa en la idea de que cada proyecto tiene su propio conjunto de características únicas que deben ser consideradas al elegir una metodología de desarrollo.
Crystal se centra en la colaboración entre el equipo de desarrollo y los clientes, promoviendo una comunicación cercana y frecuente. Además, la metodología hace hincapié en la entrega temprana y frecuente de versiones del software, de manera que se puedan obtener comentarios y retroalimentación lo antes posible.
Crystal
también reconoce que diferentes proyectos tienen diferentes niveles de
complejidad y riesgo, y ofrece una variedad de "colores" o variantes
de la metodología, que se adaptan a las necesidades específicas de cada
proyecto.
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).
Las características principales de la metodología de desarrollo Crystal
- Enfoque en las personas: Crystal se enfoca en las personas y en su habilidad para colaborar y comunicarse eficazmente. La metodología reconoce que el éxito del proyecto depende en gran medida del equipo de desarrollo y su relación con los clientes.
- Entrega temprana y frecuente: Crystal promueve la entrega temprana y frecuente de versiones del software, de manera que se puedan obtener comentarios y retroalimentación lo antes posible. Esto permite que el equipo de desarrollo responda rápidamente a los cambios y adaptar el proyecto a las necesidades del cliente.
Adaptabilidad: Crystal ofrece diferentes variantes de la metodología, o "colores", que se adaptan a las necesidades específicas de cada proyecto. La metodología reconoce que cada proyecto es único y puede requerir diferentes enfoques.
Simplicidad: Crystal se enfoca en la simplicidad y en la eliminación de elementos innecesarios en el proceso de desarrollo. Esto ayuda a reducir el riesgo y a mantener el enfoque en los aspectos más importantes del proyecto.
Comunicación frecuente y cercana: Crystal promueve una comunicación cercana y frecuente entre el equipo de desarrollo y los clientes, de manera que se puedan resolver rápidamente cualquier problema o duda que surja en el proceso de desarrollo.
Enfoque en la calidad: Crystal se enfoca en la calidad del software y en la satisfacción del cliente. La metodología promueve el uso de pruebas de calidad y la revisión constante del software para garantizar que cumpla con los estándares y requisitos del cliente.
En general, la metodología de desarrollo Crystal se enfoca
en la simplicidad, la adaptabilidad y la colaboración entre las personas, lo
que la hace adecuada para proyectos pequeños y medianos con equipos
distribuidos geográficamente.
La metodología de desarrollo Crystal se enfoca en la
simplicidad y en la adaptabilidad, por lo que no prescribe herramientas
específicas que se deban utilizar. Sin embargo, existen varias herramientas que
pueden ayudar a los equipos de desarrollo que utilizan la metodología Crystal a
trabajar de manera más eficiente y colaborativa. A continuación, se presentan
algunas herramientas que pueden ser útiles:
- Herramientas de colaboración en línea; Existen diversas herramientas en línea que pueden ayudar a los equipos de desarrollo a colaborar y comunicarse de manera eficaz, incluso si están geográficamente distribuidos. Ejemplos de estas herramientas incluyen Trello, Asana, Slack y Microsoft Teams.
Sistemas de control de versiones: Los sistemas de control de versiones como Git, SVN o Mercurial son herramientas esenciales para cualquier equipo de desarrollo. Permiten a los desarrolladores trabajar en diferentes ramas del proyecto de manera simultánea y fusionar los cambios de manera ordenada.
Herramientas de pruebas y de calidad: Las herramientas de pruebas y de calidad son esenciales para garantizar que el software cumpla con los estándares de calidad y los requisitos del cliente. Ejemplos de estas herramientas incluyen Selenium, JMeter y SonarQube.
Herramientas de automatización de pruebas: Las herramientas de automatización de pruebas como Selenium, Cucumber, o Robot Framework pueden ser útiles para realizar pruebas de manera automatizada y repetible, lo que puede ahorrar tiempo y esfuerzo.
Es importante recordar que las herramientas son una ayuda
para el equipo, pero la metodología de desarrollo Crystal se enfoca en las
personas y la colaboración, por lo que la elección de las herramientas debe
estar al servicio de estos principios.
En el siguiente video podremos observar una explicación detallada del funcionamiento de la metodología crystal
Referencias bibliográficas
Metodología de desarrollo Crystal. (s/f). Tecnologias-informacion.com. Recuperado el 13 de abril de 2023, de https://www.tecnologias-informacion.com/metodologia-crystal.html
Juancarruthers, P. by. (2018, abril 9). Metodología Agil: Crystal. Ingenieria de Software I. https://isi2018.wordpress.com/2018/04/09/metodologia-agil-crystal/
Wikipedia contributors. (s/f). Metodología de desarrollo de software. Wikipedia, The Free Encyclopedia. https://es.wikipedia.org/w/index.php?title=Metodolog%C3%ADa_de_desarrollo_de_software&oldid=150454814
Las metodologías Crystal. Otras metodologías ágiles que, quizás, te puedan encajar más que Scrum. (2012, septiembre 25). Javier Garzas; Javier Garzás. http://www.javiergarzas.com/2012/09/metodologias-crystal.html






Comentarios
Publicar un comentario