Recomendações para padronizar ferramentas e processos
Aplica-se a esta Power Platform recomendação de lista de verificação de Excelência Operacional bem arquitetada:
OE:04 | Otimize os processos de desenvolvimento de software e garantia de qualidade seguindo práticas comprovadas pela indústria para desenvolvimento e testes. Para uma designação de funções inequívoca, normalize práticas em diversos componentes, tais como ferramentas, controlo de origem, padrões de estrutura da aplicações, documentação e guias de estilo. |
---|
Este guia descreve as recomendações para definir padrões para ferramentas e processos de desenvolvimento. A definição de práticas consistentes leva a uma equipa de carga de trabalho eficiente e a um trabalho de alta qualidade. As equipas de alto desempenho utilizam ferramentas e processos comprovados pelo setor para minimizar o esforço desperdiçado e potenciais erros de código.
Principais estratégias de design
O primeiro passo para otimizar as práticas de desenvolvimento é padronizar ferramentas e processos. Sempre que possível, use soluções comprovadas pelo setor em vez de desenvolver as suas próprias. Para todas as ferramentas e processos padronizados, forneça formação para garantir que as suas equipas possam usá-los de forma eficiente.
Para definir padrões que ajudem a otimizar as suas práticas de desenvolvimento, considere as seguintes recomendações.
Utilizar ferramentas disponíveis para a plataforma
Priorize o uso do Power Platform Tools e use ferramentas conhecidas e maduras e padronize o seu uso. As equipas de engenharia altamente eficazes adotam as melhores ferramentas da categoria. Evite desenvolver soluções para planeamento, desenvolvimento, testes e colaboração. Escolha ferramentas que atendam aos requisitos para a sua carga de trabalho.
As ferramentas devem fornecer as seguintes funções:
- Planeamento de trabalho e gestão de tarefas pendentes
- Controlo de versões e repositórios
- Pipelines de implementação
- A testar
- Desenvolvimento e revisão de código
Em alguns casos, uma ferramenta ou um conjunto de ferramentas pode fornecer várias funções. Certifique-se de entender os recursos de suas ferramentas e suas limitações para que elas atendam às suas necessidades em todas as funções.
Determine se deve investir em recursos premium da plataforma ou versões premium das ferramentas. Considere o tempo e o esforço de desenvolver as suas próprias soluções em comparação com as funcionalidades que as ferramentas premium fornecem. Considere os custos únicos versus custos recorrentes. Na maioria dos casos, as ferramentas prontas a utilizar proporcionam maior valor à sua equipa. Por exemplo, os Ambientes Geridos oferecem caraterísticas de origem para definir uma mensagem de inclusão do criador ou para limitar a partilha proativamente. Construir esses recursos por conta própria requer desenvolvimento e esforço contínuo de manutenção que pode ser mais caro do que investir em Ambientes Geridos.
Use ferramentas de IA quando for prático. As ferramentas de IA podem ajudar no desenvolvimento, nas revisões e na otimização de códigos.
Estabelecer um quadro de governação para o codesenvolvimento
Estabelecer uma estrutura de governança de codesenvolvimento eficaz para garantir consistência e repetibilidade em projetos definidos pelo fabricante e equipes de fusão.
Padronizar o seu sistema e práticas de controlo de origem
Adote um sistema de controlo do código fonte como Azure DevOps. Azure DevOps Fornece serviços de desenvolvedor para equipes de suporte planejarem trabalho, colaborarem no desenvolvimento de código e criarem e implantarem aplicativos. Exportar uma solução a partir do ambiente de desenvolvimento que contém as suas aplicações e personalizações, desempacotar a solução e armazenar os componentes no sistema de controlo de origem.
Certifique-se de que o controle de versão da solução seja preciso, seguindo as diretrizes de sprint e desenvolvedor definidas em Implementar práticas do Scrum para sua equipa nos Painéis do Azure. Os resultados do teste da solicitação pull podem assumir a forma de capturas de tela ou vídeos que retratam a funcionalidade que está a ser criada. A automatização do processo de governação de pedidos de pull ajuda a garantir a qualidade do código sem necessitar de uma revisão manual de verificações básicas, tais como versões de solução.
Crie modelos para oferecer eficiência e promover consistência. Todos os aspetos das operações da equipa se beneficiam da padronização e simplificação, desde tarefas de integração e apresentações de revisão de histórias até modelos de itens de trabalho projetados para economizar tempo e fornecer orientação às equipes ao definir histórias de usuários, recursos, bugs e tarefas.
Avaliar métricas para quantificar a eficácia
As equipas de desenvolvimento e de garantia da qualidade só podem melhorar quando quantificam a sua eficácia. Para quantificar a eficácia, eles devem identificar as métricas que medem a velocidade do programador e definir indicadores chave de desempenho (KPIs).
Exemplos destas métricas incluem:
- Prazo de execução: o tempo que leva para uma tarefa ou história de utente passar da lista de pendências para uma implantação de produção.
- Tempo médio de resolução: o tempo médio gasto na correção de bugs ou defeitos no código.
- Taxa de falha de alteração: a porcentagem de alterações que resultam em uma falha.
Para ajudar os intervenientes e a equipa de carga de trabalho a controlar facilmente a velocidade, visualize os KPIs utilizando dashboards ou outras ferramentas de relatório.
Padronize a forma como a sua equipa de carga de trabalho escreve, revê e documenta o código
Padronize a forma como a sua equipa de carga de trabalho escreve, revê e documenta o código utilizando um guia de estilo. Um estilo padrão facilita a colaboração e ajuda a integrar novos programadores. Para trabalhar de forma eficaz, os novos programadores precisam de saber como funciona a equipa de carga de trabalho. Um guia de estilo com normas claramente definidas pode facilitar o seu processo de formação.
O guia de estilo deve abranger:
- Convenções de nomenclatura para soluções, artefactos, controlos, ações, ambientes, ramos e compilações
- Padrões de tratamento de erros
- Padrões ou bibliotecas comuns
Acompanhe as decisões de arquitetura para ajudar as equipes a manter uma nova compreensão da carga de trabalho e permitir que novos membros da equipa aprendam sobre as decisões de design tomadas durante o ciclo de vida da carga de trabalho. Inclua em seu documento de decisão de arquitetura as ferramentas e tecnologias que foram consideradas, o motivo de uma decisão e os requisitos funcionais e não funcionais que foram levados em consideração nas decisões. Registe decisões para evitar repetir explicações ou revisitar debates com novos membros ou partes interessadas.
Implementar normas e orientações para fazer face à dívida técnica
A plataforma e a tecnologia mudam rapidamente, com novos recursos e capacidades sendo lançados regularmente. Adote uma mentalidade de que a dívida técnica é necessária para as entregas da sua equipa de carga de trabalho. Essa mentalidade motiva a sua equipa a considerar e lidar com dívidas técnicas regularmente para evitar a acumulação. Aborde a dívida técnica como uma tarefa regularmente recorrente nas tarefas pendentes. Certifique-se de ter processos em vigor para se manter atualizado com as alterações na plataforma, tanto novos recursos quanto descontinuações, e trabalhe em um plano de ação para lidar com as alterações em sua carga de trabalho.
Por exemplo, uma funcionalidade do produto pode ser preterida ou substituída por outra versão. A equipa de carga de trabalho deve priorizar a conclusão da transição para o novo recurso para evitar afetar a carga de trabalho. A equipa pode criar uma solução ou controle personalizado, que com o tempo se torna parte da plataforma. Sua equipa de carga de trabalho deve fazer a transição para esse recurso de plataforma, o que reduz a dívida técnica e a manutenção de sua própria carga de trabalho.
Use padrões de design de aplicativos comprovados pelo setor para garantir que seu aplicativo seja confiável, eficiente e seguro. Utilize estes padrões para poupar tempo e esforço em vez de desenvolver as suas próprias soluções para a sua aplicação. Escolha os padrões que beneficiam a sua carga de trabalho. Reveja regularmente os padrões de design para garantir que utiliza os padrões corretos à medida que a carga de trabalho evolui.
Implementar uma abordagem de teste de desvio para a esquerda
Implemente uma abordagem de desvio para a esquerda aos testes ao executar testes de unidade cedo e, com frequência, durante todo o processo de desenvolvimento. Testes frequentes em cada ambiente de desenvolvimento ajudam os programadores a ganhar confiança nas suas aplicações.
Para ajudar a criar sua estratégia de teste com uma abordagem de deslocamento para a esquerda, considere os seguintes princípios:
- Escreva testes no nível mais baixo possível. Favoreça testes com o menor número de dependências externas e execute testes como parte da compilação.
- Escreva testes uma vez e execute testes em todos os lugares, incluindo a produção. Escreva testes que possam ser executados em todos os ambientes de desenvolvimento sem ter em conta fatores específicos de um ambiente, como segredos ou configurações encriptados.
- Projete sua carga de trabalho para testes. Ao desenvolver a sua aplicação, faça da capacidade de teste um requisito.
- Considere a propriedade do teste, que se baseia na propriedade da carga de trabalho. Sua equipa de carga de trabalho é proprietária de seus testes e não deve depender de outras equipes para testar seu código.
- Automatize os testes tanto quanto possível. O código automatizado alivia a carga de trabalho da sua equipa e impõe uma qualidade consistente.
Exija que a sua equipa de carga de trabalho compreenda as práticas de segurança relacionadas com o desenvolvimento e a garantia de qualidade. Os membros da equipa devem seguir essas práticas sem exceção. Saiba mais em Recomendações para garantir um ciclo de vida de desenvolvimento.
Facilitação do Power Platform
Os pipelines visam Power Platform democratizar o gerenciamento do ciclo de vida dos aplicativos (ALM) para Power Platform e Dynamics 365 clientes, trazendo automação de ALM e recursos de integração contínua e entrega contínua (CI/CD) para o serviço.
As notas de implantação geradas pelo copiloto em pipelines geram um resumo da solução e preenchem previamente o campo de notas de implantação, dando a qualquer pessoa que visualize a solicitação de implantação ou registre contexto suficiente para entender o que a solução faz e o que ela contém.
Microsoft Power Platform O Build Tools for Azure DevOps pode ser usado para automatizar tarefas comuns de compilação e implantação relacionadas a aplicativos criados Power Platform.
Ações do GitHub para Power Platform permitir que os desenvolvedores criem fluxos de trabalho automatizados do ciclo de vida do desenvolvimento de software. Com as Ações GitHub para o Microsoft Power Platform, pode criar fluxos de trabalho no seu repositório para criar, testar, empacotar, lançar e implementar aplicações; executar automatização; e gerir bots e outros componentes criados no Power Platform.
Power Apps A API da Web do verificador fornece um mecanismo para executar verificações de análise estática em relação a personalizações e extensões para a Microsoft Dataverse plataforma.
O Test Studio permite que você crie testes de interface do utente de ponta a ponta para seu aplicativo de tela.
Automatize testes com o Azure Pipelines.
A Power CAT Code Review Tool permite que você realize revisões de código.
O Power CAT Copilot Studio Kit permite-lhe configurar copilots e testes. Ao executar testes individuais em relação às Copilot Studio APIs (Direct Line), as respostas do copiloto são avaliadas em relação aos resultados esperados.
O ALM Accelerator é uma ferramenta de código aberto que consiste em um conjunto de aplicativos, scripts e pipelines projetados para automatizar o processo de integração contínua/entrega contínua.
Microsoft Power Platform CLI (PAC CLI) é uma ferramenta de linha de comando que suporta a importação e exportação de Power Platform soluções, e empacotamento e descompactação de arquivos de origem de Power Platform soluções. A PAC CLI está disponível como uma ferramenta de linha de comando autônoma ou como uma extensão para o código Visual Studio .
Outras ferramentas e serviços que podem ajudá-lo a padronizar as suas práticas de desenvolvimento incluem:
Azure DevOps, uma coleção de serviços que você pode usar para criar uma prática de desenvolvimento colaborativa, eficiente e consistente. O Azure DevOps agrupa as seguintes soluções:
- Azure Pipelines, um serviço de nuvem que fornece serviços de compilação e lançamento para dar suporte a CI/CD de seus aplicativos.
- Azure Boards, uma ferramenta de gestão de trabalho baseada na Web que suporta práticas ágeis como Scrum e Kanban.
- Azure Repos, uma ferramenta de controle de versão que dá suporte ao sistema de controle de versão distribuído Git e ao sistema de Controle de Versão do Team Foundation.
- Planos de Teste do Azure, uma solução de gerenciamento de teste baseada em navegador que fornece recursos necessários para testes manuais planejados, testes de aceitação do utente, testes exploratórios e coleta de comentários das partes interessadas.
Projetos GitHub, uma ferramenta de gerenciamento de trabalho que você pode usar para criar quadros Kanban, relatórios, painéis e outras funções.
Informações relacionadas
Governação em matéria de codesenvolvimento