Uma grande questão no desenvolvimento de softwate é: qual é a taxa apropriada de testadores para desenvolvedores? Uma recente discussão na lista Scrum Development perguntou como a metodologia ágil impacta nesta taxa. A resposta para primeira questão parece ser 'isso depende'. A resposta para segunda questão, de acordo com Elisabeth Hendrickson, é que times times ágeis podem executar mais testes, com menos testadores.
Qual é a taxa apropriada de testadores para desenvolvedores?
Com o passar dos anos, está sendo muito interessante descobrir a ‘correta’ taxa de testadores para desenvolvedores. A Microsoft emprega a taxa de 1-para-1 de testadores para desenvolvedores, de acordo com o livro 'Microsoft Secrets (Os Segredos da Microsoft)'. Em uma sondagem informal com os participantes de uma conferência, Randall Rice concluiu que a taxa mais comum era 1 testador para 3 desenvolvedores. Um artigo publicado por Cem Kaner, Elisabeth Hendrickson, e Jennifer Smith-Brock concluiu que taxas como essa são surpreendentemente insignificantes. A responsabilidade e as tarefas atribuídas para cada um desses papéis variam muito de projeto para projeto. Por exemplo, o controlador-chefe é um desenvolvedor ou um testador?
Além dos problemas de contabilidade, o grupo encontrou que as variações em circunstâncias de projeto fazem comparações entre projetos menos relevantes. Tais fatores incluem:
- A confiança inicial do projeto
- A extensão das configurações que precisam ser testadas
- A testabilidade do software
- A disponibilidade de ferramentas
- A experiência dos testadores e desenvolvedores
- Os padrões de qualidade que precisam ser atingidos
Johanna Rothman chegou a uma conclusão similar no artigo: It Depends: Deciding on the Correct Ratio of Developers to Testers. Randall Rice, em seu artigo The Elusive Tester to Developer Ratio, também encontrou taxas da indústria de valor duvidável:
Vamos deixar bem entendido que eu não desconsidero por completo o uso de taxas no planejamento caso elas sejam suas próprias taxas, baseadas na sua experiência, na sua tecnologia e na sua estrutura organizacional. O que eu vejo como risco é quando uma organização usa as taxas de outras organizações e as aplica nos projetos sem considerar as diferenças em tecnologia, maturidade de processo, e níveis habilidade.
Como a Metodologia Ágil Impacta na Taxa de Testadores para Desenvolvedores?
Em um recente webcast, tanto Elisabeth Hendrickson como Lisa Crispin descreveram ambientes ágeis como 'nirvana dos testes'. falou sobre ambientes tradicionais de trabalho onde o software é entregue pelo time de desenvolvimento ao time de qualidade (QA) muitas vezes D.O.A. (dead on arrival, morto na chegada), instável ou falho no início. Isso nunca ocorre no seu trabalho com times ágeis. Em times ágeis, testadores tem a oportunidade de agregar muito mais valor por realizar testes exploratórios, criando testes automatizados e trabalhando mais próximos dos donos do produto para refinar os requerimentos e os critérios de aceite.
Elisabeth tem visto times ágeis funcionando efetivamente com significante baixas taxas de testadores para desenvolvedores. Entretanto, isso não indica que testes são menos importantes. Na experiência dela, times ágeis precisam de habilidades com testes no mínimo como os times tradicionais necessitam. A diferença é que nessas habilidades e na responsabilidade da garantia de qualidade não está com algumas poucas pessoas chamadas de testadores. O time inteiro está trabalhando para construir qualidade no produto, ao contrario de um time de qualidade (Q.A.) testar a qualidade dentro no produto.
Como seu time gerencia responsabilidades de testes? Deixe um comentário e compartilhe sua experiência.