JIRA y Salesforce
Se recomienda usar JIRA y Blue Canvas para mejorar la gestión del ciclo de vida de las aplicaciones (ALM) en el desarrollo de Salesforce. Blue Canvas resuelve el «problema de la fuente de verdad» al conectar cada organización con una rama en Git. El flujo ágil recomendado consiste en crear un sandbox para cada épica en JIRA y vincularlo a una rama en Blue Canvas. Los desarrolladores trabajan en sus propios sandboxes y crean una solicitud de despliegue en Blue Canvas para integrar funcionalidades en el sandbox de la épica correspondiente. Cuando se completa la épica, se abre una solicitud de despliegue final hacia producción o la siguiente etapa de desarrollo. Este modelo funciona con cualquier software de ALM y permite que los equipos aprovechen sus sandboxes disponibles para agilizar los despliegues y el seguimiento de incidencias.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··3 min de lecturaEn este artículo, aprende a establecer un flujo ágil con JIRA, Salesforce y Blue Canvas, y a resolver el «problema de la fuente de verdad» en el desarrollo de Salesforce.
Estas son nuestras 5 conclusiones clave:
1. JIRA de Atlassian es una herramienta altamente personalizable y configurable que mejora la planificación y el seguimiento de funcionalidades en un proyecto.
2. Blue Canvas te permite saber quién cambió qué y cuándo, y proporciona un flujo continuo de todos los cambios en tus organizaciones para facilitar la planificación, la depuración, la auditoría y la colaboración.
3. Blue Canvas tiene un modelo único de ramas basado en Git que conecta cada organización de Salesforce con una sola rama de Git para garantizar que tu control de versiones sea una fuente de verdad.
4. El concepto de épicas de JIRA permite agrupar funcionalidades en un solo proyecto, y cada épica puede vincularse a un sandbox en Blue Canvas para la integración y el despliegue.
5. Este flujo y modelo funcionan con cualquier software de ALM y te permiten aprovechar los sandboxes para agilizar mucho más el proceso de despliegue y el seguimiento de incidencias.

Muchos de nuestros clientes buscan implementar un mejor proceso de ALM (gestión del ciclo de vida de las aplicaciones) para su desarrollo en Salesforce. JIRA de Atlassian es una de las mejores herramientas para esta tarea. Es altamente personalizable y configurable. Usar un producto como JIRA te permite ver con más claridad qué trabajo se está realizando y quién lo está haciendo. También mejora la planificación y el seguimiento de funcionalidades en un proyecto, y puedes usarlo para estimar con mayor precisión cuándo se completará el trabajo.
Blue Canvas hace lo mismo con tu código y tus metadatos de Salesforce. Te permite saber quién cambió qué y cuándo, y proporciona un flujo continuo de todos los cambios en nuestras organizaciones, lo que facilita la planificación, la depuración, la auditoría y la colaboración.
Por eso, usarlos juntos es una decisión lógica. Entonces, ¿cuál es la mejor manera de establecer un flujo ágil con JIRA, Salesforce y Blue Canvas?
Una rama, una organización
Blue Canvas tiene un modelo único de ramas basado en Git. Te permitimos conectar cada organización de Salesforce con una sola rama de Git.
Hacemos esto para resolver el «problema de la fuente de verdad» en Salesforce. A diferencia de muchos otros entornos de desarrollo de software, Salesforce permite que desarrolladores y administradores realicen cambios directamente en distintos entornos, tanto en producción como en sandboxes de desarrollo. Si alguien realiza un cambio en un sandbox sin registrarlo en el control de versiones, puede surgir rápidamente una discrepancia entre tu organización y tu control de versiones. Tus registros en el control de versiones pueden indicar una cosa, pero tu aplicación puede comportarse de otra manera. Y el comportamiento de la aplicación debe considerarse la fuente de verdad, porque eso es lo que ven tus usuarios finales. Lo máximo que puedes hacer es esperar que tu control de versiones siga siendo una representación fiel con el tiempo.
La única forma de garantizar que tu control de versiones sea una fuente de verdad es mantenerlo sincronizado con la organización en tiempo real. Blue Canvas lo hace automáticamente al conectar cada organización con una rama en Git. Cuando se realizan cambios, se registran automáticamente en el control de versiones y ya no hay discrepancias.
Aunque esto resuelve el «problema de la fuente de verdad», puede complicar un poco la creación de ramas por funcionalidad, un modelo habitual en muchos equipos ágiles. Entonces, ¿cómo trabajas con herramientas de seguimiento de incidencias como JIRA?
Una épica de Jira por sandbox de Salesforce
JIRA utiliza el concepto de épicas para agrupar funcionalidades en un solo proyecto. Te recomendamos crear un sandbox para cada épica y vincularlo a una rama en Blue Canvas. Dale a la rama un nombre que la relacione con esa épica. Configúralo como entorno de integración para todo el código y la configuración de esa épica en la columna UAT del panel de Blue Canvas.

Haz que los desarrolladores trabajen en sus propios sandboxes y agreguen funcionalidades. Cuando tengan una funcionalidad lista, deben crear una solicitud de despliegue en Blue Canvas desde su sandbox de desarrollo hacia el sandbox de integración asociado con la épica. Asegúrate de incluir el ID y el número del ticket de JIRA en el título o la descripción de la solicitud de despliegue.

A medida que integras funcionalidades en el sandbox de la épica correspondiente, Blue Canvas realiza los despliegues automáticamente por ti. También puedes confiar en que Blue Canvas detectará los conflictos de fusión y te los mostrará para que los resuelvas, en lugar de sobrescribir tu código a ciegas. Además, te permite mantener un historial detallado de cambios por si necesitas revertirlos.

Cuando se complete la épica, abre una solicitud de despliegue final hacia producción o tu siguiente etapa de desarrollo (UAT para algunos, Prod para otros). Ahora puedes cerrar la rama de la épica.
Una buena razón para vincular tu sandbox de integración a una épica es que puedes comenzar con un sandbox nuevo al pasar a nuevos proyectos. Esto garantiza que tu sandbox siempre refleje fielmente el entorno de producción para evitar problemas de dependencias.
Desarrollo ágil en Salesforce
Aunque nos hemos enfocado en Jira y su concepto de épicas, este flujo y modelo funcionan con cualquier software de ALM, ya sea TFS, Visual Studio Team Services, Rally (ahora CA), u otros. La mayoría de los equipos tienen muchos más sandboxes disponibles de los que utilizan. Este modelo te permite aprovecharlos para que tu proceso de implementación y el seguimiento de incidencias sean mucho más fluidos.



