Organizaciones de desarrollo de Salesforce
Las organizaciones de desarrollo de Salesforce son herramientas poco aprovechadas para realizar pruebas y experimentar de forma segura. Cada desarrollador debería tener su propia organización para la integración continua.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··5 min de lecturaEn este artículo, descubre los beneficios de usar organizaciones de desarrollo de Salesforce, cuántas están disponibles, por qué cada desarrollador debería tener la suya y cómo los administradores también pueden beneficiarse de ellas. Además, el artículo aborda los desafíos de usar estas organizaciones y cómo Blue Canvas puede ayudarte a resolverlos.
Estas son nuestras 5 conclusiones clave:
- Las organizaciones de desarrollo de Salesforce son un entorno seguro para hacer cambios y probarlos sin afectar a los usuarios de producción.
- La mayoría de los planes de Salesforce ofrecen una cantidad generosa de organizaciones de desarrollo, pero aún se aprovechan poco.
- Cada desarrollador y administrador debería tener su propia organización de desarrollo para trabajar de una manera más alineada con la integración continua.
- Migrar código entre organizaciones puede ser un desafío, pero herramientas como Blue Canvas pueden ayudarte a resolverlo.
- El escenario ideal para las organizaciones de desarrollo de Salesforce es que cada desarrollador trabaje en funcionalidades en su propia organización, las pruebe y luego integre el código en un entorno de preproducción o de pruebas de aceptación del usuario (UAT) antes de migrarlo a producción.
Las organizaciones de desarrollo de Salesforce son una de las herramientas menos aprovechadas por los desarrolladores de Salesforce. La situación está mejorando: a estas alturas, la mayoría sabe que no se deben hacer cambios directamente en producción. Pero aún sorprende ver a tantos equipos con 5 o 6 desarrolladores compartiendo un solo sandbox, en lugar de darle a cada uno su propia organización de desarrollo de Salesforce para experimentar. Dado el enorme interés en integración continua para Salesforce y una estrategia eficaz de sandboxes de Salesforce, cabría esperar un mayor uso de las organizaciones de desarrollo.
Las organizaciones de desarrollo de Salesforce están pensadas como un entorno seguro donde puedes hacer cambios y probarlos sin afectar a tus usuarios de producción. Por eso, deben reflejar el entorno de producción lo más fielmente posible. Hay varios tipos de organizaciones de desarrollo. Salesforce Developer Edition son una herramienta gratuita que los desarrolladores pueden usar si no tienen acceso a un sandbox (una copia de su instancia de producción de Salesforce). Los sandboxes de desarrollo de Salesforce son similares a las organizaciones de la edición Developer, pero tienen mayor capacidad de almacenamiento y se actualizan a partir de una organización de producción. Los sandboxes de desarrollo de Salesforce vienen en dos variantes: Pro y Standard. Los sandboxes Developer Standard están limitados a 200MB de archivos y 200MB de almacenamiento de datos. Los sandboxes Developer Pro de Salesforce incluyen 1GB de archivos y 1GB de almacenamiento de datos.
A diferencia de los sandboxes Partial Copy y Full Copy de Salesforce, se pueden actualizar una vez al día. Esto ayuda a mantener tus organizaciones de desarrollo lo más parecidas posible a producción.
Por qué usar organizaciones de desarrollo de Salesforce
Las organizaciones de desarrollo (sandboxes y Developer Edition) son útiles porque te permiten hacer cambios en un entorno seguro. No querrías actualizar funciones clave para tu negocio directamente sin antes probarlas a fondo. Las organizaciones de desarrollo te permiten hacer precisamente eso.
También ofrecen una oportunidad para experimentar. Los desarrolladores son inventores por naturaleza y suelen dar lo mejor de sí cuando pueden dejar volar su imaginación. Esto es posible en una organización de desarrollo de Salesforce de una manera que no lo es en producción.
¿Cuántas organizaciones de desarrollo de Salesforce obtengo?
Sorprende que tan pocas empresas usen sus organizaciones de desarrollo de Salesforce, dada la generosidad de la mayoría de los planes de Salesforce. La edición Professional de Salesforce incluye 10 organizaciones de desarrollo de Salesforce. Enterprise ofrece 25 y Unlimited Edition otorga nada menos que 100. Así que no son recursos escasos para la mayoría de las empresas.
Por qué cada desarrollador de Salesforce debería tener su propia organización de desarrollo
Dada la gran cantidad de organizaciones disponibles para la mayoría de las empresas, es razonable que cada desarrollador de tu equipo tenga su propia organización de desarrollo de Salesforce.
Si cada desarrollador tiene su propia organización, puede trabajar de una manera más alineada con la integración continua. Uno de los principales beneficios de la integración continua es minimizar los conflictos de fusión. Al hacer cambios pequeños y frecuentes, en lugar de cambios grandes y esporádicos, puedes asegurarte de que tu código esté listo para implementarse y evitar cambios importantes que provoquen fallas y sean difíciles de entender, probar y revertir.
Dar a cada desarrollador su propia organización también ayuda mucho a evitar la sobrescritura de código. Si dos desarrolladores distintos (o seis, como vemos a menudo) trabajan en la misma clase dentro de la misma organización, es casi seguro que sobrescribirán el trabajo de los demás. El control de versiones puede ayudar con esto, pero sigue siendo riesgoso que varias personas hagan cambios en la misma organización, porque ni siquiera el control de versiones puede resolverlo siempre.
Los administradores también deberían usar organizaciones de desarrollo de Salesforce
Esto también se aplica a los administradores de Salesforce también. Los cambios declarativos son tan importantes como los cambios de código y deben tratarse con la misma prioridad. Esto es lo mejor de la plataforma Salesforce. Si cada administrador tiene su propia organización, podrá evitar conflictos. Como mínimo, los administradores deberían poder usar sus propias organizaciones para hacer cambios fuera de producción.
El escenario ideal para las organizaciones de desarrollo de Salesforce
En un mundo ideal, cada desarrollador y administrador tiene su propio entorno de desarrollo, tal como lo tendría en cualquier otro ecosistema de software.
Cada día pueden trabajar en funcionalidades dentro de su propia organización y probarlas como prefieran. Cuando un desarrollador esté satisfecho con sus cambios, puede registrarlos en el control de versiones (o dejar que Blue Canvas se encargue de eso).
A continuación, pueden fusionar el código de su organización de desarrollo de Salesforce en un entorno de preproducción o UAT, como un sandbox de copia parcial o completa. Aquí, el equipo puede probar la funcionalidad y verificar que se integre correctamente con otras funcionalidades, datos y metadatos.
Una vez hecho esto, los metadatos se migran de UAT a producción.
Por último, todos los cambios de producción deben sincronizarse con tus organizaciones de UAT y de desarrollo de Salesforce para que estas últimas se parezcan lo más posible a producción.
Lograr este flujo de trabajo en Salesforce hoy es bastante difícil y requiere una configuración y un mantenimiento costosos.
¿Por qué no hay más desarrolladores con su propia organización de desarrollo?
Tras hablar con cientos de equipos de desarrollo de Salesforce, creemos haber descubierto la razón principal por la que no se usan más las organizaciones de desarrollo de Salesforce. No es que sus contratos no les den acceso a más organizaciones. Tampoco es que no estén de acuerdo con el marco conceptual que describimos antes. Simplemente, migrar código entre organizaciones es sumamente complicado. La mayoría de los equipos ya no hace cambios directamente en producción, sino en un sandbox. Pero la dificultad de trasladar los cambios de código y configuración de su sandbox a producción hace que duden en multiplicar el problema al trabajar en muchas organizaciones distintas.
Este desafío se agrava porque no basta con implementar de forma unidireccional desde tu organización de desarrollo de Salesforce hacia producción. Para aprovechar esta estrategia, también necesitarás implementar los cambios de producción en tus sandboxes. La idea de tener que gestionar todo esto intimida a los equipos y los lleva a adoptar una estrategia de sandboxes demasiado simplificada y poco eficaz.
Entendemos la frustración y creamos Blue Canvas para abordar este problema directamente. Con Blue Canvas puedes fusionar código entre organizaciones de forma fácil, segura y continua. Esto permite usar las organizaciones de desarrollo de Salesforce de manera más eficaz y hacer realidad la integración continua.



