participação do time de teste em projetos scrum

42
Papel do “Time de Teste” em Projetos SCRUM Gustavo Quezada

Upload: gustavo-quezada

Post on 12-Jan-2015

8.287 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Papel do “Time de Teste” em Projetos SCRUM

Gustavo Quezada

AGENDA

• Introdução e Visão Geral• SCRUM – Definição de Pronto• SCRUM – Visão do Produto• SCRUM – Product Backlog• SCRUM – Product Backlog Pre-Game• SCRUM – Estimativa do Product Backlog• SCRUM – Planning Meeting I e II• SCRUM – Execução da Sprint• SCRUM – Reunião Diária• SCRUM – Reunião de Revisão• SCRUM – Reunião de Retrospectiva• SCRUM – Não é a Bala de Prata

Liderança “Não Ágil”“Yes, agile is about micromanagment, but it’s about the team micromanaging themselves and for their own benefit.” – Mike Cohn

Desenvolvimento Ágil - SCRUM

Processos: Reunião de Planejamento, Retrospectiva, Reunião Diária, Planejamento de Release e Sprints, etc.Ferramentas: Quadro Kanban, Post-it, User Stories, BurnDown, etc.Pessoas: Product Owner, Scrum Master, Time, etc.

Cultura: Time multi-disciplinar, Auto-gerenciamento, Valores, Envolvimento do cliente, Entrega freqüente, Liderança-colaboração, Respeito, etc.

Vale lembrar que o Rational Unified Process na versão 7.5 está ainda mais Ágil e de forma ainda mais clara. O fundamento do RUP nessa versão se chama “Agile Core”

Papéis no Desenvolvimento Não Ágil x SCRUMQuem faz a diferença é o Time

O Analista de Teste faz parte do Time Scrum, nunca se esqueça disso

Together Everyone Achieves More

Surpresa!!!! O Analista de Teste é o “Time de Teste”Agora é só trocar “Time de Teste” por “Analista de Teste”

Papel do Analista de Teste em Projetos SCRUM

SCRUM – Visão Geral

SCRUM – Definição de Pronto

• O Time sabe dizer se um determinado Item está Pronto? Pronto = Codificação concluída? Pronto = Codificação + Teste concluído? Pronto = Codificação + Teste + Integração concluída? Pronto = Codificação + Teste + Integração + Regressão concluída? Pronto = Codificação + Teste + Integração + Regressão + Instalação concluída?

O importante é evoluir o conceito de Pronto

SCRUM – Definição de Pronto

• Todas as estórias devem ser tratadas da mesma forma? Formulário de Cadastro de Cliente

Neste caso o conceito de pronto pode ser Codificação + Teste concluído

Manual de Operações Neste caso o conceito de pronto pode ser o aceite do documento pela equipe de operações

SCRUM – Definição de Pronto

• Você se confunde freqüentemente quanto à definição de “pronto”? Não seria bom para o time ter uma definição de “pronto” para cada estória?

• Desenvolvimento está pronto! Suporte, Operação e Produção estão prontos?

SCRUM – Visão do Produto

Processo de Levantamento de Requisitos e Formalização do Escopo

SCRUM – Visão do Produto

• Analista de Teste participa nesta fase (Chapéu de Líder de Teste)

Colabora nas reuniões com o cliente para levantamento dos requisitos Participa de sessões de Brainstorm Foca na visão da qualidade do produto Revisa a abordagem de teste Identifica as habilidades de teste necessárias para o projeto

Analista de Teste assume vários papéis, por exemplo: Líder, Arquiteto e Automatizador de Teste O bom Analista de Teste é aquele que tem várias habilidades, incluindo conhecimento de programação Não devemos separar desenvolvimento de teste

SCRUM – Product BackLog

O PO cria uma lista inicial de necessidades que precisam ser produzidas para que a Visão do projeto seja bem sucedida; Esta lista de necessidades é chamada de Product Backlog. O ScrumMaster deve auxiliar o PO na elaboração desta lista.

Processo de Elaboração das User Stories

SCRUM – Product BackLog

O PO cria uma lista inicial de necessidades que precisam ser produzidas para que a Visão do projeto seja bem sucedida; Esta lista de necessidades é chamada de Product Backlog. O ScrumMaster deve auxiliar o PO na elaboração desta lista.

• Analista de Teste participa nesta fase (Chapéu de Líder de Teste)

User Stories devem ser INVEST Independente: devem ser independentes, sempre que possível Negociável: devem ser negociáveis Valiosa: devem ser valiosas para o cliente e usuário agregando valor ao negócio Estimável: devem ser passíveis de serem estimadas Small (pequena): não devem ser pequenas demais, nem grande demais Testável: devem ser claras o suficiente para serem testadas

SCRUM – Product BackLog – Pré-Game

Processo de Pré Game

Não seria uma boa prática fazer um Pré Game antes de estimar o Product Backlog?

SCRUM – Product BackLog – Pré-Game

• Analsita de Teste participa nesta fase (Chapéu de Líder ou Arquiteto de Teste)

Participa de discussões de arquitetura Participa das definições de tecnologias utilizadas Identifica as necessidades do ambiente de teste Identifica restrições tecnológicas Identifica ferramentas de teste necessárias para auxiliar na execução do projeto Utiliza mapa mental (Mind Map) para auxiliar no entendimento das funcionalidades/requisitos Identifica os “melhores” analistas de teste para o projeto em questão Identifica a necessidade de suporte do time de suporte/operações

SCRUM – Estimativa do Product BackLog

• Estimar é uma atividade do Time. Isso inclui o Analista de Teste, afinal, ele faz parte do Time.• O Scrum Master deve mediar o processo• O Product Owner deve estar disponível para esclarecer eventuais dúvidas

SCRUM – Estimativa do Product BackLog

Processo de Estimativa de Itens do Product Backlog

SCRUM – Estimativa do Product BackLog

• Analista de Teste participa nesta fase (Chapéu de Líder ou Arquiteto de Teste)

Utiliza mapa mental (Mind Map) Utiliza matriz de teste por funcionalidade

SCRUM – Estimativa do Product BackLog

• Mapa Mental

SCRUM – Estimativa do Product BackLog

• Matriz de Teste por Funcionalidade

SCRUM – Planning Meeting – Parte 1

Processo de Planejamento I

• Analista de Teste participa nesta fase

Ajuda a garantir que os itens selecionados estão de acordo com a meta do projeto e teste Analisa indicadores de desempenho Revisa a estimativa, caso necessário Gerencia os riscos encontrados Tira dúvidas com o Product Owner Define quais serão os tipos de teste (Sistema, Aceitação, Regressão, Etc.) necessários

SCRUM – Planning Meeting – Parte 1

SCRUM – Planning Meeting – Parte 2

Processo de Planejamento II

SCRUM – Planning Meeting – Parte 2

• Analista de Teste participa nesta faseDefine o nível de regressão de teste de acordo com a priorização dos itens/tarefas do Sprint Backlog Atualiza a matriz de teste por funcionalidade Atualiza o mapa mental

SCRUM – Planning Meeting – Parte 2

• Tendo as atividades da Sprint Backlog planejadas, prepara-se o quadro de acompanhamento

SCRUM – Planning Meeting – Parte 2

• Altere o quadro com o planejamento da Sprint de acordo com a sua realidade e necessidade

SCRUM – Execução da Sprint

SCRUM – Execução da Sprint

• Q1 – São os testes que focam na arquitetura. A responsabilidade é dos desenvolvedores e os analistas de teste auxiliam na elaboração dos testes unitários automáticos• Q2 – São os testes que focam no negócio. A responsabilidade é dos analistas de teste em conjunto com outros envolvidos no projeto(clientes, usuários, etc.). Ajuda no entendimento das funcionalidades• Q3 – São os testes que focam no negócio e encontrar defeitos. A responsabilidade é dos analistas de teste• Q4 – São os testes que focam na arquitetura, estrutura do software. A responsabilidade é dos analistas de teste

SCRUM – Execução da Sprint

• Analista de Teste Monta e configura o ambiente e infra-estrutura de teste Executa testes Automatiza casos e tarefas de teste Auxilia os desenvolvedores na elaboração dos testes unitários automáticos Evidencia os resultados Acompanha os defeitos encontrados Desenvolve novas habilidades O que o Analista de Teste faz quando não há nada para testar?

Antes de fazer essa pergunta, pense se realmente o Analista de Teste fez tudo que ele precisa fazer. Algumas vezes, pensamos que está tudo “pronto” para iniciar a execução e na realidade não está.

O Analista de Teste é “o cara que aprova”. Nada é considerado “pronto” em um Sprint até que ele diga que está De olho na META da Sprint

• Gráfico Burndown: acompanhar o progresso da Sprint• Gráfico S-Curve: acompanhar o progresso da execução de teste da Sprint

SCRUM – Execução da Sprint

SCRUM – Execução da Sprint

Uma ferramenta de testes automatizados é a solução de todos os problemas de qualidade.

Testabili-oquê?Você quer dizer que para criar testes automatizados será necessário modificar o sistema?

Testes automatizados é moleza. Basta gravar a digitação e os cliques do mouse e depois executar o script.

GERENTE SEM-NOÇÃO

DESENVOLVEDOR ALO

PRADO

ANALISTA DE TESTE FORA DO

CONTEXTO

SCRUM – Execução da Sprint

Resultado do TesteResultado do TesteResultado do TesteResultado do Teste

• Lembrete 1: Automação de testes não exclui o fator humano• Lembrete 2: Automação de testes não se limita apenas a testes automatizados

• Geração da evidências de teste, pode ser automatizada?

SCRUM – Execução da SprintIdealmente, no mundo perfeito do Scrum, você NÃO precisa de testes de aceitação, uma vez que as releases geradas ao final de cada Sprint já estão prontas para a produção

Inicie a implementação de novas funcionalidades, mas priorize a resolução dos defeitos antigos em produção

Não inicie a construção de coisas novas antes das coisas antigas estarem em produção. Será que isso funciona?

SCRUM – Reunião Diária

SCRUM – Reunião Diária

• Analista de Teste Relatório de teste atualizado Evidência de teste atualizada Gráfico S-Curve atualizado Lista de defeitos atualizada Lista de impedimentos atualizada Quadro Kanban atualizado

• Reunião diária que dura mais do que 15 minutos vira Festa Rave

SCRUM – Reunião de Revisão

SCRUM – Reunião de Revisão

• Analista de Teste Será que o Analista de Teste não poderia organizar a apresentação do Sprint? Será que o Analista de Teste não poderia mostrar as funcionalidades do sistema?

SCRUM – Reunião de Retrospectiva

SCRUM – Reunião de Retrospectiva

• E o Analista de Teste continua lá... Você percebeu que o Analista de Teste pode, ou melhor, deve participar de todas as fases? Isso é válido para o TIME do Scrum. O Time deve participar. Não existe time de teste ou desenvolvimento no Scrum, existe Time do Scrum.

SCRUM – Reunião de Retrospectiva• Alguns exemplos...• O que foi bom?

Integração do time; Apoio de quem está desenvolvendo código durante a execução dos testes; Apoio de quem está testando código durante a codificação; Participação mais direta e ativa do profissional que está testando o software; Profissionais que estão desenvolvendo código interessados em aprender sobre teste; Profissionais que estão testando código interessados em aprender sobre programação; Agilidade, interação com testes; Acompanhamento de defeitos pelo profissional que está testando o software; Analistas de Teste deixaram de ser reativos para serem pró-ativos Pizza Marcante; Lanche de Picanha (sabor "novo").

• O que pode ser melhorado? Servidor de testes ter mais performance (CPU , Memória); Padronizar o ambiente de desenvolvimento para estar alinhado com o ambiente de teste. Interessante isso, não? Geralmente é o contrário que acontece; Conflitos entre bugs/correções e desenvolvimento de novas funcionalidades; Despriorização de correção de bugs Geração de evidências de teste muito trabalhosa (Atividade que pode ser automatizada).

SCRUM – Não é a bala de prata

Não olhe somente para os número, tente analisar e entendê-los

Aprenda e melhore com os erros. Aprender com os acertos é fácil

Automatize e reduza o envolvimento humano em atividades manuais repetitivas

Entregue valor para o cliente, não entregue sonhos

FAÇA A RODA GIRAR

Utilize ferramentas existentes e tente adaptá-las a sua realidade

Idéias! Sempre bem-vidas Priorize e corrija o que for necessário

MUITO OBRIGADO !

Gustavo Quezada

E-mail: [email protected]: http://gustavoquezada.blogspot.com/