O processo de refinamento de atividades consiste em revisar, esclarecer e preparar os itens que serão desenvolvidos. Em outras palavras esse é o momento que a equipe entende melhor sobre a demanda, detalha com maior precisão, estima e define a ordem de prioridade. Este processo é importante pois, com o entendimento compartilhado entre as partes, o risco de serem implementadas funcionalidades incorretas ou incompletas é mitigado, evitando desperdício de esforço e retrabalhos, resultando em entregas de maior qualidade, dentro do prazo e custo esperados e gerando um produto de maior valor.
Análise e entendimento da demanda
A primeira etapa do ciclo de refinamento é a análise. Nesse momento, a demanda é apresentada para o time, seja através de um documento de requisitos, reunião com cliente, protótipo no figma ou algum card criado no backlog.
Antes de iniciar o refinamento é necessário alinhar com a gestão o tempo necessário para realizar um refinamento completo, especialmente em casos que os insumos fornecidos pelo cliente não possuem um detalhamento muito aprofundado.
Durante esse processo, o foco do time deve ser o esclarecimento do que está sendo solicitado e para isso podemos seguir alguns passos:
Discussão com o time: A equipe realiza uma análise da demanda para garantir que todos compreendam o que está sendo solicitado. É importante que alguém com conhecimento detalhado apresente o fluxo da tarefa e esclareça regras de negócios e aspectos técnicos. A participação de todos é incentivada, pois qualquer dúvida pode ser relevante. Caso a tarefa dependa de alguém ausente, o trabalho não deve avançar até obter mais informações.
Levantamento de dúvidas: Durante a análise da demanda, dúvidas devem ser anotadas e encaminhadas ao Product Owner (PO) ou cliente. É crucial não começar uma demanda sem total clareza, para evitar retrabalho. Mesmo sem dúvidas aparentes, é importante validar o entendimento com o cliente, e alertar sobre impactos em funcionalidades existentes. Um ponto focal deve estar disponível para esclarecer dúvidas técnicas e de negócios rapidamente.
Criação de histórias de usuário: O PO pode criar as histórias de usuário, mas em alguns casos a equipe de desenvolvimento também pode ser responsável. As demandas devem ser divididas em escopos menores que agreguem valor. Ferramentas como JIRA, AzureDevOps, ou Trello podem ser usadas para organizar as demandas, e as histórias devem transmitir o desejo do cliente sem detalhes de implementação.
Definição de critérios de aceitação: Com o entendimento da demanda e histórias criadas, o próximo passo é definir os critérios de aceitação, que garantem que a história de usuário atende o solicitado pelo PO e pode ser considerada concluída. Esses critérios ajudam o time de desenvolvimento e o time de qualidade a direcionar o trabalho e antecipar testes de validação.
Detalhamento de atividades
Com o entendimento das atividades mais claro, é hora de seguir com o detalhamento delas. Nessa etapa o time responsável pelo refinamento deve quebrar o escopo macro em tarefas micro, adicionando mais detalhes do que deve ser feito a nível de implementação.
Seguem abaixo algumas dicas do que pode ser feito para auxiliar no processo de detalhamento de uma atividade:
Quebrar o escopo da atividade maior (história de usuário) em atividades menores (tasks ou subtasks);
Adicionar diagramas (caso necessário);
Adicionar os requisitos que serão atendidos na atividade;
Adicionar os links ou prints de protótipos;
Adicionar links de referência para auxiliar no desenvolvimento (bibliotecas, exemplos de aplicação);
Criação de PoCs (Proof of Concept ou Prova de Conceito) para validar cenários complexos ou desconhecidos.
Durante o detalhamento das atividades podem surgir novas dúvidas ou a necessidade de features não planejadas. Nessa situação evite tomar decisões que possam gerar impacto no negócio, sempre valide com o PO ou focal point do cliente para garantir que não está sendo feito alguma funcionalidade inesperada.
Outro ponto importante é validar se vai existir algum impeditivo para a execução das atividades (como acessos ou arquivos). Esse tipo de situação deve ser mapeado e direcionado para os responsáveis.
Estimativas
Uma vez que o backlog está detalhado é necessário realizar a estimativa do tempo que será necessário para implementar as demandas. Durante o processo os membros do time podem acabar selecionando valores diferentes e a ideia é justamente que essas diferenças sejam discutidas para que todos cheguem em um senso comum.
Nesse momento algum membro pode acabar manifestando alguma preocupação relevante que os outros não estavam pensando e isso pode gerar ajustes no processo de detalhamento ou até novas dúvidas.
Uma dica importante é evitar fazer estimativas muito grandes, se o time perceber que uma demanda vai exigir um esforço muito alto é recomendado tentar dividir o escopo da demanda em duas ou mais atividades.
Outro ponto importante durante o processo de estimativa é considerar o tempo de vida total da demanda, desde o momento que ela está pronta para ser desenvolvida até o momento que ela será concluída, ou seja, é necessário considerar o tempo de todas as etapas: Desenvolvimento, Testes e Deploy.
Definindo a prioridade
A definição da prioridade dos itens é um processo importante no refinamento de atividades, pois direciona o time para quais demandas focar primeiro. É esperado que essa definição venha do PO ou do cliente, a decisão geralmente é pautada no valor de negócio que as demandas vão ter e o impacto para o usuário final.
Algo que pode ser levado em consideração é a sequência lógica de execução das demandas, visando atuar nas atividades que são dependências para outras atividades. Ferramentas como o JIRA e o AzureDevops fornecem a opção de definir a prioridade para cada demanda, isso ajuda que outros membros do time identifiquem quais as demandas prioritárias devem ser trabalhadas e executar o que tem mais urgência de ser entregue para o usuário final.
Manter contato com o cliente é essencial
Durante o ciclo de vida de toda atividade, é uma excelente prática manter contato com o cliente via reuniões diárias, semanais, chat ou e-mail, de forma que o desenvolvedor possa demonstrar a forma como a atividade está sendo desenvolvida e que possa discutir com o cliente possíveis desvios de rota, interpretações de funcionalidades e reafirmar a maneira que a entrega final deve ser feita.
Caso durante esse acompanhamento existam mudanças que não foram previstas inicialmente, o desenvolvedor deve identificar se a mudança requer a criação de uma nova atividade. Em caso positivo, deve ser feita uma nova análise detalhada da demanda seguindo os passos iniciais. Em caso de mudanças que não requerem criação de novas atividades, o desenvolvedor deve formalizar as alterações requeridas pelo cliente por e-mail e deixar claro os impactos que essas alterações irão causar na entrega final.
O refinamento de atividades eleva a qualidade das entregas ao garantir que todas as partes envolvidas tenham um entendimento claro e detalhado das demandas antes de iniciar o desenvolvimento. Esse processo reduz ambiguidades, organiza o trabalho em etapas menores e mais gerenciáveis, e antecipa possíveis obstáculos ou dúvidas, evitando retrabalhos e erros que comprometeriam o prazo e a qualidade final.
Além disso, ao definir critérios de aceitação claros e manter um diálogo constante com o cliente, o time assegura que o produto final atenda exatamente às expectativas, gerando mais valor e confiabilidade nas entregas.
Muralis Insights | Barbara Ortiz, Décio Faria, Gabriel Bittencourt e Matheus Lorenzeto
Kommentare