Planificar los cambios para su organización
Objetivos de aprendizaje
Después de completar esta unidad, podrá:
- Describir cómo gestiona los cambios mediante el modelo de desarrollo de la organización.
- Identificar las herramientas que necesita para el desarrollo de la organización.
- Explicar los beneficios del uso de un sistema de control de fuentes.
Presentación de Calvin, el administrador de Salesforce de Zephyrus Relocation Services, Inc.
Calvin Green desempeña numerosas funciones técnicas para Zephyrus Relocation Services, una firma de movilidad de talentos de Fairfax, Virginia (EE.UU.). Una de las funciones de Calvin consiste en personalizar Salesforce para el equipo de ventas de la compañía: un equipo pequeño, pero que está creciendo. Al utilizar la interfaz de configuración en la organización de producción, se toma con una variedad de nuevos tableros y reportes.
Zephyrus sigue ofreciendo más opciones y más valor a sus clientes. Calvin y su equipo necesitan una manera de asegurarse de que el equipo de Ventas conozca todas las ofertas de productos nuevas y emocionantes. No pueden ofrecer estos increíbles cursos y servicios nuevos a sus clientes si estos no los conocen.
Antes de comenzar a trabajar en su próximo lanzamiento, Calvin busca un proceso y un ciclo de vida de desarrollo que se escale a la par de este crecimiento. A medida que su equipo crezca, necesitará un proceso que respalde a los múltiples contribuidores que desarrollen de forma simultánea en Lightning Platform.
Calvin se reúne con su equipo de desarrollo para debatir sobre cómo pueden trabajar de forma más efectiva a medida que el equipo crezca. En el pasado, se encontraron con desafíos en torno a lo siguiente:
- Realizar un seguimiento de los cambios de todas las personas
- Mantener sincronizados todos los entornos de desarrollo y pruebas
- Crear e implementar conjuntos de cambios varias veces debido a errores y diferencias entre los entornos
El nuevo desarrollador líder, Juan García, estuvo investigando algunos de los nuevos modelos de desarrollo y herramientas de Salesforce DX. Cree que el modelo de desarrollo de la organización puede ayudar a mitigar algunos de los problemas que presentan.
Cambiar al desarrollo de la organización
Como varios desarrolladores y administradores contribuyen con un lanzamiento, el equipo está de acuerdo en que necesitan un nuevo modelo de desarrollo. Aquí entra en juego el desarrollo de la organización, un modelo que utiliza varias herramientas diferentes que proporcionan 1) una flexibilidad y una escalabilidad mayores, 2) nuevas formas de realizar un seguimiento de los cambios y gestionarlos, y 3) un método diferente de implementación.
A Juan le gusta que el modelo de desarrollo de la organización utilice un repositorio de control de fuentes para almacenar cambios y archivos de proyectos. Un repositorio de fuentes puede ayudar a mitigar los problemas de mantener sincronizados los entornos. Mediante la externalización de los cambios de cada lanzamiento, el equipo sabe que el repositorio de fuentes refleja lo que ofrecen y no se ve afectado por las diferencias entre los entornos. Esta consistencia asegura un proceso más fluido a medida que avanzan por los distintos entornos de desarrollo, pruebas y organización.
Para asegurar que identifican dependencias de todos los contribuidores, el equipo utiliza mecanismos de seguimiento de cambios que capturan los cambios realizados en los componentes, en lugar de los cambios realizados directamente en la organización mediante la interfaz de usuario (IU) de configuración.
Juan también recomienda que utilicen Salesforce Extensions for VS Code para recuperar metadatos de sus entornos de desarrollo. Luego, almacenan los cambios que realizan en el sistema de control de fuentes. Una vez que los cambios se encuentran en el control de fuentes, pueden crear procesos automatizados para las pruebas y la implementación en producción.
Luego de varios ciclos de pruebas e integración, Juan implementa los cambios, almacenados en el control de fuentes, en producción.
Preparar los entornos de la versión
El equipo accede a los mismos entornos de desarrollo y pruebas que ya utilizó. El equipo de Juan utiliza entornos sandbox en cada paso del ciclo de vida de las aplicaciones.
- Desarrollar y probar: Cada miembro del equipo tiene su propio sandbox de Developer para crear su personalización asignada. Los entornos sandbox de Developer no contienen datos de producción.
- Crear la versión: Cada miembro del equipo migra sus personalizaciones desde sus sandbox de Developer correspondientes a un sandbox compartido de Developer Pro para realizar la integración. Los entornos sandbox de Developer Pro no contienen datos de producción, pero puede propagarlos con datos de prueba.
- Probar la versión: Para la prueba de aceptación del usuario, el equipo utiliza un entorno sandbox parcial a fin de crear una réplica completa de producción (sin datos de producción).
- Publicar la versión: Una vez que la versión esté en producción, el equipo puede utilizar el entorno sandbox completo para capacitar a los usuarios sin riesgo de modificar los datos de producción. Un entorno sandbox completo incluye una copia de los datos de producción.
Gestionar los cambios como un profesional
Calvin y su equipo utilizan muchas de las herramientas con las que ya están familiarizados a medida que comienzan a respetar el modelo de desarrollo de la organización. Sin embargo, algunas herramientas nuevas mejoran su productividad durante etapas específicas de lanzamiento. Son fundamentales para cambiar a un modelo más ágil de desarrollo en equipo.
Proyecto de Salesforce DX
El proyecto de Salesforce DX contiene la fuente y los archivos que componen sus cambios. Un proyecto de DX tiene una estructura de proyecto y un formato de fuente específicos.
Además de los archivos fuente, el proyecto contiene un archivo de configuración, sfdx-project.json
. Este archivo contiene información del proyecto y le permite aprovechar las herramientas de Salesforce DX para muchas de sus tareas de desarrollo.
Un proyecto de DX tiene la siguiente estructura:
Artefacto de lanzamiento (archivo de manifiesto)
Después de probar los cambios, Juan crea el artefacto de lanzamiento, un archivo de manifiesto (package.xml
) que enumera los componentes que se deben implementar. Utiliza el artefacto de lanzamiento para implementar primero en los múltiples entornos sandbox y, finalmente, en producción. Los cambios no se aplican hasta que se implementan.
Sistema de control de fuentes
Todos los cambios se combinan y se almacenan en un sistema de control de fuentes, que contiene el proyecto de Salesforce DX. Un sistema de control de fuentes ofrece muchos beneficios.
- La colaboración en tiempo real aumenta la eficiencia y fomenta el consenso.
- El equipo puede trabajar en los mismos archivos al mismo tiempo sin miedo de sobrescribir los cambios o perder su trabajo.
- En el historial de revisiones, se muestra quién realizó qué cambios.
- Puede revertir a versiones anteriores de cualquier archivo. Es como tener su propia máquina del tiempo con la que puede regresar y salvar al universo de la destrucción.
- Cuando guarda el trabajo, proporciona una descripción de confirmación, que aporta un contexto histórico al trabajo.
Salesforce CLI
Salesforce CLI es una interfaz de la línea de comandos potente que puede utilizar para cada fase del ciclo de desarrollo de la organización. Mejora la productividad al proporcionar una única interfaz para todos sus casos de uso de desarrollo, prueba y automatización. Puede:
- Autorizar entornos sandbox (flujo web o desatendido)
- Crear y gestionar proyectos de DX
- Importar y exportar datos de prueba
- Recuperar e implementar metadatos
- Ejecutar y automatizar pruebas
Salesforce Extensions for Visual Studio (VS) Code
Salesforce Extensions for VS Code se desarrolló sobre la base de Salesforce CLI y VS Code. En conjunto, son un entorno de integrado que se creó para el desarrollo personalizado en Lightning Platform. Lo mejor es que puede ejecutar comandos de Salesforce CLI directamente desde el terminal o la paleta de comandos. El equipo de desarrollo instala el paquete de extensión de Salesforce para poder utilizar estas extensiones de VS Code:
- Einstein for Developers: permite generar sugerencias de código rápidamente con instrucciones de lenguaje natural.
- Integración de Salesforce CLI: interactúa con Salesforce CLI para proporcionar funcionalidades principales.
- Apex: utiliza el Servidor de lenguajes de Apex para ofrecer funciones como el resumen destacado de la sintaxis y la finalización de código.
- Apex Replay Debugger: le permite a VS Code volver a reproducir la ejecución de Apex desde los registros de depuración de Apex.
- Componentes web Lightning: admite componente web Lightning.
Mecanismos de gestión de cambios
El equipo de desarrollo se beneficia de tener implementadas algunas herramientas formales de seguimiento de los cambios, incluidos una lista de cambios del equipo, una lista de ejecuciones de implementación y un sistema de gestión de proyectos.
Herramienta | Descripción |
---|---|
Lista de cambios | Un desarrollador utiliza esta lista, tabla u hoja de cálculo simple para hacer un seguimiento de los cambios que realiza en su propia organización de desarrollo para saber qué externalizar. |
Lista de ejecuciones de implementación | Un desarrollador enumera todos los cambios manuales que se requieren en la organización antes y después de la implementación. Estos cambios incluyen metadatos que no se pueden implementar, por ejemplo, asignaciones de conjuntos de permisos y perfiles. |
Herramientas de gestión de proyectos | Herramientas como Agile Accelerator y Jira ayudan a que un equipo adopte prácticas de desarrollo ágil, realice un seguimiento de los requisitos de negocio, y presente trabajo y detecte errores. Las herramientas de gestión de proyectos también ayudan a un equipo a gestionar los sprints y a preparar su lista de tareas (componentes de futuro trabajo). |
Instalar las herramientas
Juan y Ella utilizan Salesforce Extensions for VS Code para realizar tareas de desarrollo y pruebas, y GitHub como su sistema de control de fuentes. Completan estos pasos.
- Instale Salesforce CLI.
- Instale VS Code y Salesforce Extensions for Visual Studio Code.
- Instale Git.
- Configure Git.
- Cree una cuenta de GitHub.
Como Ella nunca utilizó Visual Studio antes, instala las herramientas y completa Inicio rápido: Visual Studio Code para el desarrollo de Salesforce.