Consistência da Qualidade: Estabelecer uma definição de concluído partilhada evita confusões e melhora a qualidade do trabalho em toda a equipa.
Previsões Melhoradas: Uma definição clara ajuda a fazer previsões mais precisas da velocidade e a melhorar o planeamento do projeto.
Armadilhas Comuns: Evite tornar a definição demasiado detalhada ou não a fazer cumprir, uma vez que ambas as situações podem causar problemas.
Passos Práticos: O artigo apresenta passos concretos para criar uma definição de concluído eficaz para equipas ágeis.
A definição de concluído (DoD) é o padrão partilhado que determina quando o trabalho está verdadeiramente concluído. Ajuda a evitar lacunas de qualidade, retrabalho e surpresas mesmo no final do sprint. Já vi equipas de desenvolvimento perderem a confiança, falharem prazos e criarem conflitos desnecessários porque cada pessoa tinha uma interpretação diferente de "concluído".
Neste guia, ficará a saber como criar uma definição de concluído que alinhe a sua equipa ágil, melhore a previsibilidade e reforce a qualidade, juntamente com exemplos práticos, modelos e erros comuns a evitar.
O que é a definição de concluído?
A definição de concluído é um conjunto formal e partilhado de critérios que um item do backlog do produto ou incremento deve cumprir antes de a equipa o considerar concluído e potencialmente pronto para lançamento. Pense nela como o contrato de qualidade que a sua equipa concorda em cumprir em cada unidade de trabalho, independentemente da sua dimensão ou complexidade.
Eis as principais características de uma definição de concluído eficaz:
- Transparente: Todas as pessoas da equipa e as principais partes interessadas podem vê-la, lê-la e consultá-la a qualquer momento.
- Mensurável: Cada critério é binário. O trabalho cumpre-o ou não cumpre, mas os limiares escolhidos para os critérios quantitativos merecem uma reflexão cuidadosa. Um objetivo de 80% de cobertura de código é binário na sua aplicação, mas a escolha de 80% em vez de 70% ou 90% é uma decisão ponderada que deve tomar deliberadamente
- Compreendida universalmente: Cada membro da equipa Scrum deve conseguir interpretar cada item da mesma forma.
- Aplicada de forma consistente: A mesma lista de verificação deve ser aplicada a cada entrega e item do backlog do produto.
- Exequível num sprint: Os critérios devem ser suficientemente realistas para que a equipa os consiga cumprir durante um único sprint ou iteração.
Nos projetos de desenvolvimento de software, os programadores são normalmente responsáveis pela definição de concluído, porque são quem tem a responsabilidade de a cumprir. Ainda assim, o proprietário do produto e o mestre de Scrum devem contribuir.
Se a sua organização tiver os seus próprios padrões de definição de concluído, todas as equipas Scrum devem segui-los como referência mínima. As equipas podem sempre acrescentar critérios mais rigorosos, mas não podem ficar abaixo do mínimo estabelecido pela organização.
Porque é importante a definição de concluído
Uma definição clara de concluído é importante porque impede que trabalho parcialmente concluído passe despercebido e fornece um padrão de qualidade partilhado.
Eis alguns motivos adicionais pelos quais uma definição de concluído partilhada é importante:
- Funciona como um ponto de controlo de qualidade integrado: Cada item deve cumprir o mesmo padrão antes de poder ser concluído. Isto impede que trabalho inacabado entre sorrateiramente no incremento do produto e se acumule como dívida técnica.
- Elimina a ambiguidade: Quando a equipa partilha uma única definição, não acaba em situações em que definições contraditórias afetam a velocidade ou a qualidade do trabalho. Uma definição de concluído partilhada significa menos conflitos, menos surpresas e demonstrações mais claras.
- Melhora as previsões: Quando concluído significa a mesma coisa em cada sprint, pode prever a velocidade com confiança e planear lançamentos sem inflacionar as estimativas para ter em conta o retrabalho.
- Constrói a confiança das partes interessadas: Quando os proprietários do produto, a liderança e as partes interessadas externas conseguem ver que a sua equipa aplica um padrão de qualidade claro, confiam nos seus resultados.
- Evita o caos na integração: Se estiver a trabalhar de uma forma que exige que a equipa integre o seu trabalho num incremento partilhado, uma compreensão partilhada da definição de concluído é a base para incrementos consistentes e prontos para lançamento.
Como criar uma definição de concluído
Eis os principais passos do processo de criação de uma definição de concluído.
- Audite o seu fluxo de trabalho atual: Mapeie cada etapa pela qual o seu trabalho já passa antes de chegar à produção. Fale com programadores, testadores, designers e qualquer outra pessoa que intervenha no trabalho. Irá descobrir etapas informais de qualidade que devem ser formalizadas.
- Identifique os critérios de qualidade inegociáveis: Decida quais atividades têm de ocorrer em cada trabalho. Estas incluem normalmente a revisão de código, os testes automatizados, as atualizações da documentação e as análises de segurança. Seja honesto relativamente ao que está atualmente a ignorar.
- Elabore a lista de verificação de forma colaborativa: Reúna toda a equipa e discutam o assunto utilizando um quadro branco ou um documento partilhado onde todos possam adicionar, questionar e aperfeiçoar itens em tempo real. Uma definição de concluído adotada por consenso resiste muito melhor sob pressão do que uma que tenha sido aprovada apesar das objeções.
- Valide-a face às normas da organização: Compare o seu rascunho com quaisquer políticas de qualidade aplicáveis a toda a empresa, requisitos regulamentares ou normas do setor que o seu produto tenha de cumprir. Se a sua organização já tiver uma definição de concluído de base, comece por aí e desenvolva-a.
- Torne-a visível: Publique a definição no local onde a sua equipa trabalha todos os dias. Isso pode significar um cartaz na parede, uma mensagem afixada no Slack ou um painel na sua ferramenta de gestão de projetos.
- Comprometa-se a aplicá-la: Uma definição de concluído que é substituída quando os prazos apertam é pior do que não ter nenhuma, porque cria uma falsa sensação de qualidade.
Exemplos de definição de concluído
Eis alguns exemplos de definições de concluído para diferentes tipos de projetos:
Definição de concluído para projetos de desenvolvimento de software
Os projetos de software enfrentam uma grande variedade de riscos de qualidade: erros, vulnerabilidades de segurança, regressões de desempenho e falhas de integração. A definição de concluído para uma equipa de software tem de abranger todo o percurso, desde o código até um estado pronto para lançamento.
Poderia ser assim:
- Todo o código escrito e revisto por pares por, pelo menos, outro programador
- Testes unitários aprovados com o limiar de cobertura acordado
- Testes de integração aprovados no pipeline de CI/CD
- Nenhum erro aberto com gravidade crítica ou elevada
- Documentação técnica atualizada para refletir as alterações
- Código integrado no ramo principal
- O proprietário do produto reviu e aceitou o trabalho
- Referências de desempenho cumpridas de acordo com os limiares acordados
Definição de concluído para projetos de marketing
O trabalho de marketing inclui frequentemente dimensões de conformidade, marca e medição que diferem das do software.
Eis como poderia ser a definição de concluído para um projeto de marketing:
- Conteúdo revisto e aprovado pela equipa jurídica
- Lista de verificação de SEO concluída, incluindo meta descrições, texto alternativo e ligações internas
- Todos os recursos carregados no CMS e formatados corretamente
- Acompanhamento analítico configurado e verificado no ambiente de preparação
- Texto final revisto por um segundo membro da equipa
- Lista de verificação do lançamento da campanha aprovada pelo responsável da equipa
Definição de concluído para projetos de design
As equipas de design precisam que a sua definição de concluído faça a ligação entre a intenção criativa e a transferência técnica. Sem uma, os designs chegam ao desenvolvimento incompletos, com especificações em falta, comportamento responsivo não validado ou lacunas de acessibilidade que são descobertas demasiado tarde.
Eis um exemplo de definição de concluído para um projeto de design:
- Design revisto face às normas de acessibilidade de acordo com a WCAG 2.2
- Ficheiro de transferência preparado na ferramenta acordada, com todas as especificações, recursos e anotações
- Aprovação dos intervenientes recebida e documentada
- Componentes do sistema de design atualizados caso tenham sido introduzidos novos padrões
- Comportamento responsivo validado nos pontos de quebra acordados
Definição de concluído vs. critérios de aceitação
A definição de concluído é a norma de qualidade ao nível da equipa, enquanto os critérios de aceitação são requisitos funcionais ao nível da funcionalidade.
Pense na definição de concluído como a base de referência que se aplica universalmente, e nos critérios de aceitação como algo único para cada item do backlog do sprint ou do produto. Um item do backlog do produto está concluído quando cumpre tanto os seus critérios de aceitação como a definição de concluído da equipa.
| Aspeto | Definição de concluído | Critérios de aceitação |
|---|---|---|
| Âmbito | Aplica-se a todos os itens do backlog do produto e a todos os incrementos | Específico de uma história de utilizador individual ou de um item do backlog do produto |
| Responsabilidade | Da responsabilidade dos programadores, com contributos de toda a equipa Scrum | Redigidos pelo responsável pelo produto ou em conjunto com ele |
| Especificidade | Padrões gerais de qualidade para todo o trabalho | Requisitos funcionais detalhados para uma parte do trabalho |
| Frequência de alteração | Raramente é alterada; atualizada durante as retrospetivas do sprint | Altera-se com cada nova história de utilizador |
| Momento de aplicação | Verificada antes de qualquer item ser marcado como concluído | Verificados durante a revisão da história ou os testes de aceitação |
Erros e dificuldades comuns
Eis alguns erros comuns a evitar ao criar definições de concluído:
- Ignorar itens para avançar mais depressa: As equipas sob pressão devido a prazos tendem a eliminar critérios como a revisão de segurança, os testes de acessibilidade ou a documentação. Isto cria dívida técnica oculta, que mais tarde se manifesta sob a forma de erros, retrabalho ou problemas de conformidade.
- Tornar a lista de verificação demasiado minuciosa: Uma definição de concluído excessivamente detalhada transforma-se numa tarefa burocrática. Se a sua lista de verificação tiver 30 itens e os programadores passarem mais tempo a assinalar caixas do que a criar software, foi longe demais. Seja suficientemente específico para ser relevante, mas suficientemente geral para continuar a ser prático.
- Alterar a definição de concluído para cada história: A consistência é precisamente o objetivo da definição de concluído. As condições específicas da funcionalidade pertencem aos critérios de aceitação (como os critérios de aceitação dado-quando-então), não à definição de concluído.
- Nunca a rever: Uma definição de concluído deve evoluir à medida que as suas práticas amadurecem, as suas ferramentas mudam ou o seu produto cresce. Sugiro que a reveja durante as retrospetivas pelo menos uma vez por trimestre e que a ajuste quando a equipa identificar lacunas ou dificuldades.
- Não a fazer cumprir: Uma definição que é dispensada quando alguém importante o solicita é inútil. A função do Scrum Master é proteger a definição, mesmo quando um interveniente quer lançar algo que não cumpre o nível exigido. Se os critérios forem frequentemente ignorados, a equipa perde a confiança no padrão e deixa de o levar a sério.
- Confundir «concluído» com implementado: A definição de concluído determina se um incremento está pronto para ser lançado, não se já foi lançado. Um item do backlog do produto pode estar concluído sem ter sido implementado. Não acrescente «implementado em produção» à sua definição de concluído, a menos que a sua equipa seja verdadeiramente responsável por todo o processo de lançamento.
- Não fazer referência a ela: Muitas equipas têm tecnicamente uma definição de concluído, mas, se ninguém lhe tiver prestado atenção desde que foi criada há seis meses, ela não está a funcionar como um padrão de qualidade.
O que se segue?
Desenvolva os seus processos ágeis e formas de trabalhar com ferramentas práticas, modelos e conhecimentos especializados através de uma subscrição gratuita do DPM, e fortaleça os sistemas que ajudam as equipas a fornecer trabalho de qualidade de forma consistente.
