Se você trabalha com produtos, sobretudo produtos digitais, se trabalha com a construção deles, não há muito como fugir da necessidade de organizar uma lista de atividades e priorizá-las de acordo com critérios de retorno, valor e tempo de execução. Essa lista é seu backlog!
Uma escola que lida muito bem com isso é o scrum. Muito falado e infelizmente pouco praticado, o método vai completar 20 anos de sucesso! Mas nem tudo são flores, sobretudo no Brasil. Já vi muitas empresas tendo dificuldades de entender o que é metodologia ágil e como aplicar alguns conceitos na prática.
Fiz esse desenho para ajudar times e colegas de trabalho na compreensão do backlog. O backlog é um artefato no scrum e ele é estruturado assim:
1. No topo vem os ÉPICOS (epics). Épicos, em linhas gerais, são “grandes histórias” que:
• Não cabem em uma iteração (sprint) pois são grandes demais
• Não cabem em apenas uma história (issue) pois são grandes demais
• Não cabem em uma estimativa de realização (story points) pequena
• Épicos devem ter uma perspectiva de começo, meio e fim. Eles não são simples tags de categorização de atividades, são objetivos a serem alcançados.
Exemplos de ÉPICOS:
• Um módulo de relatórios para os clientes
• Um módulo de “Perfil do Usuário”
• Um cadastro
• Um novo layout do sistema ou aplicativo inteiro
2. Dentro dos ÉPICOS estão as HISTÓRIAS (issues). As histórias são como moléculas na biologia, elas são a menor parte de valor de determinado produto. Uma história tem começo, meio e fim em si mesma, mas pode depender da realização de outras histórias para ser realizada. As HISTÓRIAS pode ser sobre:
• Novas funcionalidades
• Débitos Técnicos ou
• Bugs
Exemplos de HISTÓRIAS:
• Mudar o cabeçalho do site X
• Adicionar pagamento com cartão de crédito no aplicativo X
• Alterar coluna Y do relatório X
• Carrinho de compras quebrado
3. Por fim, dentro das histórias, teremos as TAREFAS (tasks). Elas representam pequenas atividades necessárias para realização de uma determinada história. Em geral uma tarefa é feita por uma ou duas pessoas e não necessariamente entrega valor por si, mas a junção de uma ou mais tarefas de uma história entrega o valor da história. Vamos pegar uma história de exemplo e ver quais são as tarefas que compõem.
• HISTÓRIA: Adicionar pagamento com cartão de crédito no aplicativo X
• TAREFA 1: Criar API para receber dados do cartão do cliente
• TAREFA 2: Criar método de checagem de crédito junto aos operadores (bandeiras) de cartão de crédito
• TAREFA 3: Criar tela de inserção de dados do cartão
• TAREFA 4: Plugar envio de dados do cartão com método de checagem
• TAREFA 5: Testar funcionalidade em ambiente de homologação
O desenho acima mostra visualmente essa estrutura. É claro que as composições aqui são um pouco subjetivas. A intenção é prover um guia e não um conjunto de leis imutáveis. Se tiver alguma dúvida, experiência ou comentário sobre a aplicação do scrum com foco na estruturação de backlog, fique a vontade para comentar.