Carreira de QA: Especializar ou Generalizar?
Para se posicionar bem no mercado quando o assunto é ser um profissional de Qualidade dos próximos anos, é necessário compor e escalar vários conhecimentos.
Antes de responder à pergunta que originou esse post, vamos entender sobre a evolução dos papéis da Qualidade de Software. Embora ainda seja possível encontrar no mercado profissionais que se especializaram somente em testes manuais, ou em testes automatizados, ou ainda apenas na análise de testes (escrevendo os cenários e controlando os planos, mas não executando os testes), o gráfico abaixo mostra que ao longo do tempo, a cada novo papel, os anteriores não são (ou não deveriam ser) isolados, e sim agregados.
Para entender como o profissional de qualidade chegará ao papel de Engenheiro de Software, é importante entender a composição dos Times Ágeis. Mike Cottmeyer, referência em transformação ágil, define o time ágil:
“An Agile team is a cross-functional group of people that have everything, and everyone, necessary to produce a working, tested increment of product.”
Em tradução livre, um time ágil é um grupo multifuncional que tem todas as ferramentas/conhecimentos e todas as pessoas necessárias para produzir um incremento de produto funcional e testado. Esses times são compostos por engenheiros de software sem um papel definido (como analista, desenvolvedor, testador, operations, etc).
Mas quer dizer então que eu vou ter que ser especialista em tudo?
A resposta é não. Cada Engenheiro tem sua área de especialização, mas conhece um pouco de todas as outras áreas a ponto de contribuir com as definições e execução de quaisquer tarefas. Para tanto, é importante que tenha conhecimento nos quatro quadrantes da Engenharia (Qualidade, Processo, Design e Desenvolvimento).
O modelo fractal de competências ágeis nos ajuda a entender a composição de conhecimento desses times:
Através do modelo fractal, podemos definir os quadrantes para cada área de interesse. A área principal ocupa aproximadamente 50% do conhecimento, a segunda 25%, e as próximas a metade da anterior. Com base nessa proporção, traçamos uma estratégia para evoluir o conhecimento de cada área, bem como agregar novos conhecimentos. No caso do QA, a área principal será a de qualidade, e a ordem de interesse das demais é escolhida de acordo com as preferências profissionais particulares.
Tá mas e sobre a minha área de especialização?
A área de Qualidade é também composta por subáreas de conhecimento. Utilizamos novamente o fractal de competências, agora focando somente nos caminhos relativos à qualidade:
Então, especializar ou generalizar?
A resposta correta é nem um nem outro. É importante ter a sua área de especialização, assim você poderá ser uma referência técnica dentro do time ágil para aquela área. E é igualmente importante que você tenha conhecimento nas demais áreas de forma a contribuir para a maturidade do seu time.
Isso quer dizer que eu vou precisar gastar muitas horas estudando?
Não. Isso quer dizer que você precisa de uma estratégia para utilizar, de forma otimizada, o seu tempo disponível, e assim garantir que vai agregar os conhecimentos necessários ao longo do tempo. Se você não sabe por onde começar, um bom ponto de partida pode ser seguir os passos abaixo:
Passo 1: Definir o seu modelo de competências como Engenheiro de Software
Passo 2: Definir o seu modelo de competências dentro da área de Qualidade
Passo 3: Agora tá na hora de fazer um planejamento. Listar as hard skills (conhecimento técnico em processos e ferramentas) e soft skills (habilidades pessoais) que você quer/precisa evoluir, agrupá-las de acordo com o seu modelo de competências (para saber em quais focar mais esforço) e então criar um calendário conforme o seu tempo disponível para estudos. Com essa organização você vai conseguir ter uma evolução encadeada e consistente, e não vai mais precisar perder tempo nem foco na hora de escolher o próximo curso ou certificação.
Considerações finais:
- Um dos principais problemas que enfrentamos na nossa área é definir qual o próximo curso a fazer. Com a quantidade de material, cursos e certificações disponíveis, acabamos por agregar conhecimentos fragmentados, que não se complementam
- O planejamento de hoje pode (e vai) mudar ao longo do tempo, assim como as nossas preferências profissionais, então ele deve revisado periodicamente (leve em consideração fatores como: o que está em alta no mercado e as linguagens e frameworks que a empresa em que você trabalha ou deseja trabalhar utiliza)
- Estabeleça marcos (trimestrais, semestrais, anuais) para medir a evolução, e comemore cada conquista!
Referências:
- The Tester is Dead long live Testing! Artigo por Edze Knol e Jordan Gross
- What is an Agile Team and how do you form them? Artigo por Mike CottMeyer
- O testador está morto! Artigo por Elias Nogueira
- Trilhas de Certificação ISTQB