7 passos para organizar seu chapter de QAs - Ship It!
7 passos para organizar seu chapter de QAs
Publicado por Bárbara Cabral no dia 09/01/2017 agile, gestão, qa
O mundo ágil está muito dinâmico e se reinventando a cada dia. Não é à toa que a área de qualidade também tem mudado seus paradigmas e suas fronteiras. Atualmente discute-se muito o papel do Agile Tester dentro de um time ágil. Mas também temos o cenário onde existem vários times e cada QA é responsável pela qualidade da entrega do seu time. Sendo assim, surgiu a necessidade de integrar o grupo de QAs para trocar conhecimento e experiências a ponto de evoluir toda uma área de Qualidade dentro da empresa.
Quando assumi o Chapter, eu ainda não sabia muito o que isto significava e qual a importância do papel, mas decidi aceitar o desafio e aproveitei várias iniciativas da Resultados Digitais para integrar este grupo de profissionais.
Se você quiser saber como começar como QA Engineer, você pode ler este o post "5 dicas para iniciar como quality assurance engineer" do Thiago Medeiros, que está bem completo e com várias dicas para quem está começando!
Antes de dar as dicas, eu ainda gostaria de falar um pouco sobre a estrutura que temos aqui, para que você entenda o nosso contexto.
Vários artigos falam sobre como escalar o Ágil, ou seja, como lidar com empresas médias e grandes que possuem muitos times ágeis e como estes times se integram. Como não vou aprofundar sobre isto, deixo a você uma referência sobre o assunto, que encontra-se na InfoQ, e explica em termos gerais, como a Spotify escalou seu time Ágil e o estabelecimento das lideranças no time de Engenharia, que é bastante similar com a forma que trabalhamos aqui na Resultados Digitais.
Este modelo foi proposto por Henrik Kniberg e Anders Ivarsson, que contribuíram na divulgação desse exemplo de sucesso no artigo "Scaling Agile at Spotify", além das conferências e workshops que estão ministrando ao redor do mundo, com a finalidade de ajudar outras empresas enfrentando o mesmo problema.
O que é um Chapter?
Em primeiro lugar vamos pensar no papel de cada profissional especialista dentro de um time ágil. Geralmente ele encontra no seu dia-a-dia dificuldades também encontradas por outro especialista dentro de outro time. Um exemplo disso é o profissional que é Quality Assurance Engineer em um time que pode estar tendo problemas em levantar alguns cenários, automatizá-los, ou mesmo em gerar uma massa de dados para o teste, para que o time consiga trabalhar o desenvolvimento baseado em exemplos/testes.
Na prática, a idéia do Chapter então, neste caso, é que todos os Quality Assurance Engineers se reúnam frequentemente para compartilhar conhecimento, experiências e ferramentas para o benefício de todo o time de QAs da área.
Qual foi a maneira que a Spotify equacionou essa questão?
"Na Spotify foi criado o conceito de "Chapter" (Divisão), um conjunto de profissionais com as mesmas habilidades e dentro da mesma área de competência, dentro da mesma tribo. Como pode ser observado na figura seguinte, existem quatro divisões, que por ventura podem ser relacionados a diferentes funções, por exemplo: uma divisão é composta por programadores, outra formada por analistas de teste, outra podendo ser os Agile Coaches e, por último, a dos Product Owners." Fonte: Escalando o Agile na Spotify
Aqui na Resultados Digitais, temos por enquanto apenas 1 Chapter que reúne todos os QAs do time de desenvolvimento de Produto. Baseado nessa experiência da Spotify, decidimos definir intervalos regulares para discutir a expertise de Quality Assurance e seus desafios. Apesar do link da InfoQ estabelecer os líderes da "divisão" como um gerente tradicional, aqui na Resultados Digitais temos o líder como um membro de um time ágil, para que ele seja de fato praticante e participe da mesma realidade dos demais membros do Chapter. Sendo assim ele é capaz de sentir as "dores" dos demais membros do Chapter e é capaz de viver diariamente uma boa dose de "realidade" e liderar os esforços em resolver os déficits técnicos e priorizar tarefas de melhoria contínua para todo o time.
Como organizar meu Chapter
Quando comecei, fiquei em dúvida sobre quais atividades iniciais realizar para reunir o pessoal e trocar idéias. Era preciso que todos se conhecessem melhor e soubessem que podiam contar uns com os outros. Além disso, também precisávamos ter uma identidade como time, como unidade e isto era extremamente importante para a interação do grupo. Então, aproveitando alguns investimentos que a Resultados Digitais realizou no time de desenvolvimento do nosso produto, apliquei as ações no Chapter de QAs. Irei falar apenas sobre as ações iniciais que fizemos neste primeiro ano de Chapter.
1. Estabeleça uma missão/visão para o time
No início de formação de um time é normal os membros se reunirem e muitas vezes não ter um direcionamento para onde está indo o grupo. É necessário criar um senso de missão: para quê o time existe? Que problemas o time vai resolver? Qual é o propósito do Chapter de QAs? Depois de alinhadas as expectativas, fica muito mais fácil os membros do time se integrarem e se abrirem para discussões técnicas mais profundas. É necessário também identificar em que fase de formação o time se encontra, ou seja, se os relacionamentos entre os membros do time ainda estão em fase inicial/superficial ou o time está conseguindo confiar mais em cada membro e sabe da importância de cada um dentro do time. Aqui neste artigo Understanding the Stages of Team Formation, você pode entender melhor em que fase o seu time está para trabalhar melhor os relacionamentos.
2. Faça reuniões regulares
Além do planejamento das atividades individuais de cada um, existem algumas tarefas que precisam ser alinhadas entre os membros do Chapter, uma delas é relacionada ao alinhamento do processo de QA dentro dos times, bem como a discussão acerca das métricas de Qualidade. É importante que cada QA também traga as suas questões para serem discutidas com o grupo a fim de que possamos ajudar uns aos outros. Além de mediar as discussões, o papel do líder também é tomar algumas ações, caso surja um problema que tenha a necessidade de alinhar o processo ou a comunicação dentro do time. É importante também o grupo discutir qual é o papel do QA dentro do time, em quais atividades ele deve ser envolvido. Um exemplo disso é a questão de code review. Se o QA tiver este skill, ele pode revisar os testes unitários do time, apesar de não ser obrigatoriamente tarefa dele. Já os testes de aceitação deve ter como owner o QA, apesar de o time poder ajudar nesta tarefa caso necessário.
3. Acompanhe o desenvolvimento individual de cada um
Nós temos reuniões individuais que chamamos de one-on-ones, que são reuniões de cerca de 30 minutos do QA face-a-face com o líder. Desta forma o QA pode falar de suas aspirações e dificuldades e o líder pode lhe dar instruções diretas de como fazer, ajudar em alguma tarefa ou até mesmo acionar outra pessoa para auxiliar. Também nesta reunião são direcionadas ações que vão beneficiar a carreira do QA, o crescimento dele como profissional dentro e fora da empresa. Além disso, o líder também acompanha as ações que vão surgindo e se o liderado está cumprindo com todas as tarefas confiadas a ele. É importante o acompanhamento, porque dá um senso de responsabilidade e de parceria. Para acompanhar o desenvolvimento, você pode também traçar um plano de ação individual. O plano de ação é um conjunto de ações a curto (1 mês) e médio (3 meses) prazo que vão orientar a pessoa na direção do cumprimento dos seus objetivos a longo prazo (1 ano). Não é a empresa que define a direção que o profissional vai seguir, mas o profissional define em que direção pode seguir alinhado com os objetivos da empresa. Nesta fase o líder pode ajudar orientando o que estudar, como melhorar nos aspectos técnicos e como se preparar para as oportunidades que podem surgir.
4. Conheça seu time:
Conheça o skill técnico do seu time
É importante Identificar "gaps" técnicos. Faça uma entrevista simples onde cada membro responda algumas perguntas básicas sobre o próprio conhecimento. Esta é uma boa abordagem para identificar se existe um gap em comum de todos os membros do time e iniciar alguma ação para aumentar o nível de conhecimento do time.
Conheça o perfil comportamental do seu time
Uma das melhores formas de avaliar o perfil comportamental é aplicando o formulário do DISC que mapeia o time em 4 tipos de perfis: Dominância, Estabilidade, Influência e Conformidade. Você pode pesquisar alguma instituição que aplique o teste ou procurar em sites que possuam a avaliação de forma gratuita. É claro que neste último caso a avaliação será bem superficial, mas é um bom começo. As vantagens de aplicar este modelo de avaliação servem para identificar o que motiva o profissional e possíveis mudanças que poderia desmotivá-lo, assim fica um pouco mais fácil saber qual o perfil dominante da equipe e como tratar individualmente perfis que mais se diferem do restante da equipe.
5. Trace um plano de ação do time
O plano de ação se refere a qual direção deve-se tomar. Isto diz respeito em como o time vai se fortalecer entre si, como vai trocar conhecimento, como os membros vão se relacionar e motivar a comunidade de testes nas práticas realizadas na empresa. Uma prática interessante é usar SWOT para mapear quais as fortalezas, fraquezas, oportunidades e ameaças da área dentro da equipe de produto/engenharia.
6. Dê liberdade para ações colaborativas
Não tente "gerenciar" pessoas, dê missões a elas e marque uma data para o cumprimento de cada missão. Dê preferência para ações que vão ser realizadas em conjunto, como definir um objetivo de atingir um OKR, ou apenas melhorar um número. Exemplo: você pode separar as features do sistema e analisar a cobertura de testes de aceitação separando o número de cenários especificados versus o número de cenários automatizados. Assim, você consegue semanalmente melhorar o percentual de cobertura. Quando todos estão engajados a melhorar um número, você consegue ter uma sensação melhor de colaboração. É interessante também marcar um dia para trabalharem juntos em um projeto em uma sala, já que os membros do time não se relacionam de forma muito próxima no dia-a-dia.
7. Chame a galera para almoçar!
É importante manter um contato mais próximo com o pessoal do time de uma forma menos formal. Se divertir, rir junto e falar de coisas que não são relacionadas ao trabalho são pontos importantes para ter uma proximidade maior e saber a opinião pessoal do time em relação às "coisas da vida" e do "universo" (rs).
Manter um time que não trabalha no dia-a-dia junto é um constante desafio. As pessoas facilmente perdem os laços de confiança e muitas vezes não se sentem confortáveis para falar uns com os outros. Cabe a você, como Líder, trabalhar os relacionamentos e prover um ambiente de constante discussão e aprimoramento. Afinal de contas, é preciso se reunir e alinhar as tarefas dentro de cada time para poder evoluir como um todo.