Atlassian, Gitlab, Unity implantaram o Quality Engineering.
Essas organizações são capazes de crescer e entregar valor continuamente em um ambiente em mudança. Embora as melhores empresas de tecnologia tenham produtos diferentes, geralmente implantam os elementos de Quality Engineering.
Cobrimos em artigos anteriores como Atlassian, Manomano e OpenClassrooms fazem o Quality Engineering. Este artigo compartilha o framework de Quality Engineering contendo as melhores práticas das principais empresas de tecnologia.
Nesta página, cada prática tem um indicador principal sem backlinks ou anúncios. pode complementar a prática consultando conteúdo abertamente acessível. O objetivo é complementá-los posteriormente.
Metodologia
Este guia é um trabalho em andamento a ser adaptado com base no feedback e com probabilidade de evoluir dentro do framework de Quality Engineering, MAMOS: Methods, Architecture, Management, Organization, Skills.
Cada prática foi classificada entre Qualidade, Velocidade e Complexidade pela pontuação máxima que representa a prioridade de implementação. Este artigo é apenas um excerto, pode acessar a priorização completa dessas práticas disponíveis aqui.
Segue a QE Unit para mais Quality Engineering.
Os Métodos das Organizações de Quality Engineering
O Quality Engineering se materializa em uma soma de pequenas mudanças que, com o tempo, mudam a maneira como o software é construído e operado. O ecossistema organizacional, seus atores e cultura precisam de tempo para mudar seus hábitos para se tornarem visíveis. Mudar os processos é a maneira mais eficaz de conduzir a transição para uma organização de Quality Engineering, mudando as atividades diárias dos atores.
Os métodos da Quality Engineering devem permitir a mudança, difundir a qualidade e melhorar continuamente. Conseqüentemente, as metodologias de gerenciamento de mudanças são essenciais para iniciar, conduzir e sustentar a mudança.
A disseminação da qualidade se dá por meio da implantação de processos específicos de Quality Engineering nas equipes. É fornecido um modelo onde a adaptação e simplificação contínuas permitem continuar a aumentar o nível de qualidade.
Finalmente, a medição contínua das saídas com os resultados garante que as atividades estão efetivamente criando valor. Essas metodologias são feitas de forma colaborativa para manter vivo o engajamento dos atores.
Estrutura dos métodos
A curva de implementação recomendada da Quality Engineering por impacto para as Methods.
Métodos Práticas
Gerenciamento de Mudanças
1. Análise das partes interessadas
O gerenciamento das partes interessadas é um grande tema em si. Para o Quality Engineering, a análise dos stakeholders é a técnica mais importante para interagir com os influenciadores mais valiosos. Ao identificar, mapear e priorizar as partes interessadas, o líder permite que a coalizão de orientação aproveite o poder nas organizações para iniciar e sustentar as mudanças nas equipes.
2. Senso de urgência
Todos os sistemas mudam mais rápido sob pressão. Veja o exemplo do COVID e a evolução da digitalização e do trabalho remoto. Um senso de urgência é essencial para iniciar a mudança para a Quality Engineering. Pode ser construído utilizando as práticas “Sinais de alerta, benchmark” do domínio de Gestão. A coalizão diretora deve ser embaixadores do senso de urgência e entregar vitórias antecipadas.
3. Visão, missão, valores
O Quality Engineering exige o estabelecimento de uma nova estrela para alcançar a organização. A visão e a missão permitem um propósito comum de qualidade além das fronteiras organizacionais. Os valores permitem definir as regras do jogo e os princípios nos quais as atividades devem ser realizadas. Consulte a “Missão comum” e os “Princípios de qualidade” do domínio do Management para obter mais detalhes.
4. Plano de Comunicação
Boas ideias deixadas sozinhas permanecem ideias. O líder da Quality Engineering deve construir e executar um plano de comunicação adaptado a cada transição. Vários modelos devem ser usados como comunicações gerais, workshops e interações 1to1. Diferentes conteúdos, como portal público, vídeos e artigos, podem ser disponibilizados em diversos meios de comunicação. O importante é que a comunicação seja contínua, impactante e disponível para os atores.
5. Ponto de inflexão
A coalizão de orientação deve difundir o modelo de Quality Engineering em 15-25% da organização para se beneficiar do efeito do ponto de inflexão, ou Tipping Point. A partir daí, o restante da organização adotará as práticas com muito menos esforço e orientação. A coalizão administrativa deve, portanto, focar na primeira transição nas vitórias iniciais para então implantar as metodologias nas equipes com mais potencial de adoção bem-sucedida e criação de valor.
6. Gerenciamento de transição
Não há nenhuma mudança repentina nem grande na Quality Engineering. Os líderes da Quality Engineering devem ser capazes de conduzir transições incrementais bem-sucedidas para alcançar marcos visíveis e valiosos. Sem essa abordagem, existe o risco de permanecer na situação existente com o efeito túnel que espalha dúvidas, falta de confiança e desmotivação na organização.
7. Cultura Organizacional
O Quality Engineering requer a evolução da cultura da empresa em direção à Qualidade. Isso requer agir com base nos códigos, crenças e valores compartilhados dos diferentes atores. A análise das partes interessadas pode ser usada para alavancar os influenciadores da organização a compartilhar mensagens-chave de mudança e gradualmente incorporá-las à organização. O mais impactante é compartilhar exemplos concretos de forma contínua. Por exemplo, por ter interações regulares sobre qualidade, palestras feitas por equipes multifuncionais ou eventos informais.
8. Matrice de competências
As habilidades para a qualidade precisam ser afetadas por pessoas diferentes e compor em primeiro lugar. Eles estão, então, evoluindo continuamente com aprendizado, treinamento e contratação. Uma matriz de habilidades é essencial para mapear as diferentes habilidades, identificar e cobrir as lacunas por prioridade. Essa tarefa deve ser iniciada pelos líderes e, em seguida, delegada aos gerentes operacionais apoiados pelos parceiros de RH.
9. Retrospectiva
As equipes devem melhorar continuamente a qualidade em seus respectivos contextos. As retrospectivas são um mecanismo eficaz para o aprendizado e a melhoria das equipes em seus desafios. Eles devem ser implementados como uma prática sistemática parte dos rituais da equipe. Retrospectivas valiosas são mais bem realizadas quando se tem os ingredientes restantes das habilidades de Quality Engineering. As retrospectivas também fazem parte da categoria de medição a seguir.
Quality Engineering
(*) Os processos mais valiosos dos atores principais são marcados com este símbolo de asterisco. Eles geralmente são mantidos mesmo com um alto nível de maturidade em Quality Engineering.
10. QA Kick-off
O objetivo é fazer com que os membros da equipe façam um brainstorm sobre os atributos dos riscos e os requisitos de teste associados. Esta atividade é uma preparação das “Test Notes”. Esta metodologia vem da Atlassian como parte de seu processo de Qualidade. Como o peer geralmente é feito por consultores de qualidade, essa é uma metodologia de transição que se torna opcional com mais maturidade para evitar qualquer gargalo.
11. Test Notes
Os testes cobrem os riscos que precisam ser testados. Eles não são uma explicação de como testar. Este método permite a priorização efetiva dos testes no modelo de Quality Engineering: o teste é o ato mínimo de verificação que idealmente não deveria existir e não encontrar nada. Essa abordagem enxuta concentra a equipe no valor e na otimização de seus esforços de teste.
12. Avaliação por pares*
Esta metodologia pode ser aplicada a qualquer processo e deve ser priorizada em seu contexto. A revisão por pares é a maneira mais eficaz de aumentar a qualidade em ciclos de feedback curtos e de forma escalonável. Os pares envolvidos são capazes de interagir de forma assíncrona, aprender e adaptar rapidamente seus resultados.
13. Developer in Test
Este processo afeta um engenheiro de software diferente para a implementação de testes. Esta é uma boa forma de aumentar a sensibilidade aos testes e garantir a implementação das notas de teste. No entanto, manter essa prática ao longo do tempo não é recomendado, pois o engenheiro de software principal deve implementar os testes corretamente em primeiro lugar.
14. QA Demo*
Agile empurra para um produto funcional em vez da documentação. A lógica de uma demonstração de controle de qualidade é a mesma no Quality Engineering: os atributos de qualidade e o produto são sistematicamente compartilhados dentro da equipe para alinhar os requisitos. Essa prática também ajuda a equipe a alcançar resultados viáveis, removendo atividades não necessárias.
15. Blitz Test
O teste junto com o produto em uma sessão de caixa de tempo para encontrar bugs é um Teste Blitz. Essa prática também vem da Atlassian. É executado após a demonstração do controle de qualidade e antes do lançamento antecipado do produto. Esta é uma proteção adicional para encontrar bugs que um processo anterior não teria. Também é útil como um exercício de formação de equipe para a equipe multifuncional. Esta metodologia deve se tornar opcional com uma maturidade crescente de qualidade.
16. Dogfooding
Desacoplar a construção, implantação e lançamento é uma das práticas recomendadas de aplicativos de doze fatores. O Dogfooding está na fase de lançamento como um acesso antecipado para os funcionários. Ele permite que os utilizadores internos testem o produto antes de liberá-lo para os clientes finais e detectam quaisquer problemas mais difíceis de detectar no processo padrão e nas infraestruturas. Com mais maturidade em termos de testes, infraestrutura, as equipes podem limitar o uso dessa metodologia. O teste exploratório e de multidão pode ser um bom elogio em alguns casos.
17. Comunidade de Prática (CoP)
As equipes têm que melhorar continuamente seu nível de qualidade e contribuição em seu contexto. Uma forma eficaz de difundir o conhecimento prático dentro da organização é por meio de comunidades de práticas. Por ter interações regulares transversais, os indivíduos são capazes de aprender com os pares fora de seus limites. Ele apóia a rápida disseminação do conhecimento e das melhores práticas em uma organização, bem como a criação de interações valiosas entre colegas que, de outra forma, não interagem muito.
18. Guia de cultura de qualidade
Este guia disponível em versão preliminar é de Alan Page e Brent Jensen, o fundador dos princípios de teste modernos. Ele contém uma referência a várias práticas que uma equipe pode utilizar para aumentar seu nível de qualidade dependendo dos estágios de maturidade.
Vincule as saídas aos resultados
19. NPS de Quality Engineering
O Net Promoter Score é uma das medidas de satisfação do cliente mais usadas. Consiste no cálculo de uma pontuação com base na proporção de promotores, neutros e detratores da empresa. Cada categoria depende da opção escolhida na recomendação da experiência de serviço em uma escala de 0 a 10. É usada pelos principais atores especificamente na “probabilidade de recomendar a equipe de Quality Engineering a um amigo ou colega”. O método permite entrar em contato com a realidade de percepção da equipe, aumentar o engajamento e solucionar os problemas mais importantes.
20. Quality Engineering Monitoring
Um monitoramento sistemático e colaborativo da qualidade é implementado por equipes de alto desempenho. Por ser regular, obriga a avaliar de forma factual o desempenho e a manter a equipa consciente da lacuna a cobrir, promovendo a melhoria contínua. O aspecto colaborativo permite reforçar as interações com os atores e aumentar o engajamento, permitindo que os atores sejam donos de sua qualidade.
Quality Health Monitoring (QHM)
Este monitor é fornecido pela Atlassian como parte de suas práticas de qualidade. É uma forma eficaz de implementar o monitoramento da Qualidade.
21. Business metrics
As seguintes métricas permitem enfocar a equipe nas interações dos usuários e no desempenho dos negócios. Embora ações isoladas dificilmente possam ser correlacionadas a um indicador, as ações da equipe precisam melhorar esses indicadores ao longo do tempo. Eles podem ser identificados por meio de um exercício de resultados-chave objetivos (OKR).
Aqui está uma amostra das possibilidades.
- Registro de utilizadores
- Valor médio do encomenda (AOV)
- Daily engagement
- Referrals
22. Accelerate capability
O estudo Accelerate demonstrou a ligação entre a capacidade de entrega de software e desempenho de negócios Quatro indicadores marcados abaixo fazem parte do estudo.
- Deployment frequency
- Lead-time for changes
- Time to restore service
- Change failure rate
23. Developer Experience
O fluxo diário de trabalho dos engenheiros de software impactou diretamente no desempenho e bem-estar do equipe. Medir a experiência do desenvolvedor (DevEx) nos permite manter contato com a realidade da construção e envio de software na organização. Além disso, a adoção da plataforma é um elemento-chave para rastrear para alcançar a Qualidade em Velocidade. As seguintes métricas podem ser usadas.
- DevEx NPS: a organização pode ter feedback direto da experiência da equipe de engenharia aplicando o modelo de pesquisa NPS. É útil quando aplicado regularmente e para impulsionar a melhoria contínua.
- Cycle-time: mede o tempo decorrido entre o início de um trabalho em um item (história, tarefa, bug etc.) até que ele esteja pronto para entrega. O cycle-time informa quanto tempo (em tempo de calendário) leva para concluir uma tarefa e ajuda a agilizar a entrega do software, eliminando o desperdício e o tempo de espera.
- Adoção: a plataforma da empresa oferece suporte a um processo de entrega de software replicável e simplificado, incluindo requisitos não funcionais de forma padrão. A adoção pode ser medida por meio de taxas de adoção em projetos, atividades diárias e projetos não conformes.
24. Value Stream
Um fluxo de valor é o conjunto de ações que ocorrem para agregar valor aos clientes, desde a solicitação inicial até a realização do valor pelos clientes. Ele permite mapear os principais processos com foco no valor para, então, conduzir a melhoria contínua para acelerar e aumentar o valor entregue.
Framework
Essas práticas o prepararão para uma jornada de transformação para uma organização de Quality Engineering. As práticas irão apoiá-lo na manutenção da melhoria contínua e adaptação com capacidades, processos sistemáticos e aprendizagem organizacional.
Este conteúdo limitou-se ao pilar de Methods, deixando as demais práticas de Architecture, Management, Organization e Skills em documento à parte. O objetivo é enriquecê-lo dentro da comunidade e aprimorar seu conteúdo.
Pode aceder ao documento completo do Quality Engineering Framework contendo a classificação das práticas em Qualidade, Speed e Complexity. Também contém a opção de customizar a prioridade de determinadas práticas e já te deixa com um plano de ação.
Siga a QE Unit para mais Quality Engineering.
The Quality Engineering Definition, Manifesto and Framework are available through a Creative Common Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0).