Programação

Um dos pilares das metodologias ágeis, que inspira o valor “agilidade” da Vsoft, é: “Os indivíduos e as interações entre eles, mais que ferramentas e processos”. Nesse contexto, a interação e cooperação de pessoas, seja no ciclo de desenvolvimento, seja na comunicação com os stakeholders torna-se essencial. No desenvolvimento de software não é diferente.

Pessoas conectadas trabalham em conjunto para a produção dos mesmos objetivos, garantindo uma entrega satisfatória e de qualidade para os clientes. 

Dentre as metodologias ágeis existentes, há o Scrum, no qual pessoas se unem em uma equipe multidisciplinar e, de acordo com o talento de cada uma, são inseridas em diferentes papéis e responsabilidades. Veja como funciona:

  1. O product Owner (PO), responsável  por definir quais recursos e funcionalidades serão utilizados e construídos, além de definir a prioridade de cada um; 
  2. O Scrum Master é responsável por ajudar a equipe a compreender inteiramente a metodologia, seus valores, princípios e práticas; 
  3. E o time de desenvolvimento que engloba, basicamente, os desenvolvedores (Dev) e Quality Assurance (QA), são responsáveis por desenvolver e entregar versões funcionais de um produto.

Os Devs, de uma forma bem sucinta, têm a responsabilidade de implementar as funcionalidades de software através da escrita de algoritmos em uma determinada linguagem de programação. 

Basicamente, os QAs são responsáveis por testar, analisar e validar todas funcionalidades após o desenvolvimento de um produto pelos Devs e, caso encontre algum erro ou “bug”, o QA precisa sugerir correções e melhorias com o intuito de garantir qualidade no que será entregue ao cliente.

QA versus DEV

Apesar da importância da interação de pessoas e união dos times, em muitas situações existe uma complicada relação, uma “rixa”, entre Devs e QAs. Às vezes, ocorre uma falsa sensação de que os QAs são inimigos dos Devs por estarem tentando sempre encontrar erros no seu trabalho através dos “bugs” no sistema. 

#DicaVsoft: saiba como os testes de qualidade são feitos clicando aqui.

Observando pela ótica dos desenvolvedores, existe uma breve percepção de que os QAs são contratados para encontrar os problemas e erros cometidos na implementação de um software, já que os QAs têm, justamente a função de reportar para os Devs algo que não está dentro do esperado.

Nesse sentido, isso pode ser custoso para alguns Devs, pelo fato de que eles passam horas escrevendo códigos, executando testes de unidade e revisões, para que, depois de todo o esforço, alguém apenas para revisar o seu trabalho e dizer que não está bom o suficiente.

 importância da comunicação entre devs e qas
Fonte: Learn The Art of Software Testing

Entretanto, esse conceito de que o time de qualidade atua somente para encontrar erros no trabalho do time de desenvolvedores não é verdade. 

Além disso, quando ocorre essa oposição entre Devs e QAs, o mais prejudicado é o usuário final, por receber um produto com baixa qualidade e que não atinge o que promete. 

O fato é que QAs e Devs devem trabalhar juntos. Quando se sabe que o trabalho de um profissional contribui para o trabalho do outro, é necessário deixar em escanteio as divergências, para alcançar uma integração no trabalho, trazendo benefícios para o time e entregando valor ao usuário final através do produto.

Colaboração é o melhor caminho

Quando partimos do ponto de vista que dentro de uma empresa ou projeto, o interesse maior é entregar um produto nos critérios de qualidade do cliente, do custo e do prazo, percebemos que para atingir esse objetivo a colaboração de todos os envolvidos, QAs e Devs, é essencial. 

Nesse sentido existem algumas maneiras de promover essa colaboração que agrega melhorias nas pessoas, nos processos e nos produtos:

Aprimorar a comunicação

O trabalho em equipe precisa de interação e compartilhamento entre os membros, pois o resultado não depende só de uma pessoa e sim do grupo, todos em busca de um objetivo final. 

Para que tudo isso aconteça, a comunicação é primordial, com a sabedoria de discutir de forma saudável, ouvir e falar na hora certa.

Apesar de parecer fácil de ser aplicado, muitas empresas têm problema com essa questão. De acordo com o Instituto de Gerenciamento de Projetos (PMI), em 2021, 28% dos projetos falharam devido a uma inadequada comunicação entre as pessoas envolvidas em um projeto.

PMI 2021 - Pulse of the Profession

Nesse sentido, uma forma de garantir a eficiência e a agilidade na comunicação entre Devs e QAs, é eliminar métodos indiretos que tendem a ser improdutivos devido sua complexidade.

Um exemplo: e-mails longos ou mensagens de texto longas podem ser substituídos por uma conversa breve, que pode ser mais precisa, para sanar dúvidas de algum fluxo do sistema, e imediata, por ser assertiva para resolução de algum possível problema. 

Com o trabalho home office, a união presencial dos profissionais se tornou inviável, mas isso não impede o diálogo, pois é possível configurar algum canal de comunicação (Zoom, Google Meet, Skype) para realizar chamadas áudio/vídeo, a fim de facilitar a interação. 

Outra prática interessante que pode ser adotada  é envolver QAs e Devs não só na etapa de implementação e testes do software, mas nas demais etapas do processo, como mapeamento de melhorias e análise de correções, por exemplo. Essa prática é denominada “Três Amigos”, The Triad, em inglês.

A prática busca alinhar as expectativas não apenas entre o desenvolvedor e o QA, mas também com o Product Owner, colocando os três na mesma página, assegurando que todos terão o entendimento necessário para garantir o sucesso de um projeto e diminuindo a comunicação ineficiente, causada por um possível “telefone sem fio”.

Testes em conjunto

Existe outra prática que permite uma maior inserção do time de QA no processo de desenvolvimento e em frequente comunicação junto ao Dev, é a prática da Entrega Contínua. 

Nesse modelo são feitas pequenas e rápidas entregas ao cliente ao invés de uma entrega grande e com muitas demandas de uma vez. 

No decorrer do desenvolvimento e entrega de versões do sistema menores, realizado pelos desenvolvedores, os QAs participam desde a etapa inicial do ciclo até a entrega. 

Assim, os dois times se aproximam, barateando o custo do desenvolvimento, uma vez que QAs anteveem possíveis bugs antes mesmo de serem implementados, evitando desperdício de tempo e retrabalho.

Devs  e QAs compartilhando conhecimento

Outra tática que pode integrar ainda mais os times de Dev e QA é a Cross Training, que significa “treinamento cruzado”.

A técnica ajuda a garantir estabilidade e fornece flexibilidade valiosa entre os integrantes da equipe, principalmente quando se conhece bem como cada membro atua em suas funções.

Com ela, o Dev é incentivado a auxiliar o QA na melhor compreensão do código-fonte desenvolvido, enquanto o QA pode auxiliar o Dev a entender sobre os testes de qualidade e sua lógica, utilizada no desenvolvimento do projeto.

Quando um QA compreende bem o código-fonte de um sistema, é possível ter uma melhor visão analítica na procura de pontos problemáticos e possíveis bugs. Já um Dev que entende o conjunto de testes de qualidade tende a desenvolver um produto melhor e com menos pontos fracos e, eventualmente, aprende a desenvolver melhores testes unitários. 

Quando um membro da equipe entende o funcionamento de outras áreas e funções, amplia-se a compreensão do próprio papel na organização, derrubando barreiras e abrindo portas para melhores relacionamentos e trabalhos integrados.

Na Vsoft, dentro da linha de produtos Certfy, é utilizada a metodologia ágil. Na equipe de cada produto, existe pelo menos um QA alocado. Assim, desenvolvedores e analistas de qualidade estão sempre em frequente e direta comunicação. 

Quando é encontrado um bug, melhoria, ou mesmo alguma dúvida, sempre ocorre um momento de conversa para tais situações em qualquer horário do dia. Aqui, aplicamos as técnicas vistas acima e podemos comprovar: segui-las agrega maior valor de entrega para os clientes da Vsoft.

Success! You're signed up
Oops! Something went wrong while submitting the form.
go  top