Onde o time está e onde quer chegar? não é uma tarefa simples de fazer, pois esbarra na mudança da cultura dos profissionais da área. O estudo sobre o uso do multi-skill e não single-skill, reduz os passos e deveria ser uma prática constante, com isso a equipe de teste utiliza os atributos qualitativos de funcionalidade, confiabilidade, usabilidade, eficiência, manutenibilidade e portabilidade, o planejamento e analise de uma equipe ágil de teste constrói e verifica a acurácia dos testes.
Nas abordagens tradicionais a atividade de teste é realizada ao fim da versão, onde o analista de teste estuda os requisitos a partir das especificações. Ao identificar um problema na fase de teste, a demanda retorna para todo o fluxo e impacta no cumprimento do prazo de entrega. O custo do projeto torna-se elevado, pois os ciclos de desenvolvimento normalmente são longos e o risco de se desenvolver um produto que o cliente não está esperando é alto. A atividade de teste no contexto ágil está focada no teste do negócio. Um de seus objetivos é realizar uma análise crítica do produto para tentar descobrir pontos de melhoria para agregar ao produto final. Gosto de usar o GUT, porem existem outras ferramentas também.
Podemos destacar que o Analista ou Engenheiro de testes possui um papel mais dinâmico e crítico dentro do time de desenvolvimento, uma vez que ele tem a visão do todo e poderá contribui ativamente na qualidade do produto a ser entregue, também evita desperdício nos projetos e amplia o conhecimento de todo o time, no entanto:
Resultado do trabalho sem usar um processo:
- Traz estresse para toda a equipe.
- Existe uma grande quantidade de retrabalho, as pessoas acabam ficando após horário de trabalho constantemente.
- Falta de documentação adequada, fica só no boca-a-boca, os desenvolvedores (toda a equipe) entendem que era A, mas o cliente queria B.
- Quando um colaborador deixa a equipe por determinadas situações, até fazer a introdução de uma outra pessoa o projeto certamente irá atrasar.
- Single-skill reduz o andamento do projeto e do time, o colaborador acaba acumulando mais funções.
- Pouca ou quase nenhuma reunião gera transtorno e aumenta o esforço repetitivo.
Solução simples para projetos complexos: Criar equipes de projeto ágil. Essas equipes conseguem superar o gap entre área de negócios e TI, reduz volume de trabalho, acaba com o retrabalho, melhora a comunicação e o desempenho da equipe. Depois comparar o desempenho do projeto com o método tradicional.
- O processo complicado gostaria de ser simples, precisa mapear as datas para cada fase de trabalho (time box), ou seja, é um intervalo de tempo, tem data e hora para acabar, se falhar, não se estende, é dado outro time box. Isso é fácil de fazer com boas práticas.
- O processo complexo precisa de práticas emergentes e por último, o processo caótico, as práticas para aplicar são respostas rápidas.
Tempo, escopo e custo não são suficientes, precisa da qualidade. Através do processo e o envolvimento de todo o time garante a comunicação clara e eficiente para ambos os públicos (cliente e equipe ágil).
Sucesso em projeto usando um processo:
- Bom planejamento
- União das equipes
- Pessoas vem antes de processos
- Comunicação adequada para cada membro da equipe
- Informações acessíveis
- Motivação da equipe
- Superar expectativas
- Divisão de risco
- Desempenho maximizado
- Reduz o desperdício
- A equipe torna-se mais efetiva e responde a mudança facilmente
- Continua iteração sobre problemas difíceis
- Melhorias continua
Plano e planejamento: O plano não funciona, o planejamento sim. Planejar uma atividade é antever os passos necessários para concretizá-la e garantir o controle de suas variáveis, como: tempo, prazo e custo. Acabando com o mal da procrastinação.
Oscar Correia, engenheiro de Testes no FIT – Flextronics, analista de testes voltadas aos Projetos Openstack, RFID e Recycling.