Gerenciando Product Backlog usando o Jira Software

Agile

Gerenciando Product Backlog usando o Jira Software

Luiz Duarte
Escrito por Luiz Duarte em 16/03/2019
Junte-se a mais de 34 mil devs

Entre para minha lista e receba conteúdos exclusivos e com prioridade

Atualizado em 01/07/19!

Quando começamos a estudar o Scrum Guide logo nos deparamos com o artefato Product Backlog. O framework prescreve que o Product Owner deve manter este artefato com todos os itens necessários ao produto/projeto a ser desenvolvido, de maneira priorizada, atualizada e visível.

No vídeo abaixo falo rapidamente sobre isso:

No entanto, algo que o framework não prescreve é como fazer isso e a ideia do post de hoje é justamente essa, mostrar uma ideia de como organizar o seu Product Backlog usando a ferramenta Jira Software, em sua versão SaaS. Não vou falar aqui de priorização de backlog, coisa que já falei em outros posts, mas de como usar esta ferramenta web para fazê-lo e explicando alguns conceitos importantes que podem ser aplicados independente da ferramenta que você venha a utilizar.

Caso prefira acompanhar este artigo em vídeo, segue abaixo um trecho pequeno do meu curso de Scrum e Métodos Ágeis no meu canal no Youtube:

Jira Software

O Jira é a ferramenta líder de vendas para gestão de projetos de software no mundo todo, sendo um concorrente direto do Azure DevOps da Microsoft (o antigo TFS). A sua fabricante, Atlassian, possui uma suíte de soluções que vão desde o Trello, para gestão básica de quadros de trabalho, até ferramentas de chat e colaboração entre times, versionamento de código e construção de pipelines automatizados de deploy.

Mesmo que você não venha a usar a suíte completa (até porque sairia bem caro), usar o Jira pode ser uma excelente opção para tocar os seus projetos de maneira mais organizada. A ferramenta SaaS tem muitas funcionalidades interessantes e um grande fit com as metodologias ágeis como Scrum e Kanban, fornecendo todos os artefatos prontos ou configuráveis para os usuários.

O Jira oferece um trial de uma semana na época em que escrevo este artigo, mas se você procurar bem você encontra a versão free para 5 usuários (assim como o TFS tem). O trial é suficiente para que consiga aprender a usar a ferramenta e seguir este tutorial, mas de repente o plano free também te atenda. Então, crie uma conta no site da Atlassian antes de prosseguir.

Vale salientar que este tutorial cobre apenas a versão SaaS (cloud, online) do Jira, sendo que ele possui uma versão server cuja interface é ligeiramente diferente, embora o funcionamento seja exatamente mesmo.

Criando um novo projeto

Na tela inicial da ferramenta você tem um botão Create Project no canto direito. Use ele e defina um nome para o projeto. Se você tem apenas um time que toca diversos projetos, pode ser interessante colocar o nome do time aqui, ao invés do nome do projeto atual deles, para fins de histórico. Ao longo deste tutorial usarei o template Scrum, que foi selecionado como na imagem abaixo (esquerda).

Novo Projeto

Outras opções na criação do projeto incluem o método Kanban e isso influencia bastante a organização dos itens, os quadros e diversos outros fatores, embora seja possível mudar de um para outro.

Organizando o Product Backlog

Uma vez com o projeto criado, você vai ser direcionado para a tela de Backlog do seu projeto, sendo que aqui ele representa o Product Backlog, cuja gestão é de responsabilidade do Product Owner.

Product Backlog

No Jira existem três níveis de backlog que auxiliam o Product Owner (principalmente) a se organizar, ambos acessíveis na parte esquerda, entre o menu lateral e o backlog, à saber:

  • Epics: épicos são features muito grandes e pouco detalhadas (alto nível de incerteza técnica), geralmente levando várias sprints para serem concluídas (pense na grandeza de semanas a meses de trabalho). Épicos são constituídos de múltiplas User Stories.
  • User Stories: o Jira assume o padrão de Histórias do Usuário para os famosos itens de backlog do produto que são citados no Scrum Guide como sendo a unidade de trabalho do Product Backlog. Uma User Story gera valor ao usuário por si só e entregar uma ou mais delas prontas (DONE). User Stories geralmente levam dias para serem entregues, possuem linguajar de negócio e grau de incerteza técnica médio, podendo ser quebradas em pedaços menores, chamados de Sub-Tasks, para se ter maior assertividade do trabalho a ser realizado.
  • Sub-Task: uma sub-task é uma tarefa que deve levar horas para ser feita, é extremamente técnica, com baixo grau de incerteza técnica e não entrega muito valor por si só, fazendo parte de um grupo que juntas, entregam o valor proposto pela User Story.

O formato recomendado de escrita é partir do Issue Type menos granular (Epic) até o mais granular (Sub-Task), usando o menu Epics que fica à esquerda do backlog, mas antes do menu lateral. Sendo assim, acesse o nível Epic do seu Backlog.

Clique em Epics

Nesta tela da imagem acima, note que tem um link “Create Epic” ao lado da seção EPICS, clique nele para começar a criar os seus épicos com apenas o título e um resumo. Mais tarde você pode adicionar mais detalhes a cada um deles (mas não muito, eles são apenas visões) clicando no título dos mesmos

Criando um épico

Após adicionar os seus épicos, você vai ver eles na coluna esquerda do painel. Note na imagem abaixo como o épico “Cartão no App” aparece depois do meu cadastro e com ele a opção “Create issue in epic”, que é justamente para criar elementos dentro dele. Caso já existam issues, elas aparecerão no painel da direita.

Épico criado

Clique no “Create issue in epic” para adicionar uma User Story (o Issue Type padrão), com um título, descrição (a história em si) e o que mais você precisar.

Criando uma US

Para este exercício, pegue um projeto real do seu time ou então um problema fictício como um cadastro de cliente. O épico seria fazer a versão completa do cadastro, sendo que as User Stories poderiam ser “Adicionar novo cliente”, “Excluir cliente”, etc.

Se você atendeu à sugestão do Jira de usar User Stories, pense em todos as histórias de usuário que puder lembrar para cada um dos épicos. Alguns épicos simples talvez tenham apenas uma ou duas histórias, enquanto outros mais complicados podem ter várias. Não esqueça de, além de escrever o título e descrição da história (usando o formato padrão da User Story), escreva também os critérios de aceite.

É importante ter em mente que o Product Owner tem total liberdade neste momento. Crie, edite e exclua seus Epics e User Stories livremente. É comum escrevermos algumas histórias que mais tarde descobrimos serem épicos. É comum épicos serem quebrados em mais épicos para que o sistema não vire um mero waterfall-iterativo. Embora o time tenha acesso ao Product Backlog como um todo, não é a partir dele que eles se orientarão no dia-a-dia, como falarei mais adiante.

Livro para Agile Coaches

Organizando as sprints

A visão de backlog que usamos até o momento são de foco do Product Owner. O Time de Desenvolvimento trabalha usando a visão da sprint atual (current sprint) dentro do Jira. Assim que tiver algumas User Stories criadas, como abaixo, vai aparecer um botão de “Create Sprint” no canto superior direito.

US criadas

Ao iniciar uma planning (ou agora, para fins de exercício), clique no botão “Create Sprint” e você será direcionado para o planejador de sprints. Na parte inferior da tela ele lista as User Stories existentes e, na parte superior, o escopo da sprint atual, que vai se tornar o Sprint Backlog. Explico: durante a Sprint Planning o Product Owner explica quais são as prioridades do Product Backlog.

Criando a Sprint

Sobre cada história priorizada, o time clica nela e deve discutir quais as tarefas serão necessárias para que seja possível estimar o esforço (campo Estimate) de entrega daquela história.

Estimando US

Uma técnica muito comum utilizada para estas estimativas é a de Planning Poker, já citada aqui no blog. Caso o Time de Desenvolvimento julgue útil, eles podem “quebrar” as User Stories em Sub-Tasks dentro da própria visão da User Story que contém um link “Create Sub-Task”, abrindo a tela abaixo.

Create Sub-Task

Aqui você define um nome para a sub-task e sua descrição, sendo que você pode adicionar estimativas para as sub-tasks depois, se quiser. As estimativas, em especial a da histórias, compõem o esforço da sprint e são usadas mais tarde para geração de gráficos e extração de métricas ágeis importantes para o time. Se você optar por quebrar e/ou estimar as tarefas é uma decisão do time, mas essa atividade é auxiliar para descobrir o esforço da história. Entende-se que somente a entrega completa da história agrega valor ao cliente e consequentemente nos permite dar uma sprint como bem sucedida.

Após descobrir o esforço de cada uma das User Stories prioritárias do P.O. (a unidade de medida padrão é Story Points, mas também pode ser configurado), o time decide qual o volume de histórias que cabem na sprint arrastando as mesmas para a parte superior do planejador de sprint, sendo que no rodapé da mesma aparece o esforço total.

Arrastando histórias

Se esse time já rodou sprints anteriores usando a mecânica de pontos eles já devem ter algum histórico de velocidade. Caso contrário terão de chutar mesmo, posteriormente analisando na Sprint Retrospective o quão próximo estavam da realidade.

Uma vez definido o escopo da próxima sprint, você clica no botão azul “Start Sprint” que aparece na imagem anterior, lhe permitindo configurar os últimos detalhes desta sprint, como o Sprint Goal e as datas de início e fim.

Iniciando a sprint

O Time de Desenvolvimento irá trabalhar somente olhando o backlog da sprint que pode ser acessado usando o menu Active Sprint na esquerda, e via de regra, o escopo não deve ser mudado durante o desenvolvimento da mesma. Nessa tela de Active Sprint o time tem um Kanban virtual que apesar de não ser tão bom de usar quanto o Trello, é bem útil e completamente personalizável, o que pode ser assunto para outro post.

Active Sprint

Curso Jira

Boas Práticas

Algumas boas práticas para quem está começando a usar o Jira Software agora e até mesmo está começando com Scrum:

  • Como Product Owner, refine o seu backlog quase que diariamente, detalhando as histórias mais importantes, consultando o time sobre o impacto de cada uma delas, consultando os stakeholders, analisando o mercado, etc. O seu backlog sempre deve estar atualizado, priorizado e visível antes de uma Sprint Planning for começar.
  • Cada história pode estar associada a um membro do time (campo Assigned To). Converse com seu time para que ninguém associe mais de uma história a si mesmo para evitar problemas.
  • Como Product Owner, use e encoraje os três níveis de backlog, isso ajuda a deixar tudo mais organizado e ao time entender para onde o projeto está caminhando.
  • Priorize visualmente o seu backlog, deixando o que é mais prioritário no topo. Apesar de existir campos que auxiliam nisso, as demais configurações são facilmente negligenciadas por não serem muito visuais.
  • Use o padrão de User Stories em suas Issues para focar na entrega de valor para o usuário final e facilitar o entendimento dos requisitos por parte do Time de Desenvolvimento.
  • Estime em Story Points as suas histórias e não em horas. Isso tem uma série de benefícios mas principalmente descola alguns conceitos de chão de fábrica como produtividade em horas.
  • use Tags (tem um campo pra isso) nas suas User Stories para facilitar consultas, relatórios e dashboards mais tarde (aba Reports). Use a imaginação, tags podem ser qualquer coisa.
  • não se preocupe em usar tudo que a ferramenta oferece, aprenda o básico que faz sentido pra você e depois vá usando o restante conforme for necessitando.

Espero que tenham gostado do post e até a próxima!

Neste artigo ensino como manter um bom nível de qualidade e detalhamento do backlog. E se você quer se aprofundar no uso de Jira, neste artigo ensino como criar automações.

* OBS: curtiu o post? Então dá uma olhada no meu livro de Scrum e Métodos Ágeis e/ou no meu curso (abaixo) sobre o mesmo assunto!

Curso de Scrum e Métodos Ágeis

Olá, tudo bem?

O que você achou deste conteúdo? Conte nos comentários.

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

2 Replies to “Gerenciando Product Backlog usando o Jira Software”

O que é Scrum? - LuizTools

[…] Muitas empresas tem usado a ferramenta Trello para seus products backlogs. Já usei muito, mas atualmente uso só o Visual Studio Online ou o Jira. […]

ScrumBan: como usar Scrum com Kanban corretamente - LuizTools

[…] considerar que você não está usando ferramentas online que fornecem isso automaticamente, como o Jira ou o Azure […]