Desenvolvimento ágil com JIRA, Greenhopper e Tempo Plugin

Jira logo
Greenhopper logo
Tempo - Painless time tracking

É cada vez mais um consenso que o desenvolvimento ágil é o caminho correto para qualquer iniciativa que dependa de software. Porém, não há consenso quanto às formas de dar governança e transparência sobre os Sprints, o Product Backlog, Roadmap de entrega, Impedimentos, volume de trabalho do time, entre outras coisas. Em um contexto de prestação de serviços isto é ainda mais importante, pois sempre é necessário reportar o progresso e eficiência do time para alguns stakeholders.

Considero o JIRA o melhor Issue Tracker disponível, e já o uso há 7 anos em quase todos os projetos. Ele possui 2 plugins fantásticos que em conjunto trazem um ferramental excelente para projetos ágeis: o Greenhopper e o Tempo Plugin. A Atlassian oferece licenças Starter para até 10 usuários que são perfeitas para times pequenos. Os 3 plugins juntos custam US$ 30 por ano. Neste post vamos sugerir uma abordagem de gestão da tarefas, Sprints, Product Backlog e Timesheets usando os 3, na mesma linha que a Rivendel vem fazendo. (Vamos pular a instalação dos 3, mas ela é bem simples. Estamos com a instalação em uma instância Small da Amazon)

Criando um projeto no JIRA

No Dashboard inicial do JIRA, clicar em Projects -> Create Project. Vamos criar um projeto chamado Bootstrap Rivendel, colocando tarefas referentes à criação e preparação da empresa.

add_new_project

Criando um quadro no Greenhopper

Vamos clicar em Agile -> Manage Boards no menu principal e depois em Create a new board. Fazendo isto, teremos a opção entre um Scrum Board e um Kanban Board. Vamos escolher Scrum Board. A diferença entre as 2 abordagens foge um pouco da proposta deste post.

Manage Boards - Rivendel JIRA

Scrum or Kanban

Chegamos com isso ao modo Plan do mural, ainda vazio.

Scrum Board Boostrap - Agile Board - Plan mode

Organizando e planejando o Product Backlog

Antes de começar a criar tarefas, podemos criar alguns épicos para organizar um pouco as coisas. Na sequência podemos criar as primeiras histórias e associá-las aos épicos.

Scrum Board Boostrap - Epicos

Product Backlog - História com épicos

Com as histórias criadas, podemos ordená-las por prioridade e estimá-las. Clicando no título ou no código da história (ex: BOOT-5) podemos entrar na visualização detalhada no canto direito, e usar esta visualização para preencher as estimativas.

Product Backlog - Detail view

Product Backlog - Backlog ordenado e priorizado

Agora precisamos encaixar as histórias em Sprints, pré-requisito para termos um Roadmap de entregas.

Product Backlog - Plano sprints

Cotidiano dentro dos Sprints

Já podemos iniciar o Sprint 1, e com isso passamos a trabalhar diariamente na Work View, conforme abaixo. Durante os Daily Meetings cada membro do time conta no que estava trabalhando no dia anterior e no que vai trabalhar no dia em questão.

Neste momento todos garantem que as tarefas estão corretamente dispostas nas colunas “To Do”, “In Progress” e “Done”. A Work View é ótima porque facilita muito o trabalho com times distribuídos, que são cada vez mais comuns. É possível criar novas colunas e customizar o workflow, mas não abordaremos isto neste post.

Work view

Controle de Impedimentos

Para reportar e controlar impedimentos no Greenhopper, precisamos configurar um Custom Field chamado Flagged. Para garantir que ele está habilitado, com um usuário administrador devemos acessar Issues -> Fields. Dentro da lista de campos, devemos clicar na opção de configuração do campo Flagged e clicar na opção Screens. Na nova tela, devemos habilitar o campo nas 3 telas disponíveis.

Flagged screens

Flagged field screens

É necessário editar o campo Flagged e habilitar o Search Template de “Multi Select Searcher” e aí realizar uma reindexação do JIRA, para que este campo que foi habilitado passe a aparecer nas buscas em geral.

Flagged_Enable_Search_Template

Com isso, podemos agora configurar o nosso Scrum Board para destacar em vermelho as tarefas que estão com Impedimentos. Para isso, vamos editar a história BOOT-13 e marcar o campo Flagged como “Impediment”. A configuração de cores é feita dentro do Board, na aba de Card Colors. Devemos escolher para colorir os cartões de acordo com Queries, e a query para destacar em vermelho as tarefas com impedimentos é Flagged = Impediment, conforme imagem abaixo.

Configure Board - Flagged as Impediment - Rivendel JIRA

Pronto, agora no Work View destacará em Vermelho as tarefas que estiverem com impedimentos, facilitando o controle dos mesmos.

Work View com Impedimento

Timesheets

Estou para conhecer alguém que goste de preencher Timesheets, mas o Tempo Plugin torna o processo muito mais suave e agradável. Não foi por acaso que ele foi considerado o melhor Add-on de todos os produtos Atlassian em 2012.

Seu menu principal traz diversas opções para agregar os Timesheets: por Usuário, Projeto, Equipe, Issue ou uma agregação avançada. Vamos para a visualização por Projeto.

Menu tempo

Entrando no Timesheet do projeto, vamos apontar horas na tarefa BOOT-13, logando 3 horas de trabalho no dia 13/05 e estimando as horas restantes como 13. Podemos planejar e estimar duração de tarefas a qualquer momento, mas o plugin é bem pouco exigente, e permite que o apontamento de horas seja feito da forma que a pessoa quiser.

Log work issue

 A seguir vamos mostrar a visualização tabular de Timesheets, mas ela é somente uma entre as muitas opções de visualização e relatórios do plugin. Ele é bem rápido e fácil de usar, e já fica integrado ao login e tarefas do JIRA, o que deixa-o extremamente conveniente para quem já usa o JIRA para gerenciar seu desenvolvimento.

Timesheets Tabular View

Não vamos mais entrar em tantos detalhes sobre as funcionalidades do Tempo, mas colocamos aqui um vídeo curto detalhando suas funcionalidades.


Bom, por hoje é só! Espero que tenham gostado e que o post seja útil para muitas pessoas. Até a próxima 🙂

Gostou do conteúdo? Tem alguma dúvida? Entre em contato com nossos Especialistas Mandic Cloud, ficamos felizes em ajudá-lo.