Com a ampla adoção de metodologias ágeis de desenvolvimento, o papel do Analista de Testes vem se tornando cada vez mais desafiador. Em um ambiente no qual as entregas são rápidas e o produto é tratado de maneira mais dinâmica do que nunca, dessa forma, os profissionais de testes precisam garantir que, além do produto ser entregue com qualidade, que todo o processo de desenvolvimento siga tanto os critérios de SQA (Software Quality Assurance) como de Agile.
O ambiente tradicional
O ponto de partida é uma realidade em que os testes e o processo de garantia de qualidade consistiam apenas em uma das etapas do processo, onde, normalmente, a comunicação com os membros do time de qualidade se dava apenas por meio de documentação, o que os afastava das tarefas de desenvolvimento. Isto tornava não somente a comunicação problemática, mas por conseguinte, isolava os profissionais em nichos, colocando-os como responsáveis estritamente por suas atividades, muitas vezes sem que tivessem uma visão geral do processo.
O ambiente ágil
O escopo se modificou, atualmente, a realidade se apresenta de modo que os Analistas de Testes, não somente zelam pela qualidade do produto, mas também pela qualidade do processo e de todos os entregáveis de um projeto. Com o aumento do engajamento destes colaboradores em todas as fases do processo de desenvolvimento, percebe-se um aumento significativo na qualidade dos entregáveis, bem como maior engajamento e sinergia entre os times.
Muitas vezes existe a necessidade de mostrar ao cliente que a utilização de métodos ágeis de desenvolvimento traz consigo seus próprios desafios. Como pode ser visto na imagem abaixo, a qual ilustra o ciclo de desenvolvimento ágil com suas principais características. Os times estão cada vez mais responsivos, trabalhando com mudanças dentro do contexto dos projetos. Este cenário gera a necessidade de os Analistas de Qualidade se tornarem mais presentes em todas as fases de desenvolvimento, pois possuem visão holística do negócio e podem avaliar os impactos de mudanças, cabendo a eles, juntamente com os analistas de negócio, designers e desenvolvedores, levantarem o impacto das alterações de escopo no produto.
O que o futuro reserva
Com as demandas por eficiência cada vez maiores e com prazos de entrega cada vez menores, os analistas de testes aspiram por adequar-se ao ambiente dinâmico de trabalho. Analistas de Testes hoje não se limitam somente às atividades relacionadas ao ciclo de testes como: elaboração, execução de testes e testes automatizados, estes têm assumido cada vez mais o papel de DevOps dentro do time, sendo responsáveis por articular a comunicação entre as áreas, manutenção do ambiente de desenvolvimento, servidores de build, entregáveis, testes unitários e métricas relacionadas ao código fonte do projeto.
Vivencia-se uma realidade onde a linha entre o desenvolvimento e testes, se torna cada vez mais tênue. Evolui-se para um futuro onde todos os colaboradores do time poderão assumir tarefas que normalmente seriam atribuídas somente a um perfil específico do quadro de um projeto. Assim, os profissionais não serão mais separados por áreas ou por segmento de atuação.
O desenvolvimento de um projeto passará a ser de responsabilidade do time como um todo, com cada integrante do time tendo sua área de proficiência, mas também, áreas nas quais consegue atuar, porém não com total conhecimento e domínio. Este panorama permite perceber o nível de expertise de um colaborador em diversas áreas do projeto como um fractal, no qual, pode-se notar que existe um grande domínio de uma área específica e as subsequentes são progressivamente menores, conforme exemplificado na figura 3.
Hoje, dentro do time analisado, dispõem-se de Analistas de Testes, que além de desempenharem seu papel funcional dentro do projeto, conseguem exercer algumas atividades de UX Designers, transcendendo as suas atribuições formais, de forma a manter servidores de build, provisionar entregáveis, realizar a análise dos requisitos e algumas vezes criar os protótipos iniciais das funcionalidades.
Dentro de um time ágil, cada vez mais, tratam-se colaboradores por nível de competência em exercer determinada função do que pelo seu cargo propriamente dito. Assim, os profissionais podem desempenhar várias funções complementares dentro de uma equipe com diferentes níveis de proficiência.
Dentro da CINQ, empresa em que trabalho, cada membro do time é elencado com base em suas 5 principais proficiências. A seguir 2 profissionais distintos alocados em um mesmo projeto:
Aplicando algumas das premissas dos processos de desenvolvimento lean (redução de qualquer excesso ou gasto com recursos além do necessário), juntamente com o Fractal Management, direcionado ao levantamento do perfil de um profissional, permite-se identificar diferentes perfis dentro do time ou organização. Muitas vezes estes colaboradores têm a ambição de desenvolver uma nova skill, sem perder o foco de sua atividade principal.
Com este comportamento, Analistas de Testes têm cada vez mais adentrado em novas áreas do ciclo de desenvolvimento de software, algumas vezes sendo possível identificar colaboradores com uma ampla competência em testes, atuando também em alguns dos papeis de desenvolvedor para algumas das tarefas do quadro de projeto.
O futuro reserva um ambiente em que cada integrante do time dentro de um projeto pode ser responsável por quaisquer atividades do backlog, porém, cada tarefa pode ser desenvolvida por diferentes profissionais, com diferentes níveis de experiência. O mercado tem demonstrado este comportamento, principalmente em novas empresas, em que o quadro de pessoal normalmente é reduzido e o time de desenvolvimento enxuto.
Com isso, vem o desafio de adequar os times à esta realidade, levando-os a migrar para um novo paradigma de trabalho. Assim, as linhas que separam, análise, desenvolvimento e testes se tornam cada vez menores, tornando as equipes ágeis cada vez mais coesas, com colaboradores cada vez mais focados no sucesso do processo de desenvolvimento como um todo.