Definição de Feito - O quê, por quê e como crescer um
Agile 101
Definição de Feito – O Que e Por Que e Como Criar Uma
Qual o Significado da Definição de Feito em Ágil?
Resolvendo o Problema: Definição de Feito vs. Critérios de Aceitação
-
A Definição de Feito se aplica a todo o seu trabalho. Os Critérios de Aceitação só se aplicam a um único item de seu backlog.
-
A Definição de Feito esclarece o que você faz como uma equipe. Os Critérios de Aceitação esclarecem o que o produto faz — sua funcionalidade.
-
A Definição de Feito pode conter critérios para aspectos “não-funcionais” e preocupações transversais. Os Critérios de Aceitação falam de aspectos funcionais de um único item de trabalho. Você apenas raramente encontrará aspectos não-funcionais neles.
Quais São os 5 Principais Benefícios de uma Boa Definição de Feito?
-
Transparência das responsabilidades
-
Compromisso Realista do Sprint
Com uma lista detalhada de exatamente o que você precisa fazer para alcançar o “Feito”, você está mais apto a avaliar o quanto você pode realisticamente suportar em um Sprint. Você se tornará mais confiável.
-
Redução do risco de retrabalho
-
Maior qualidade, menor esforço em todos os lugares
-
Predictibilidade e Ritmo Sustentável
Menos defeitos evitados significa que você pode criar valor com toda a equipe ao invés de ter que redirecionar alguns de vocês para resolver bugs. Você se tornará mais produtivo e previsível e começará a trabalhar a um ritmo sustentável constante.
Tudo isso ajuda a aumentar a confiança que uma equipe sente no fornecimento de software valioso e a aumentar a confiança que outras equipes e partes interessadas depositarão em uma equipe.
Mas não se deixe levar por isso ainda. Há armadilhas.
Como Não Se Beneficiar de uma Definição de Feito
Como com tudo o que vale a pena ter, você só obtém os benefícios se evitar os erros comuns.
-
Fora da vista, fora da mente
-
Muito, cedo demais
Como Criar e Adotar uma Definição de Feito com Sucesso
Como Criar e Desenvolver uma Definição de Feito
Bem, vamos quebrar em partes:
-
Mantenha sempre à vista sua recém definida Definição de Feito à vista completa o tempo todo. Pendure-a em cada parede, cole-a na parte interna das portas do banheiro, pendure-a no balcão do café, etc. Você quer que seja difícil de não ver e de esquecer.
-
Consulte seu DoD com frequência durante as reuniões. Faça dele um tópico natural para discutir quando estiver discutindo sobre o progresso, revisando o trabalho e planejando o que virá em seguida.
-
Faça de sua definição inicial de Feito curta e doce, e fácil de encontrar. Você quer vitórias fáceis no início. Mesmo com um simples “Boa!”, celebrando cada uma delas é crucial para estabelecer novos hábitos.
-
Só eleve o nível quando você estiver cumprindo seu DoD consistentemente e reacenda as comemorações (se você as deixar escapar) quando o fizer.
Não é muito complicado, certo?
Mas, aposto que você ainda tem algumas perguntas.
Como, quem escreve ou define a Definição de Feito, ou quando é mais apropriado para uma equipe de desenvolvimento mudar a definição de feito, e o que colocar nela.
Quem Escreve ou Define a Definição de Feito
O Guia do Scrum diz:
Se “Feito” para um incremento não for uma convenção da organização de desenvolvimento, a Equipe de Desenvolvimento da Equipe Scrum deve definir uma definição de “Feito” apropriada para o produto. Se houver diversas equipes Scrum trabalhando no lançamento do sistema ou produto, as equipes de desenvolvimento em todas as equipes Scrum devem definir mutuamente a definição de “Feito”.
E também:
A Equipe Scrum consiste de um Product Owner (PO), a Equipe de Desenvolvimento e um Scrum Master.
A partir daí, é bastante claro que uma Equipe de Desenvolvimento decide seu DoD. Não o Product Owner, não o Scrum Master, não um gerente de projeto, não o gerente de desenvolvimento, mas sim a equipe de desenvolvimento.
Você quer definir seu DoD antes de trabalhar em um produto como uma equipe (ou você corre o risco de não trabalhar como equipe). Mas quando você atualiza o DoD?
Quando Mudar o que Está em Uma Definição de Feito
Exemplo do Que Está em Uma Boa Definição de Feito para Uma Equipe de Desenvolvimento
O Básico do Básico
-
Implementação avaliada por um segundo par de olhos? Revisado por pares ou desenvolvido em pair programming.
-
Todos os critérios de aceitação foram cumpridos?
-
Código integrado (merged)?
-
Nenhum defeito conhecido?
-
Testes com macacos executados?
-
Guia do Usuário (documentação do cliente) atualizado ou input fornecido aos outros?
Qualidade de Código
-
Livre de erros de compilação, alerta e indícios?
-
Padrão de programação seguido?
-
Métricas de análise estática no alvo ou acima dele?
-
Dependências minimizadas?
-
Código refatorado para atender aos princípios SOLID e outros princípios de design de código?
Staging
-
Livre de erros de construção integrada, alertas e indícios?
-
Smoke test bem-sucedido?
-
Livre de erros de criação de pacotes, alertas e indícios?
-
Pacote implantado para o(s) ambiente(s) de teste?
Testes de Regressão Funcionais
-
Cada item nos Critérios de Aceitação está coberto por pelo menos um teste de aceitação?
-
Testes unitários bem-sucedidos?
-
Testes de integração bem-sucedidos?
-
Testes funcionais ou de sistema bem-sucedidos?
-
Testes de aceitação bem-sucedidos?
-
Testes executados em todas as plataformas suportadas?
Para todos testes automatizados:
-
Cobertura sobre ou acima da norma? (Por exemplo, 85%)
-
Todas as novas unidades / integrações / funcionalidades cobertas por testes?
-
Golden Master atualizado com cenários para novas e atualizadas funcionalidades?
-
Sem diferenças ou apenas diferenças previstas quando se comparam os resultados do teste Golden Master com os dados do código de produção atual e
A vida é boa quando suas equipes Agile estão sincronizadas!
Contate-Nos hoje para uma demonstração personalizada do SwiftEnterprise! Ou inscreva-se para atualizações abaixo.
