Se a resposta para a pergunta acima sobre Quality Assurance for “la garantia soy yo” ou alguma variação dela, estamos com problemas.
Fun-fact: se você morasse na Londres do século XVII, seria possível comprar um sapato usando um número para indicar qual o tamanho do seu pé nos diferentes fabricantes espalhados pela cidade. Foi mais ou menos nessa época que surgiu o primeiro sistema de numeração uniforme para calçados no mundo.
E, por incrível que pareça, os sapatos numerados têm tudo a ver com conceitos que ainda influenciam o desenvolvimento de outras atividades quase quatro séculos depois: padronização, controle e cultura de qualidade.
Antes de começar, temos duas promessas para quem chegar até o final deste artigo:
- Você vai entender um pouco mais sobre os processos de Quality Assurance (QA) no desenvolvimento de software
- Como a Neoway organiza seus especialistas, quais os focos de atuação desses profissionais — e quais os benefícios da disseminação da “cultura de qualidade”.
Quality Assurance (QA) x Desenvolvimento de software
Para começar, vale a pena pensar em como a Neoway enxerga e organiza seus profissionais de Quality Assurance (QA) — e qual o papel deles no desenvolvimento de softwares e soluções.
Na Neoway, o profissional responsável por essa área, chamado de engenheiro de QA ou Quality software engineer, tem um papel fundamental para toda a parte de desenvolvimento de produto e do processo de desenvolvimento.
Isso significa que, além de garantirem os padrões de qualidade de produtos, são profissionais envolvidos de forma profunda nas melhorias de processos — disseminando a cultura de qualidade e o conhecimento na área. O dia a dia desse tipo de desenvolvedor na Neoway tem que levar em conta algumas questões:
- Como contribuir além da qualidade do produto?
- Como fazer entregas de maior qualidade para os clientes?
- Que melhorias é possível sugerir dentro dos times?
- É possível estabelecer padrões de qualidade para disseminação dentro do time de engenharia?
- Qual a melhor forma de promover engajamento dos times na cultura de análise e revisão de requisitos para detectar problemas no início do processo?
- Os desafios na criação e execução de testes, sejam manuais ou automatizados
Como aplicar QA nos times?
Voltando para a nossa analogia: por muito tempo, a esteira de produção de software não foi muito diferente de uma linha de fabricação dividida em cascata — um modelo no qual, só ao final do processo, o profissional de qualidade é envolvido.
Nesse formato, o time de qualidade de software atuava mais como uma espécie de “fábrica de testes”. Traduzindo: existia um time de desenvolvimento e outro time de testes. Essa abordagem mais tradicional tinha várias dificuldades e a principal era a comunicação — o que tornava difícil a aplicação de qualidade.
Na Neoway, o time de QA atua como um elo entre todos os envolvidos e etapas do time desde o início do ciclo. Interagindo nos projetos desde suas primeiras fases de desenvolvimento, é possível diminuir riscos, custos e garantir a qualidade das entregas. Ter um profissional de quality assurance dentro dos times é fundamental nesse sentido.
Como o processo de desenvolvimento dentro dos times seguem metodologias diferentes (seja, Kanban, Scrum ou outras), os QAs precisam ser altamente adaptáveis. Esse profissional está envolvido com o produto como um todo e atua próximo dos Product Owners (PO) e outros membros da equipe.
A regra é clara: quanto mais cedo o time de QA for envolvido e descobrir os problemas, menor é o custo da correção — seja em tempo, carga cognitiva ou impacto no produto final.
A visão macro permite que esse profissional seja uma peça-chave dentro dos times, por trazer informações, dúvidas e discussões abrangentes que contribuam no processo de desenvolvimento de softwares.
Opa, encontrei um bug aqui! Um ponto importante no qual o time de qualidade está envolvido diz respeito ao report de bugs. Na Neoway, o QA é o profissional que vai acompanhar e cuidar do ciclo de vida do software, além de auxiliar os desenvolvedores na correção e validação dos erros no código.
Muitas vezes, o QA não apenas “recebe” o bug quanto gera o bug enquanto realiza testes em uma nova funcionalidade. A partir desse momento, o erro é atribuído para que um desenvolvedor corrija ou entra no backlog do time. Com o bug resolvido, ele segue para validação.
Quais são os principais desafios da Qualidade?
Garantir que o código rode e atenda os cliente da melhor forma possível não é uma tarefa fácil. Há algumas pedras no sapato do(a) engenheiro(a) de qualidade de software que trabalha dentro do time de desenvolvimento.
Uma das principais dificuldades é manter o engajamento dos times em todas as etapas do projeto. Esse aspecto de soft skill, combinado com o conhecimento técnico e atuação como guardião das boas práticas faz toda a diferença para fomentar uma mentalidade de qualidade.
A mentalidade de qualidade não pode ficar restrita apenas ao profissional de QA. é uma mudança verdadeiramente cultural e, na Neoway, todos os times são incentivados a desenvolver comportamentos nesse sentido. Alcançar a cultura de qualidade eleva times, produtos e empresas de patamar.
Essa relação próxima também garante a troca de conhecimentos e técnicas. Um exemplo prático: a troca de experiências entre o time de qualidade de software e de segurança proporcionou a mudança de várias práticas para tornar aplicativos e plataformas que levem em conta as melhores práticas de cibersegurança desde a primeira linha de código.
Quer saber mais sobre a jornada de controle de qualidade de softwares? Continue acompanhando as atualizações do nosso blog e saiba mais sobre as principais tecnologias usadas pela Neoway, empresa líder em data analytics da América Latina.
Autores: Carlos Machado, Sergio Schmitt e João Lima, engenheiros do time de QA da Neoway