imageNão, você não leu errado. O papel do testador, tal como o conhecemos hoje, está com os dias contados.

Há muito tempo o processo de controle de qualidade (QA, Quality Assurance) de software – em especial, as práticas de teste que são parte desse processo  – é tratado como um afterthought. Ou seja, na maioria dos projetos o controle de qualidade em geral (e os testes, mais especificamente) são relegados a um papel de menor importância e muitas vezes sequer fazem parte do planejamento do projeto.

“Se der tempo, na última semana antes da entrega, a gente testa. “ Vai dizer que você nunca ouviu isso?!

A luta do pessoal de QA para ser envolvido cada vez mais cedo no projeto é travada constantemente, mas às vezes parece inglória. Não importa o quanto se argumente, parece que o foco está sempre no desenvolvedor.

Como se não bastasse isso tudo, tem gente dizendo que os tais “agilistas” pregam que não precisam mais de testadores. Que o desenvolvedor resolve tudo. O Scrum é ainda mais explícito ao declarar no Scrum Guide (http://www.scrum.org/Scrum-Guides) que:

Scrum recognizes no titles for Development Team members other than Developer, regardless of the work being performed by the person; there are no exceptions to this rule” (Scrum não reconhece títulos/cargos para membros do Time de Desenvolvimento além de Desenvolvedor, independentemente do trabalho realizado por aquela pessoa; não há exceções para essa regra); e

Development Teams do not contain sub-teams dedicated to particular domains like testing or business analysis” (Times de Desenvolvimento não contêm sub-times dedicados a domínios particulares tais como testes ou análise de negócios).

Quer dizer que não há testadores num time ágil? Apenas desenvolvedores?

É isso aí. E a tendência é que as coisas fiquem cada vez piores para os testadores, se considerarmos que a adoção de práticas ágeis de desenvolvimento (tais como o Scrum) continuam crescendo.

Eu não disse que o fim estava próximo?

Claro que as coisas não são tão simples assim. Na verdade o que há é um grande mal-entendido sobre o que o Scrum Guide realmente quer dizer quando afirma que “todo mundo é desenvolvedor”. De maneira geral, nossa comunidade entende que desenvolvedor é sinônimo de programador e, portanto, o Scrum Guide estaria dizendo que um time é composto exclusivamente de programadores.

Nada mais falso.

Desenvolvedor é “aquele que desenvolve algo”, certo? Para desenvolver um produto complexo como um software é preciso muito mais do que produzir código. É preciso entender de negócios, de bancos de dados, de redes e infraestrutura… E também é preciso saber testar software!

O assunto é tão importante – e tão polêmico – que resolvi “cutucar a onça com vara curta” e palestrar sobre ele. Se quiser discutir o assunto, venha participar do debate no ALM Summit Brasil 2013 no próximo sábado (dia 20 de abril). Todas as opiniões serão mais que bem-vindas!

Ah, eu também submeti uma proposta para o Agile Brazil 2013 para esta mesma palestra. Se minha submissão (que ainda está sob avaliação) for aprovada, poderemos também discutir sobre esse assunto em Brasília. Espero por vocês em São Paulo e (tomara!) também em Brasília.

O que você acha do assunto? Não deixe de comentar…

 

Um abraço,
    Igor