Guía para desarrolladores: mejores prácticas de implementación de Salesforce
Descubre mejores prácticas y consejos prácticos del desarrollador experto Atlas Can para realizar implementaciones de Salesforce sin contratiempos.
Por Randalyn Hill-Coffer·Revisado por el equipo de Blue Canvas··14 min de lectura
En este artículo, te orientamos sobre cómo abordar con éxito las implementaciones de Salesforce. Aprenderás sobre la elección del momento adecuado, el uso de sandboxes, la gestión de metadatos, las pruebas, la gobernanza y el papel fundamental de DevOps para garantizar operaciones fluidas. A través de ejemplos prácticos, comprenderás los detalles de las implementaciones de Salesforce.
Estas son nuestras 5 conclusiones clave:
- Elegir el momento adecuado para las implementaciones es fundamental para evitar los picos de actividad de los usuarios y minimizar los errores.
- Usa el sandbox adecuado para cada tarea y garantiza implementaciones exitosas.
- Comprender la API de metadatos de Salesforce y sus limitaciones puede ayudarte a agilizar las implementaciones.
- Escribir y mantener buenas clases de prueba es fundamental para identificar problemas antes de que lleguen a producción.
- Una buena gobernanza y seguir las mejores prácticas son fundamentales para administrar y operar una organización de Salesforce de manera eficaz.
¡Ah, el día de la implementación! Para quienes recién comienzan, las implementaciones en Salesforce pueden ser bastante difíciles de abordar al principio. (¡Me refiero a ustedes, administradores y desarrolladores que trabajan solos: los héroes anónimos del mundo de Salesforce!) Las implementaciones pueden fallar por muchas razones. Seguro que te ha pasado: valores duplicados o inactivos en listas de selección, un campo de relación faltante, falta de cobertura de código, permisos o configuraciones de visibilidad incorrectos o faltantes. Basta con que uno de estos elementos esté mal para que tus usuarios reciban errores que afectan operaciones críticas y tú pases toda la noche intentando encontrar la causa. ¡Todo esto puede ser un duro despertar!
Este artículo busca ofrecer una descripción general de algunas prácticas recomendadas y ejemplos específicos que puedes considerar al preparar una implementación en Salesforce. Si es la primera vez que implementas en Salesforce o quieres repasar tus conocimientos, estás en el lugar correcto.

Un patrón común que he visto en mi experiencia es que, a medida que tu estrategia de DevOps se vuelve más compleja, terminas intercambiando el tiempo dedicado a implementar por tiempo dedicado a mantener un proceso de DevOps. Para una plataforma de bajo código como Salesforce, esto a menudo puede ser excesivo, especialmente para equipos pequeños y medianos. ¿Cómo puedes planificar adecuadamente para no complicar demasiado tus procesos de DevOps y, al mismo tiempo, ahorrar mucho tiempo en tus implementaciones? ¿Cuál es el equilibrio adecuado? Aquí tienes algunos consejos prácticos.
Mejores prácticas de implementación en Salesforce
Cuándo implementar en Salesforce
Una práctica recomendada es programar las implementaciones fuera de los períodos de mayor actividad de los usuarios para evitar interrupciones. También conviene mantener un calendario regular de lanzamientos e implementar cambios de forma constante y periódica, en lugar de hacerlo en lotes grandes y poco frecuentes. Esta constancia ayuda a reducir el riesgo y mejorar la estabilidad del sistema.
Uso eficaz de sandboxes
Salesforce ofrece varios tipos de sandboxes, cada uno diseñado para distintos fines, como desarrollo, pruebas o capacitación. Saber qué sandbox usar para cada tarea es fundamental para una implementación eficiente y segura. Esto puede agilizar considerablemente el proceso de desarrollo e implementación y reducir la posibilidad de errores.
Control del acceso a las implementaciones
En Salesforce, es importante limitar la cantidad de usuarios que tienen permisos de implementación. Al restringir el acceso, puedes evitar cambios involuntarios que podrían complicar el proceso de implementación. Un control estricto de los permisos de implementación ayuda a garantizar la integridad del sistema.
Comprende la API de metadatos de Salesforce
La API de metadatos de Salesforce impulsa todas las implementaciones en Salesforce. Familiarizarte con las particularidades y limitaciones de la API puede ayudarte a evitar problemas de implementación. Aunque es potente, la API de metadatos tiene limitaciones que es importante comprender para implementar con éxito.
Énfasis en las pruebas y la gobernanza
Implementar buenas clases de prueba y mantener una alta cobertura de código permite detectar posibles problemas antes de que lleguen a producción. Esta práctica reduce el riesgo y aumenta la estabilidad. Por su parte, una estructura sólida de gobernanza puede aportar lineamientos claros y supervisión para agilizar el proceso de implementación y garantizar que las responsabilidades estén bien definidas.
El papel de DevOps en la implementación en Salesforce
A medida que los sistemas de Salesforce se vuelven más complejos, contar con una estrategia clara de DevOps se vuelve esencial. Las mejores prácticas de DevOps pueden mejorar la colaboración entre los equipos de desarrollo y operaciones, acelerar las implementaciones y evitar que se acumule deuda técnica. Esto ayudará a tu equipo a adaptarse más rápido a los cambios y a entregar soluciones más confiables.
Elige el momento adecuado
Elegir el momento adecuado es fundamental. Obviamente, evitar las implementaciones durante los períodos de mayor actividad de los usuarios es un buen comienzo. Define un horario en el que la mayoría de los usuarios no estén activos en el sistema. Salesforce bloquea los metadatos y las aplicaciones cuando están en uso, por lo que recibirás un error si hay muchos usuarios activos. Tener un calendario regular de lanzamientos cada dos o tres semanas, en lugar de implementar meses de cambios de una sola vez, puede marcar una gran diferencia.
Desacoplar de forma lógica las distintas partes de la organización que pueden implementarse por separado también aliviará tu carga. Hay muchas formas de hacerlo. Sin embargo, esto requiere más preparación y trabajo manual al inicio.
Un enfoque sencillo puede ser implementar objetos > clases de Apex > componentes de Visualforce > páginas de Visualforce > desencadenadores de Apex y otros metadatos, dejando los perfiles y conjuntos de permisos para el final.
La razón para implementar primero los objetos es resolver las dependencias al inicio del proceso. Los formatos compactos y las vistas de lista son especialmente problemáticos en este sentido. En cuanto a los perfiles, debes asegurarte de implementar primero todos los metadatos relacionados, porque los perfiles son una capa general sobre los metadatos de la organización que conecta muchas dependencias.
(Esta es una de las razones por las que Blue Canvas ofrece listas de verificación manuales donde puedes anotar y dar seguimiento a los pasos necesarios durante las implementaciones para que todos estén alineados y puedan rastrear las dependencias.)
Usa el sandbox adecuado para cada tarea

Lo que hace único a Salesforce frente a la mayoría de las alternativas es que es una plataforma empresarial donde puedes desarrollar directamente en un entorno de producción. Cuando tienes varios grupos de usuarios con distintas configuraciones de colaboración, lógica de negocio compleja y múltiples integraciones que dependen unas de otras, todo puede volverse muy complejo. Esto es especialmente cierto en organizaciones grandes, donde el crecimiento puede aumentar drásticamente la carga de algunas operaciones. Desarrollar en sandboxes puede ayudar, pero a menudo resulta confuso saber qué sandboxes usar para cada etapa de tu flujo de trabajo.
Sandboxes de desarrollo y organizaciones temporales
La mayoría de los cambios de metadatos deben realizarse en un sandbox de desarrollo o en una organización temporal, ya sea crear un objeto, cambiar un formato de página o crear una pestaña nueva. Sin duda, estos cambios no deben hacerse en tus organizaciones de producción y rara vez deben realizarse directamente en tus sandboxes de copia completa o parcial (Blue Canvas sí admite implementaciones desde tus entornos de etapas posteriores hacia sandboxes de Salesforce de etapas anteriores, pero esta funcionalidad debe usarse para llevar los cambios de vuelta a tus sandboxes de etapas anteriores después de la integración, ¡no como una herramienta para fomentar la programación directamente en producción o en sandboxes de etapas posteriores!)
En un escenario ideal, cualquier cambio declarativo o programático debe probarse en sandboxes de desarrollo u organizaciones temporales y luego enviarse mediante una solicitud de incorporación de cambios a sandboxes de etapas posteriores, donde tendrías la versión más cercana a la organización de producción (por ejemplo, usando un sandbox de copia completa o parcial para las pruebas de aceptación del usuario).
Si no lo haces, te encontrarás con problemas comunes como:
- Alcanzar los límites de la organización
- Clases de prueba que fallan
- Intentar implementar una regla de validación que impide una operación DML
- Un tipo de registro o formato de página mal configurado que impide el acceso de los usuarios (¡cambiar el tipo de un campo o habilitar funciones como las cuentas personales es irreversible!)
- Procesos fuera de control que se salen del contexto normal de ejecución y hacen que otros se activen de nuevo
Como las organizaciones de Salesforce son aplicaciones vivas que cambian constantemente, los administradores y usuarios podrían verse tentados a editar conjuntos de permisos y perfiles, o crear o eliminar vistas de lista para objetos directamente en producción. Aunque al principio esto pueda parecer seguro, cambiar una configuración general, como una regla de colaboración o la configuración de un grupo, o modificar la estructura de la jerarquía de funciones directamente en producción o en un sandbox completo puede ser peligroso. Procesar esos cambios puede tomar mucho tiempo, especialmente en organizaciones con grandes volúmenes de datos. (Puedes aprovechar Reglas de colaboración paralelas y Mantenimiento diferido de colaboración para ambas implementaciones o reducir los tiempos de procesamiento, pero ese es un tema para más adelante.)
Por ejemplo, si implementas un perfil o conjunto de permisos completo y el paquete o contenido de la implementación incluye una regla de colaboración, se ejecuta un cálculo cada vez que intentas implementar. Si tienes varios errores de implementación, tendrás que ejecutar el cálculo de la regla de colaboración una y otra vez. En este caso, te sugiero validar los paquetes con anticipación, implementar la lógica de colaboración después y trabajar con sandboxes que tengan menos datos (es decir, sandboxes de desarrollo). También debemos considerar que, cuando estos cambios se realizan en cualquier organización, hacen que el código Apex se recompile y aumentan los tiempos de procesamiento.
A revisión de código también es apropiado en esta etapa. Cualquier tipo de cambio debe evaluarse cuidadosamente y probarse varias veces.
Sandboxes de copia completa y parcial
El propósito de los sandboxes de copia completa y parcial es realizar pruebas en un entorno lo más parecido posible a producción. Sin importar cuánta experiencia tengas con Salesforce, a menudo descubrirás problemas en tus sandboxes de copia completa y parcial por la forma en que tu código y configuración interactúan con los datos reales de Salesforce. Por ejemplo, si tienes varias integraciones, podrías encontrarte con problemas de rendimiento si hay demasiados registros secundarios bajo un mismo registro principal y si las operaciones DML bloquean los registros durante demasiado tiempo.
Como práctica recomendada, ejecuta todas las clases de prueba en un sandbox completo o parcial antes de intentar pasar a producción. Con demasiada frecuencia he visto equipos que intentan corregir y validar todo al momento de la implementación. Esto lleva a pasar largas noches y fines de semana trabajando en lugar de descansar en casa. Prueba y valida tus cambios en un sandbox de copia completa o parcial con suficiente anticipación a la implementación planificada.
Actualización de sandboxes
Otra clave para lograr implementaciones exitosas es mantener tus sandboxes actualizados periódicamente con tu organización de producción. Los intervalos de actualización de cada tipo de sandbox son diferentes y puedes aprovecharlos según las tareas para las que están diseñados. Los sandboxes de desarrollo se pueden actualizar a diario, los sandboxes de copia parcial tienen un límite de 5 días y el sandbox de copia completa requiere 29 días para actualizarse. Crear un calendario de actualizaciones te ahorrará mucho tiempo y dolores de cabeza al implementar.
Define quién puede implementar, cuándo y dónde

También conviene considerar cuidadosamente quién puede cambiar los metadatos en tus organizaciones. Debes limitar la cantidad de usuarios con el permiso `Customize Application` a nivel de perfil y restringir quién tiene acceso a la API de la organización. Estos permisos otorgan muchas capacidades a los usuarios; por mencionar solo algunas:
- Personaliza la organización con las opciones del menú de configuración de aplicaciones
- Editar mensajes y vínculos personalizados
- Modificar valores de listas de selección estándar
- Crear, editar y eliminar campos personalizados
- Crear, editar y eliminar diseños de página
Por eso, estos permisos solo deben otorgarse a usuarios con suficiente experiencia en la plataforma. Con Blue Canvas puedes controlar con mayor precisión quién tiene acceso de administrador del sistema a producción y crear reglas y permisos que determinen quién puede desplegar, cuándo y dónde, sin otorgar acceso amplio a todos ni tener que comprar licencias de Salesforce de producción para los desarrolladores.
Comprende la API de metadatos de Salesforce (y sus limitaciones)
El API de metadatos es la base de todos los despliegues de Salesforce, incluidos los conjuntos de cambios, la herramienta de migración Ant, la CLI de Salesforce y cualquier IDE o herramienta comercial de DevOps que uses.
Conjuntos de cambios
Los conjuntos de cambios son la forma más sencilla de interactuar con la API de metadatos. Aunque son fáciles de usar, tienen algunas desventajas (esta lista no es exhaustiva):
- Requieren que las organizaciones estén conectadas y configuración manual para los distintos entornos
- No admite cambios destructivos (por ejemplo, eliminar una clase Apex de una organización de producción)
- Los usuarios deben crear un conjunto de cambios para cada etapa del proceso de lanzamiento
- Muchos pasos manuales propensos a errores
Herramienta de migración Ant y CLI de Salesforce
Si decides prescindir de los conjuntos de cambios (¡algo que sí recomendamos!), tendrás que familiarizarte más con la herramienta de migración Ant o la CLI de Salesforce. Aunque Salesforce promueve la CLI por encima de Ant, ¡una cantidad sorprendentemente alta de configuraciones de DevOps en el mundo de Salesforce todavía depende de scripts de Ant para los despliegues! Usar la API de metadatos tiene muchas dificultades ocultas. Estas son solo algunas:
Los despliegues grandes son un dolor de cabeza. Un problema común de la API de metadatos es el despliegue de paquetes demasiado grandes (400mb, 10,000 archivos). Este límite mide el tamaño de los datos sin comprimir, así que, si lo superas, recibirás un error de límite. Los desarrolladores tampoco pueden usar la función retrieve para solicitar objetos grandes que no estén indexados, y el archivo comprimido tiene un límite de 39mb.
Por eso es tan importante desacoplar tus metadatos y desplegar con frecuencia. Puede ser muy difícil desacoplar las dependencias a toda prisa después de alcanzar un límite de tamaño en un día de despliegue crítico, especialmente si tus equipos no están alineados y no se lleva un seguimiento de las dependencias.
Dificultades con los permisos. También está el problema de que la API de metadatos solo devuelve permisos personalizados, pero no permisos de usuario. Al consultar pestañas, no se devuelven las estándar con prefijo. Además, al consultar objetos personalizados, devuelve información incompleta sobre los objetos estándar.
Compatibilidad limitada con ciertos tipos de metadatos. Muchos tipos de metadatos de Salesforce requieren pasos manuales para desplegarse porque son no compatibles por la API de metadatos.
Desplegar correctamente traducciones y diseños de página. Otra particularidad es que, al desplegar traducciones, primero debes eliminar los comentarios removeTranslation y luego actualizarlos después del despliegue. También hay problemas con los diseños de página, ya que se devuelven todos los nombres unpackagedLayout y debes editar manualmente el resultado.
Blue Canvas busca resolver y gestionar muchas de estas particularidades de la API de metadatos con más de 7 años de experiencia trabajando con ella. Blue Canvas usa el formato de código fuente de SFDX, que facilita mucho el seguimiento y el despliegue de cambios entre tus organizaciones. Esto puede ahorrarte muchísimo tiempo si trabajas en una organización grande y quieres comparar metadatos rápidamente y hacer ediciones línea por línea si es necesario para garantizar que el paquete se valide.
Pruebas
Escribir buenas clases de prueba y mantenerlas es fundamental. Una clase de prueba que falla en un entorno de pruebas de aceptación del usuario (UAT) puede ser un salvavidas si las pruebas se escribieron de acuerdo con la lógica de negocio y son funcionalmente correctas. Así, los problemas se pueden resolver antes de que lleguen a producción.
La cobertura de código también cuenta una historia sobre tu organización. Si las pruebas no están escritas correctamente, no se alcanzará la cobertura de código requerida. Si las pruebas hay están escritas correctamente, pero no alcanzas la cobertura necesaria, es una señal de que el código es redundante y puede refactorizarse para ajustarse a las pruebas que ejecutan el escenario correcto.
Profundizaremos en las pruebas en una próxima publicación.
Gobernanza
Además de todo lo que ya mencionamos, también está la responsabilidad de administrar correctamente una organización. La gobernanza es un tema amplio, y hay mucho que decir sobre su valor para las organizaciones tecnológicas. Aquí tienes algunos consejos que debes considerar para crear una buena estructura de gobernanza en tu organización:
- Usa estándares de diseño junto con convenciones de nombres y pruebas alineadas con las mejores prácticas de Salesforce
- Monitorea continuamente los cambios en tu organización
- Crea un proceso de gestión de versiones que permita la comunicación entre equipos para cambios pequeños y grandes (por ejemplo, revisiones de código mediante solicitudes de incorporación de cambios)
- Respalda tu historial de implementaciones y define una estrategia de reversión
El papel de DevOps

DevOps se está convirtiendo en una prioridad para muchos equipos de Salesforce a medida que el ecosistema crece y madura. En los últimos años, la cantidad de código y la complejidad han aumentado enormemente para muchos equipos. Cada vez se integran más productos de Salesforce al conjunto de soluciones, y todos ofrecen opciones de personalización que deben mantenerse, desde nCino hasta Salesforce CPQ.
Los equipos que adopten las mejores prácticas y los principios básicos mencionados tendrán una gran ventaja y evitarán tener que resolver la deuda técnica en el futuro.
¡Buena suerte!
Sobre el autor
Atlas es desarrollador de Salesforce en EMPAUA y moderador en SFXD . Comparte lo que ha aprendido a lo largo de sus años de experiencia en la comunidad de Salesforce. Puedes leer más artículos suyos en SalesforceBen , y síguelo Twitter. )
Para mantenerte a la vanguardia, considera adoptar las herramientas de despliegue de Salesforce de Blue Canvas como tu socio de DevOps. Con nuestras funciones y herramientas de vanguardia, diseñadas para gestionar tu proceso de despliegue sin complicaciones, hacemos que la complejidad de Salesforce sea manejable y comprensible. No esperes a que la deuda técnica frene tu avance: Hablemos hoy!
--------
Preguntas frecuentes
¿Cuál es el mejor momento para desplegar cambios en Salesforce?
- El mejor momento para desplegar cambios es cuando la mayoría de los usuarios no estén activos en el sistema. Establecer un calendario regular de lanzamientos cada dos o tres semanas, en lugar de desplegar meses de cambios de una sola vez, puede marcar una gran diferencia. Salesforce bloquea los metadatos y las aplicaciones mientras se están usando, por lo que pueden producirse errores si hay muchos usuarios activos durante el despliegue.
¿Qué papel tienen los entornos sandbox en los despliegues de Salesforce?
- Los entornos sandbox se usan para realizar y probar cambios en un entorno controlado antes de llevarlos a producción. Cada tipo de sandbox es adecuado para tareas diferentes. La mayoría de los cambios de metadatos deben realizarse en un sandbox de desarrollador o en una organización temporal, mientras que los sandboxes de copia completa o parcial deben usarse para probar cambios en un entorno lo más parecido posible al de producción.
¿Qué es la API de metadatos de Salesforce y cuáles son sus limitaciones?
- La API de metadatos de Salesforce es la base de todos los despliegues de Salesforce, incluidos los conjuntos de cambios, la herramienta de migración Ant, la CLI de Salesforce y cualquier IDE o herramienta comercial de DevOps. Aunque ofrece gran flexibilidad y control sobre los despliegues, tiene limitaciones. Por ejemplo, no admite despliegues grandes, solo devuelve permisos personalizados, pero no permisos de usuario, y no es totalmente compatible con ciertos tipos de metadatos.
¿Por qué son importantes las pruebas en los despliegues de Salesforce?
- Las pruebas son fundamentales para garantizar que los cambios realizados en el entorno sandbox funcionen como se espera al llevarlos a producción. Las buenas clases de prueba pueden identificar problemas antes de que lleguen a producción, lo que reduce el riesgo de errores que podrían afectar la experiencia del usuario final. Realizar pruebas con regularidad y mantener las clases de prueba son aspectos clave para lograr despliegues exitosos en Salesforce.
¿Qué papel tiene la gobernanza en la gestión de una organización de Salesforce?
- Una buena gobernanza es fundamental para gestionar y operar eficazmente una organización de Salesforce. Implica crear y seguir estándares de diseño, convenciones de nombres y protocolos de prueba, monitorear continuamente los cambios en la organización y mantener un proceso sólido de gestión de versiones. Respaldar el historial de despliegues y contar con una estrategia de reversión también son aspectos importantes de una buena gobernanza.
¿Qué papel tiene DevOps en los despliegues de Salesforce?
- Las prácticas de DevOps son cada vez más importantes en Salesforce a medida que el ecosistema crece y madura. A medida que aumentan la cantidad de código y la complejidad para muchos equipos, adoptar las mejores prácticas de DevOps puede mejorar significativamente la eficiencia y la eficacia, además de evitar tener que resolver la deuda técnica en el futuro.



