“A culpa é da QA”.
É a desculpa fácil e recorrente de um novo lançamento atrasado e cheio de erros. Precisamos de um culpado e, desta vez, não podemos culpar a rede. A QA, responsável pela qualidade, é um alvo ideal.
Além disso, “não é complicado fazer testes”. Dando um passo para trás, essa posição pressupõe que qualidade rima com teste. No entanto, fazemos exames de sangue sem necessariamente estar de boa saúde.
Essa segregação do controle de qualidade atinge rapidamente seus limites para ajudar a criar valor. Na melhor das hipóteses, podemos executar alguns testes automatizados para encontrar anomalias com um custo de rework importante final da cadeia.
Este artigo compartilha os principais elementos do modelo de Quality Assistance inspirado por empresas de dimensão como Atlassian ou GitLab. Pode encontrar sua implementação em Manomano e OpenClassrooms neste artigo.
Segue a QE Unit para aceder a mais conteudo exclusivo de Quality Engineering.
Quality Assistance, necessária para a criação de valor
O QA tradicional é muitas vezes percebido como a empresa de testes médicos que realiza testes uma vez finalizado o desenvolvimento do software. A próxima etapa lógica é a de um silo organizacional mal compreendido e limitado na adição de valor. E o mais importante, seus objetivos originais não estão sendo alcançados.
A criação de um departamento de QA surge do desejo de abordar a qualidade do software. Espera-se um retorno do investimento, materializado pela criação de valor. Também é necessário que haja uma definição compartilhada entre as diferentes partes interessadas; alguns buscarão melhorar o número de usuários, acelerar a entrega do software, enquanto outros buscarão melhorar a estabilidade.
“O problema com o controle de qualidade tradicional não é criar valor suficiente no prazo. Passamos de um investimento a um desperdício, inútil no Quality Engineering.“
Antoine Craske
Não há nada de errado com uma equipe de controle de qualidade. Os problemas se materializam em sua integração na organização. Olivier e Vincent compartilharam os mesmos sofrimentos de uma equipe isolada com dificuldades de desempenho: melhor qualidade esperada pelos testes de “QA”, encaminhamento da insatisfação do software para a equipe de “QA”. Enquanto isso, o software continua mal desenvolvido em seu núcleo para usuários que não têm tempo a perder.
O ambiente atual exige uma capacidade de entrega contínua de valor, Qualidade em Velocidade. Delegar testes a um silo organizacional, longe das necessidades do usuário e da criação de software, está longe de abordar os verdadeiros atributos da Qualidade. O objetivo é criar e entregar software no nível esperado o mais rápido possível. Portanto, é necessário desenvolver uma “Qualidade como capacidade” integrada na organização.
Para isso, o silo QA dá lugar à Quality Assistance.
Quality Assistance, uma abordagem sistêmica da Quality
Quality Assistance não é uma equipe, é o resultado de uma colaboração empresarial que cria valor por meio da qualidade. É um paradigma diferente que integra uma abordagem de sistemas. Podemos falar em Quality Assistance quando a qualidade do software é dirigida à base, de forma transversal e contínua.
Qualidade na base
Uma crença fundamental na Quality Assistance é que a qualidade é intrínseca ao produto desde o seu início. Portanto, não podemos confiar apenas em testes posteriori para “garantir a qualidade” do software. É necessário garantir a sua criação o mais cedo possível, medindo se o nível de entrega é igual ou superior à definição de Qualidade. A colaboração e o alinhamento transversal dos atores são, portanto, necessários.
Qualidade transversal
Alinhar a definição de Qualidade permite que os perfis necessários para a criação de software tenham uma missão comum. O proprietário do produto, analista, arquiteto, desenvolvedor e operador estão todos no mesmo barco (notará que não há mais necessariamente uma função de “QA”). Se a equipe não sabe entregar em nível de Qualidade continuamente, o problema é deles e da gestão, não só do QA.
Quality Contínua
A Quality Assistance é inspirada no Lean para entregar rapidamente o nível de qualidade esperado. Os atores devem colaborar com eficiência e rapidez. Eles devem, portanto, usar métodos eficazes e ter os conhecimentos adequados. Além disso, a organização deve promover o desempenho tendo a liderança, gestão e apoio necessários. Este é o papel central da Quality Assistance.
Apesar do nome, a Quality Assistance não tem como objetivo a formação de pessoas assistidas, muito pelo contrário.
A Quality Assistance cria um ecossistema para Qualidade em Velocidade
Deve ver a Quality Assistance como uma parte dupla. Por um lado, ele se materializa ao atingir Qualidade na Velocidade, entregando software de qualidade de forma rápida e contínua. Por outro lado, é apoiado por liderança e gestão para criar e manter este ecossistema de qualidade.
A transformação para Quality Assistance não acontece da noite para o dia. Uma verdadeira dinâmica alinhada a uma visão deve ser criada na organização. Esse papel de liderança é responsabilidade da administração, que deve encarar esse problema de frente. A gestão da mudança deve envolver os atores de forma transversal para que se sintam engajados na transformação.
Essas etapas foram realizadas, por exemplo, por gerentes de QA no caso do Manomano, OpenClassrooms e MangoPay. Para ter sucesso, não se trata apenas de proclamar “Qualidade é assunto de todos”. Os líderes de qualidade devem conduzir essa iniciativa em toda a organização. Eles devem reinventar sua organização, mas também as de outras equipes.
A mudança para a garantia de qualidade geralmente começa com mudanças visíveis que trazem mensagens. O nome e as responsabilidades da equipe de “QA” costumam ser alterados para um acrônimo diferente, como “Qcraft” (Manomano) ou “Quality Engineer” (OpenClassrooms). Também revisamos as expectativas das funções existentes para estar o mais próximo possível das equipes (coaching, suporte) ou em animação transversal para manter o equilíbrio.
O modelo de Quality Assistance coloca questões reais de desenvolvimento de habilidades.
A Quality Assistance requer o desenvolvimento de habilidades. Os
hábitos estão mudando na Quality Assistance para todos os jogadores. O gerente de engenharia é explicitamente responsável pela qualidade de seu produto, sem poder entregá-lo a uma equipe de QA. O perfil histórico de QA deve estar muito mais no intercâmbio para alinhar suas prioridades.
O primeiro pivô importante na Quality Assistance é a responsabilidade pela qualidade dos resultados para as equipes da linha de frente. Portanto, é necessário formar uma equipe com a expertise certa no ciclo de desenvolvimento de software para entregar Qualidade com Velocidade. Este é o ponto forte do modelo: em alguns contextos é necessário um perfil de automação de teste real, em outros, apenas um controle de qualidade manual mais próximo do funcional fará a diferença.
A descentralização da Qualidade requer uma força contrária central para manter um ecossistema coerente. O acúmulo de otimizações locais acaba gerando desempenho negativo para todo o sistema. O papel histórico do gerente de QA está, portanto, evoluindo para um papel de orquestração, em última análise, garantidor do desempenho das várias pessoas que contribuem para a Qualidade. Além disso, os atores que ele anima não são todos do controle de qualidade.
Por fim, o líder da Qualidade também deve ampliar seu impacto multifuncional com seus pares de produto, engenharia e operações. Deve, portanto, saber como usar seu background de QA enquanto permanece sensível, curioso e interessado em assuntos transversais para ser relevante nas trocas. O valor do QA em si não existe, ele deve melhorar os atributos de Qualidade.
É aqui que a Quality Assistance contribui para a criação de valor.
A Quality Assistance permite a criação de valor
Todos nós somos pagos para resolver problemas. A Quality Assistance vem nos ajudar a resolver o problema do declínio do controle de qualidade, maltratado e mal percebido nas organizações. O objetivo é abordar proativamente a Qualidade de nossos produtos para melhor mantê-la continuamente, sendo capaz de demonstrá-la.
Medir a criação de valor é um assunto real. Não é uma questão de calcular um ROI financeiro em primeiro lugar. Este exercício provavelmente estaria errado, além de não ser a primeira prioridade. A mudança para a Assistência à Qualidade é medida desde o ponto de vista do cliente e também do ponto de vista interno. É semelhante a um exercício de Balanced Scorecard.
Medimos a melhoria da experiência do usuário de várias maneiras. O uso de NPS e medidas de atração e retenção são boas opções. Devemos ter em mente seus limites de interpretação de correlação e causalidade. O desempenho dos negócios e a recomendação de colegas permanecem inalterados as medidas mais significativas.
De outro ângulo, as medidas internas permitem vincular os outputs aos outcomes da Quality Assistance. Olivier e Vincent mencionaram notavelmente as métricas do relatório Accelerate , como o cycle-time, disponibilidade ou capacidade de resposta no caso de um incidente. Também encontramos em comum a medição de bugs críticos na produção e seu backlog; sua diminuição é um sinal de qualidade atendida o mais rápido possível.
A Quality Assistance é um modelo diferente de criar software.
A Quality Assistance, uma face organizacional do Quality Engineering
A Quality Assistance é uma mudança estrutural nas responsabilidades da Qualidade dentro das organizações em transformação. Visto de longe, trata-se de integrar a Qualidade o mais cedo possível nas cadeias de valor do software. Os modelos de controle de qualidade decorrentes da revolução industrial não têm lugar no ecossistema atual.
O Quality Engineering é o paradigma transversal que atua nos 5 pilares do MAMOS: Methods, Architecture, Management, Organization and Skills. A Quality Assistance faz parte do framework de Quality Engineering principalmente nas áreas de organização e competências.
Não é suficiente mudar a linguagem de programação para melhorar estruturalmente nosso software. Os fundamentos organizacionais são fundamentais. As transformações bem-sucedidas também seguem o princípio “Porque, quem, e o quê”. Ter as pessoas certas com as habilidades certas na organização certa é, portanto, uma prioridade.
Está pronto para a Quality Assistance ?