Gerenciar alterações em versões cada vez mais complexas

Objetivos de aprendizagem

Após concluir esta unidade, você estará apto a:
  • Explicar como o uso do controle de versão pode auxiliar no lançamento de um conjunto de alterações.
  • Descrever as semelhanças entre os modelos de conjunto de alterações e de desenvolvimento organizacional.

Esta unidade descreve por que Calvin e seus colegas estão mudando para o desenvolvimento com código e sistema de controle de versão. Ao ler esta unidade, pense nas escolhas que você faria para sua equipe. Veja o conteúdo na prática trabalhando nos módulos indicados no final deste módulo para aprender o processo e tomar as decisões mais fundamentadas em relação ao que vai funcionar para você.

Para lidar com o aumento da complexidade, mude para o modelo de desenvolvimento organizacional

A Zephyrus tem tido trimestres cada vez melhores. O Salesforce agora é usado em outras partes do negócio, não só em vendas. Depois de falar com Calvin e com os líderes do Departamento de atendimento ao cliente, o diretor de operações concorda em mudar para a Enterprise Edition e comprar o Service Cloud Lightning. Com o Service Cloud Lightning, a empresa pode oferecer suporte instantâneo e personalizado a seus clientes. Melhora ainda: o Departamento de atendimento ao cliente tem membros com habilidades de programação que podem desenvolver aplicativos Salesforce para atender às necessidades da equipe.

Ficou claro para Calvin que a complexidade da organização está ultrapassando a capacidade da equipe de lidar com ela usando apenas o processo de desenvolvimento com conjuntos de alterações. A empresa precisa agora de um processo de gerenciamento de alterações mais rigoroso e de um processo de auditoria (pense em sistema de controle de versões) para ajudá-los a gerenciar todos esses fluxos de trabalho.

A equipe também está começando a ver as limitações dos conjuntos de alterações. Por exemplo, eles podem adicionar, mas não excluir campos (alterações destrutivas).

Em uma apresentação para seu diretor e para o CEO da Zephyrus, Calvin propõe a mudança para o modelo de desenvolvimento organizacional.

Calvin propondo a mudança para o modelo de desenvolvimento organizacional.

Assim como ocorre com o processo de conjunto de alterações, o artefato de versão que eles estão criando é um conjunto de alterações de metadados relativo à sua organização de produção. No modelo de desenvolvimento organizacional, a equipe pode melhorar bastante o gerenciamento de alterações exteriorizando as alterações que são feitas. Ela pode usar a CLI do Salesforce para extrair metadados de um ambiente de desenvolvimento para integração com um sistema de controle de versões (VCS, Version Control System).

Ela também pode usar a CLI do Salesforce para criar scripts para tarefas rotineiras e aumentar a produtividade de todos que contribuem para a versão. A sugestão de Calvin de começar a criar scripts para executar implantações de teste e executar testes do Apex faz sentido para o diretor e para o CEO.

Graças aos argumentos de Calvin voltados para o negócio, seu diretor e o CEO aprovam a mudança para o desenvolvimento organizacional. Reconhecendo sua contribuição para o sucesso da empresa, Calvin é promovido a analista de negócios. A promoção também dá a Calvin o escopo necessário para gerenciar versões entre departamentos.

Novas vantagens e alguns temas familiares

Calvin e dois membros da equipe de atendimento ao cliente trabalham, cada um, em projetos diferentes com ambientes de desenvolvimento diferentes. Os três projetos estão agendados para o mesmo lançamento. Conforme eles vão passando pelo processo de desenvolvimento organizacional, reparam em alguns aspectos familiares e outros diferentes do processo com conjunto de alterações.

Assim como no desenvolvimento com conjunto de alterações, os três membros da equipe acompanham as alterações feitas. Por quê? A equipe precisa saber quais componentes sofreram mudança, se eles devem adicionar esses componentes a um conjunto de alterações ou recuperá-los com a CLI do Salesforce. Além disso, algumas personalizações não podem ser implantadas em outra organização porque elas incluem componentes alterados que não estão representados na API de metadados. Essas alterações precisam ser recriadas manualmente na organização de destino, ou seja, é importante acompanhá-las.

Quando os membros da equipe terminam as respectivas tarefas de desenvolvimento, a próxima etapa é mover essas alterações para o ambiente de compilação para integração. Mas agora eles usam a CLI do Salesforce para recuperar as alterações dos respectivos ambientes de desenvolvimento, em vez de usar ferramentas declarativas para criar um conjunto de alterações. Eles integram seus trabalhos com um VCS para que as alterações que eles recuperaram possam ser confirmadas e acompanhadas no VCS.

A confirmação e o acompanhamento de alterações recuperadas no VCS tem uma vantagem fundamental para a equipe. Ao usar o processo de conjunto de alterações, os membros da equipe podem (e isso acontece) substituir as alterações de outra pessoa acidentalmente implantando um conjunto de alterações por cima de um conjunto anterior. Usando o novo processo de confirmar alterações no VCS, os conflitos de personalização podem ser identificados antes da substituição da alteração.

Entrando na etapa de compilação, as personalizações da equipe já estarão integradas ao projeto no controle de origem. Pelo VCS, essas alterações são implantadas em conjunto no ambiente de compilação para integração e teste. Assim como no processo com conjunto de alterações, as alterações são testadas em conjunto no ambiente de compilação. E, assim como antes, o resultado é um único artefato de versão que é um grande conjunto de alterações consolidado. Mas agora Calvin usa a CLI do Salesforce para recuperar o artefato do ambiente de compilação. E conforme o processo de desenvolvimento organizacional vai progredindo, o artefato de versão passa do VCS para o ambiente seguinte.

Embora haja o uso de ferramentas adicionais no processo de desenvolvimento organizacional, as etapas de ALM básicas, o conceito de conjunto de alterações e os ambientes para desenvolvimento e teste são os mesmos. Todo mundo que trabalha na primeira versão no novo modelo de desenvolvimento tem, pelo menos, alguns pontos de referência familiares. Além disso, Calvin está empolgado para usar o Trailhead e recursos no site de desenvolvedores do Salesforce para aumentar suas habilidades e seus conhecimentos técnicos.

A mudança para o modelo de desenvolvimento organizacional dá à Zephyrus o controle e a eficiência de que ela precisa para expandir o uso do Salesforce por toda a empresa.