Upload
gustavo-quezada
View
8.287
Download
2
Embed Size (px)
DESCRIPTION
Citation preview
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 – 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• 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