Automatizar para obter eficiência

Concluído
Substitua tarefas manuais repetitivas pela automação de software que as conclua mais rapidamente, com maior consistência e precisão e reduz os riscos.

A carga de trabalho pode ter fluxos de trabalho com processos que envolvem membros da equipe fazendo tarefas mundanas, repetitivas e demoradas que não precisam de intelecto humano. Dependendo da frequência, você pode gastar um tempo considerável nesses esforços, investindo mais tempo à medida que a carga de trabalho aumenta. Além disso, esses processos geralmente são propensos a erros devido à entrada humana.

Por meio da automação, você economiza tempo, esforço e dinheiro e evita erros.

Cenário de exemplo

A Contoso University desenvolveu um aplicativo Web, atualmente em produção e hospedado no Azure, que fornece serviços de educação online para alunos e professores da Contoso.

A solução de tecnologia é criada no Serviço de Aplicativo do Azure, no Banco de Dados SQL do Azure, no Azure Active Directory, no Azure Key Vault e no Azure DevOps.

Automatizar fluxos

Avalie todos os fluxos de trabalho em relação a critérios que estão no nível certo de complexidade, esforço, frequência, precisão, linha do tempo de tempo e tempo de vida. Automatize os fluxos de trabalho com base nessa avaliação e priorize os fluxos de trabalho com os retornos mais altos esperados. Remova fluxos de trabalho redundantes ou adicione valor para justificar o esforço humano.

Ao adotar essa abordagem, você pode reinvestir a capacidade da equipe em um trabalho de maior valor e aumentar a produtividade e a consistência.

A criação de um inventário de fluxos de trabalho garante que você automatize as tarefas certas. A remoção de tarefas redundantes reduz a complexidade e os erros.

Desafio da Contoso

  • A equipe da Contoso University está procurando maneiras de melhorar o processo de operações automatizando tarefas manuais que são repetitivas, demoradas, propensas a erros ou de baixo valor. Isso pode liberar parte do tempo e dos recursos da equipe para um trabalho mais estratégico, melhorar a qualidade e a confiabilidade do serviço e, potencialmente, reduzir custos.

Aplicando a abordagem e os resultados

  • Para iniciar esse esforço, a equipe realizou um inventário de tarefas de operações manuais que poderiam ser potencialmente automatizadas. Em seguida, a equipe analisou a lista de tarefas usando os critérios sugeridos na recomendação, como o nível certo de complexidade, esforço, frequência, precisão, linha do tempo de tempo e vida útil, para determinar os principais candidatos à automação. Ao mesmo tempo, a equipe também avaliou se a aquisição de uma ferramenta de automação ou a criação personalizada da automação internamente poderia ser melhor a longo prazo.
  • Como resultado da análise, eles decidiram se concentrar na automatização de atividades relacionadas ao gerenciamento de conta de usuário. Gerenciar contas de usuário (alunos, docentes, funcionários) é uma tarefa comum, que inclui a criação de novas contas após o registro do aluno, a redefinição de senhas e a exclusão de contas quando os indivíduos saem da universidade.
  • Ao automatizar muitas das tarefas relacionadas ao gerenciamento de conta de usuário, a equipe liberou tempo suficiente para iniciar outras melhorias de excelência operacional que haviam sido atrasadas anteriormente.

Design para automação

Projete seus componentes de carga de trabalho para dar suporte a recursos de automação.

Evite a situação em que a falta de automação no design do sistema promove o antipadrão de tarefas repetitivas, desacelera o crescimento e começa a acumular dívidas técnicas.

Desafio da Contoso

  • O aplicativo tem uma interface do usuário avançada e dinâmica que usa muitos elementos interativos e animações. A equipe de desenvolvimento nunca usou ferramentas automatizadas de teste de interface do usuário desde que o aplicativo foi originalmente desenvolvido e se baseou apenas em testes manuais.
  • Recentemente, a equipe vem trabalhando na automatização de seus testes de interface do usuário, mas vem enfrentando muitos desafios. Algumas das páginas da interface do usuário são muito dinâmicas e imprevisíveis, e não há uma maneira consistente de identificar alguns dos campos com os quais os casos de teste precisam interagir.

Aplicando a abordagem e os resultados

  • A equipe decidiu melhorar a implementação da interface do usuário para torná-la mais testável e acessível. Eles farão as melhorias incrementalmente corrigindo as páginas à medida que criam os casos de teste.
  • À medida que abordam cada página, eles garantem que cada campo tenha um identificador exclusivo que possa ser usado pelas ferramentas de automação de teste. Eles também seguem as diretrizes e padrões de acessibilidade, como o uso de HTML semântico, rótulos adequados e navegação por teclado. Isso torna a interface do usuário mais amigável e fácil de testar.
  • À medida que os testes automatizados são concluídos, eles são incorporados ao conjunto de testes executado durante a compilação diária, resultando em reduções significativas no tempo necessário para lançar novos builds para produção, melhorias na qualidade do produto e economia de custos durante o desenvolvimento.

A automação deve ser bem arquitetada

Trate toda a automação como uma dependência crítica da carga de trabalho. Adapte-se ao crescimento esperado da carga de trabalho. Suas ferramentas de automação são parte integrante da carga de trabalho e devem seguir os cinco pilares da Well-Architected Framework.

Projete seu componente de automação para suportar riscos, como ameaças à segurança. Com as práticas recomendadas aplicadas, você pode evitar a expansão da implementação.

A carga de trabalho continuará operando com uma garantia de alto nível se essa dependência for mantida funcional e segura.

Desafio da Contoso

  • A carga de trabalho tem um ambiente dedicado a testes de carga e desempenho, com uma configuração que imita de perto a produção. Para simular condições semelhantes à produção no ambiente mais de perto, uma nova cópia do banco de dados de produção, com todos os dados confidenciais do usuário anonimizados e mascarados, é carregada no ambiente de teste toda segunda-feira, quando esse ambiente é redefinido.
  • O script de carregamento do banco de dados foi escrito por um ex-desenvolvedor que não o documentou bem ou seguiu outras práticas recomendadas. O script é executado lentamente e não lida com erros ou falhas normalmente.
  • Ultimamente, à medida que o banco de dados de produção aumenta, o tempo de execução do script ficou cada vez mais longo e frequentemente falha. Esses atrasos e falhas estão afetando a capacidade da equipe de executar as execuções de teste e estão causando atrasos no agendamento de desenvolvimento.

Aplicando a abordagem e os resultados

  • A equipe decide que chegou a hora de reescrever essa ferramenta para que ela possa estar em par com as práticas de desenvolvimento padrão usadas para desenvolver a base de código do aplicativo principal. A equipe seguirá as melhores práticas de desenvolvimento aceitas pelo setor, incluindo segurança adequada e tratamento adequado de erros.
  • O desempenho é aprimorado e a funcionalidade foi reprojetada de modo que produza um tempo de execução previsível, independentemente do tamanho do conjunto de dados de produção.
  • Ao tratar a automação com o mesmo rigor que a base de código do aplicativo principal e aplicar os princípios e recomendações do WAF, a equipe a otimizou para confiabilidade, segurança, desempenho, custos e operações.

Verifique seu conhecimento

1.

Qual das opções a seguir não é um fator importante a ser considerado ao avaliar seus fluxos de trabalho e o potencial de automação?

2.

Como a Contoso abordou a automação de seus testes de interface do usuário?

3.

Como você deve considerar sua automação em relação à sua carga de trabalho como um todo?