Estabelecer padrões de desenvolvimento
|
---|
A equipe de desenvolvimento é responsável por resolver problemas de carga de trabalho antes do lançamento com o mínimo de atrito. Esteja atento à eficiência do desenvolvedor e otimize para ciclos de resposta rápidos, desde a codificação até os resultados dos testes. Implementar processos eficazes e do tamanho certo que planejem e padronizem as atividades técnicas e também gerem consenso dentro da equipe e das partes interessadas.
Cenário de exemplo
A Contoso Ticketing é uma pequena startup que fornece uma solução SAAS de linha de negócios de emissão de tíquetes (LOB) para empresas de médio porte. A integração de novos clientes é um processo complexo que requer personalizações de produtos e desenvolvimento personalizado para integração com o ambiente do cliente. A equipe de implementação usa o Azure DevOps como uma plataforma para colaboração e entrega, mas não segue nenhuma metodologia de desenvolvimento formal.
Adote padrões da indústria para o desenvolvimento
Use uma metodologia de desenvolvimento de software padrão do setor que esteja adequadamente ajustada às necessidades de sua carga de trabalho e tamanho da equipe. Mantenha uma lista de pendências compartilhada entre todas as funções.
A adoção de uma metodologia bem conhecida define o ritmo do projeto. Ele remove ambiguidades de processo, dando aos membros da equipe expectativas claras e responsabilidade.
Ao rastrear em relação a uma lista comum, as tarefas podem ser refinadas e priorizadas com práticas padrão. O projeto terá mais chances de ser entregue dentro do prazo.
As metodologias normalizadas ajudam na gestão dos riscos. Com revisões granulares de marcos, os desenvolvedores podem resolver possíveis problemas antes que eles se tornem showstoppers.
O desafio da Contoso
- O principal produto da empresa tem vindo a ganhar popularidade e a equipa de integração está agora a trabalhar em mais projetos de implementação simultânea do que nunca. Para acompanhar o aumento da carga de trabalho, a equipe teve que aumentar seu número de funcionários.
- O crescimento da equipe, aliado à falta de processos formais, levou a alguns desafios, como comunicação pouco clara entre os membros da equipe, reuniões aleatórias e improdutivas e ciclos de desenvolvimento pouco frequentes e não programados. Vários dos projetos de onboarding estão atrasados e a liderança da empresa pediu à equipe que fizesse as mudanças necessárias para corrigir a situação.
Aplicação da abordagem e dos resultados
- Para superar esses desafios, a equipe decide adotar uma metodologia scrum, um framework ágil popular para desenvolvimento de software.
- O Scrum ajudará a equipe a resolver alguns dos problemas que está enfrentando. Entre outras coisas, o Scrum fornece uma estrutura clara e consistente para o processo de desenvolvimento, com papéis, eventos, artefatos e regras predefinidos. Um backlog compartilhado e uma cadência de sprints de desenvolvimento curtos ajudariam a equipe a trabalhar em uma visão compartilhada e entregar valor aos clientes de forma regular e confiável.
Vire para a esquerda para testes
Ter processos de garantia de qualidade que enfatizem os testes no início do ciclo de vida do desenvolvimento. Inclua todos os artefatos para procedimentos de teste planejados, incluindo componentes de aplicativos, infraestrutura e operações de plano de dados que fazem parte de uma liberação ou atualização de recurso.
Trate os artefatos como imutáveis quando são promovidos através de ambientes, ganhando confiança cada vez que passam por um portão de qualidade.
Sempre que possível, automatize as verificações de rotina.
A garantia de qualidade garante que os requisitos funcionais e não funcionais foram atendidos com confiança, o que leva a um impacto positivo no cliente.
O desafio da Contoso
- A estratégia de teste funcional da equipe de carga de trabalho usa uma combinação de testes automatizados e manuais. Sua abordagem de teste não cobre todos os aspetos do sistema, como desempenho, segurança e usabilidade. Eles também não têm uma maneira consistente de implantar seu código em diferentes ambientes de forma totalmente automatizada, o que introduz variabilidade e incerteza.
- O aumento no volume e complexidade dos esforços de integração do cliente ampliou os desafios de sua estratégia de teste, levando a bugs frequentes, retrabalho e insatisfação do cliente.
Aplicação da abordagem e dos resultados
- A equipe de carga de trabalho embarca em um esforço para melhorar sua estratégia de teste e aumentar a consistência e a previsibilidade de seus pipelines de implantação.
- Eles começam criando planos de teste para cada recurso ou personalização em desenvolvimento, cobrindo requisitos funcionais e não funcionais. Eles usam o Azure DevOps para gerenciar seus casos de teste, dados de teste e resultados de teste. Eles configuram portas de qualidade em seus pipelines de implantação que verificam a qualidade do código, da configuração e da implantação antes de promover os artefatos para o próximo ambiente.
- Depois de implementar essas melhorias, a equipe vê uma diminuição no número de implantações falhadas, bem como no número de bugs e incidentes na produção. Como resultado, a qualidade, a velocidade de entrega e a satisfação do cliente aumentaram substancialmente.
Meça a eficiência do desenvolvimento
Relatar o progresso e as tendências para medir a eficiência. Acompanhe e relate tendências em bugs, atualizações com falha, tempo de implantação e ciclos de feedback para impulsionar melhorias em suas práticas de desenvolvimento.
O desafio da Contoso
- A equipe de carga de trabalho implementou recentemente várias mudanças para melhorar a qualidade e a previsibilidade dos processos de integração do cliente. No entanto, a empresa enfrenta um desafio em medir e relatar o impacto dessas mudanças. Infelizmente, a empresa não tem dados ou métricas confiáveis para mostrar o quanto a qualidade e a previsibilidade melhoraram, ou quais mudanças contribuíram para a melhoria mais do que outras.
- A empresa precisa de uma forma de quantificar e comunicar os benefícios de seus investimentos em processos, para que possa priorizar seus recursos e esforços no futuro.
Aplicação da abordagem e dos resultados
- A equipe decide começar a aproveitar os recursos de relatórios no AzDO, que a equipe já está usando, para poder quantificar melhorias ao longo do tempo e priorizar a alocação de recursos para investimentos futuros.
- Começam por utilizar vários relatórios prontos a utilizar:
- Relatórios de velocidade
- Fluxogramas cumulativos
- Tendências de bugs: quantos bugs são criados, resolvidos e fechados ao longo do tempo e como eles afetam as métricas de qualidade.
- Estatísticas de implantação: quanto tempo leva para entregar o software do código à produção e como ele se compara a metas e benchmarks.
- A equipe também planeja desenvolver relatórios personalizados com relatórios do Dashboard e do Power BI Analytics em um futuro próximo.