Automatize para obter eficiência
Substitua tarefas manuais repetitivas por automação de software que as conclua mais rapidamente, com maior consistência e precisão, e reduza 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 realmente não precisam do intelecto humano. Dependendo da frequência, você pode gastar tempo considerável nesses esforços, investindo mais tempo à medida que a carga de trabalho cresce. Além disso, esses processos são muitas vezes propensos a erros devido à entrada humana.
Através da automação, poupa tempo, esforço e dinheiro e evita erros.
Cenário de exemplo
A Universidade Contoso desenvolveu um aplicativo Web, atualmente em produção e hospedado no Azure, que fornece serviços educacionais online para alunos e professores da Contoso.
A solução tecnológica baseia-se no Serviço de Aplicações do Azure, na Base de Dados SQL do Azure, no Azure Ative Directory, no Azure Key Vault e no Azure DevOps.
Automatize fluxos
Avalie todos os fluxos de trabalho com base em critérios que estejam no nível certo de complexidade, esforço, frequência, precisão, pontualidade e tempo de vida. Automatize fluxos de trabalho com base nessa avaliação e priorize os fluxos de trabalho com os maiores retornos esperados. Remova fluxos de trabalho redundantes ou acrescente valor para justificar o esforço humano.
Ao adotar essa abordagem, você pode reinvestir a capacidade da equipe em trabalhos 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.
O desafio da Contoso
- A equipe da Universidade Contoso 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 poderia 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.
Aplicação da abordagem e dos resultados
- Para iniciar esse esforço, a equipe realizou um inventário de tarefas de operações manuais que poderiam ser 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, pontualidade e tempo de vida, para determinar os principais candidatos à automação. Ao mesmo tempo, a equipe também avaliou se adquirir uma ferramenta de automação ou construir a automação personalizada internamente poderia ser melhor a longo prazo.
- Como resultado da análise, eles decidiram se concentrar na automação de atividades relacionadas ao gerenciamento de contas de usuário. Gerenciar contas de usuário (alunos, professores, 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 contas de usuário, a equipe liberou tempo suficiente para iniciar outras melhorias de excelência operacional que haviam sido adiadas anteriormente.
Projeto para automação
Projete seus componentes de carga de trabalho para oferecer suporte aos recursos de automação.
Evite a situação em que a falta de automação no projeto do seu sistema promove o anti-padrão de tarefas repetitivas, desacelera o crescimento e começa a acumular dívidas técnicas.
O desafio da Contoso
- O aplicativo tem uma interface do usuário rica 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 confiou apenas em testes manuais.
- Recentemente, a equipe tem trabalhado na automatização de seus testes de interface do usuário, mas tem enfrentado 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.
Aplicação da abordagem e dos 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, certificam-se de que cada campo tem um identificador exclusivo que pode ser usado pelas ferramentas de automação de teste. Eles também seguem diretrizes e padrões de acessibilidade, como o uso de HTML semântico, rótulos adequados e navegação pelo teclado. Isso torna a interface do usuário mais fácil de usar e mais fácil de testar.
- À medida que os testes automatizados são concluídos, eles são incorporados ao conjunto de testes que é executado durante a compilação diária, resultando em reduções significativas no tempo necessário para lançar novas compilações 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 sua carga de trabalho. Adapte-se ao crescimento esperado da carga de trabalho. Suas ferramentas de automação são parte integrante de sua carga de trabalho e devem aderir aos cinco pilares do Well-Architected Framework.
Projete seu componente de automação para resistir a 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á a operar com uma garantia de alto nível se essa dependência for mantida funcional e segura.
O 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 mais de perto as condições de produção no ambiente, 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 todas as segundas-feiras, quando esse ambiente é redefinido.
- O script de carregamento do banco de dados foi escrito por um ex-desenvolvedor que não o documentou bem nem 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 cresce, o tempo de execução do script tem ficado 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 cronograma de desenvolvimento.
Aplicação da abordagem e dos resultados
- A equipe decide que chegou a hora de reescrever essa ferramenta para que ela possa estar a 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 pela indústria, incluindo segurança adequada e tratamento adequado de erros.
- O desempenho foi melhorado e a funcionalidade foi redesenhada de tal forma que produz 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 da 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.