Sei sulla pagina 1di 4

: : www.mundoj.com.

br : :

O uso de uma ferramenta para acompanhamento


de tarefas ou bug tracking (como é conhecida
Camilo Lopes tecnicamente) é inerente a qualquer projeto.
(camilo@camilolopes.com.br): Trabalha com T.I desde 2003.
Possui SCJP 5. Bacharelado em Análise de Sistemas, Pós-
O RedMine é uma ferramenta de bug tracking
Graduado em Gestão Estratégia de Negócios. Atualmente desenvolvido na linguagem Ruby on Rails
trabalha na HP Brazil como Software Engineer no Laboratório
de pesquisa e desenvolvimento - Enterprise Computing Lab. tem atendido a muitos projetos que precisam
É escritor do livro "Guia do Exame SCJP" e blogueiro nato controlar tarefas de desenvolvimento e
www.camilolopes.com.br.
integração com outras tecnologias. Exemplo:
abertura e monitoramento das tarefas, controle
do tempo gasto, status do desenvolvimento,
integração com outras tecnologias como a
SVN, GitHub, Mercury etc.

Usando Redmine
como ferramenta de Bug Tracking
Uma ferramenta bugtracking open-source em Ruby on Rails

52
er o RedMine para gerenciar projetos é ter o poder de 5. Joãozinho já quase resolveu o bug, mas, por estar permanen-
criar as tarefas que precisam ser desenvolvidas, quando temente sendo interrompido por telefonemas e e-mails de
estas devem ser concluídas e informar quem tem que clientes reclamando por causa do bug, ainda não conseguiu
fazer. O destinatário da tarefa recebe um e-mail de notificação do solucioná-lo.
trabalho a ser feito e quando este deve ser iniciado. O status da 6. Joãozinho resolve o bug e faz uma nova versão da aplicação.
task (tarefa) permite manter todo o time atualizado. Ter o per- Claro que a nova versão não tem só a correção do botão, tem
centual do quanto já foi concluído de uma determinada tarefa outras correções que foram feitas recentemente. Ele tem que
ajuda outros membros da equipe técnica e até o próprio cliente compilar a lista de correções, ver os e-mails trocados entre os
saber como está progredindo determinada solicitação. Outros developers, telefonar para os outros developers etc.
membros (desenvolvedores, testadores, Team Leader podem in- 7. Zezinho já encontrou onde está o bug, entretanto, recebe um
serir um comentário em uma tarefa). Há um log de atualização telefonema de Joãozinho perguntando quais correções mais
no ticket que foi aberto, onde temos todo tracking de atualização, recentes foram feitas. Zezinho diz-lhe que está a resolver o
sabendo quando e quem fez o ultimo update. Ter a opção de usar problema do botão cancelar. Joãozinho responde-lhe que já
a ferramenta em português é uma vantagem, pois nem sempre foi resolvido. Zezinho se desespera. Os clientes continuam a
teremos clientes que vão se sentir confortáveis ao usar a ferra- telefonar.
menta em outro idioma (inglês, por exemplo) e esta característica
pode ser considerada um ponto positivo. Neste artigo veremos Com a ferramenta de bug tracking, teríamos algo assim:
a importância de uma ferramenta de bug tracking, em seguida 1. Joãozinho recebe um telefonema de um cliente informando
apresentaremos o RedMine e suas funcionalidades, e por último que está com problemas na aplicação, pois ao clicar no botão
a integração do RedMine com outras tecnologias que fazem parte cancelar retorna para uma página com a mensagem 500.
do ciclo de desenvolvimento de software. 2. Joãozinho introduz na ferramenta de bug tracking a descrição
do bug e comunica ao cliente o identificador (ticket) do bug
A importância de uma ferramenta de bug para que o cliente possa acompanhar a evolução do mesmo
através da web. Há projetos que o próprio cliente abre o cha-
tracking mado do problema, quando este tem acesso e permissão para
fazer isso na ferramenta.
Ter uma ferramenta de bug tracking em um projeto de desenvol-
3. Joãozinho já imagina como resolver e começa a corrigir, mas
vimento de software sem sombra de dúvidas é algo que tem se
primeiro marca esse bug como “Em Correção”, “Em Anda-
tornado requisito nos últimos tempos, porém, ainda é possível
mento” na ferramenta de bug tracking.
encontrar projetos que excluem ou desconhecem a importância
4. Zezinho que não está junto de Joãozinho recebe um telefo-
do uso da ferramenta. Os melhores bug trackers vão permitir sa-
nema de outro cliente com o mesmo problema. Claro que nós
ber quais atividades estão atrasadas, as que estão dentro do prazo,
sabemos que é o mesmo problema, mas o cliente não sabe e
quem é responsável pelo desenvolvimento e acompanhamento
muito menos Zezinho. E o nosso colega Zezinho, após pesqui-
de uma determinada tarefa, quem abriu o chamado etc. Um dos
sar na ferramenta de bug tracking antes de pensar no proble-
problemas, e que às vezes é bem comum para gerentes de proje-
ma, verá que já foi resolvido por Joãozinho.
tos, é saber quanto tempo foi gasto em um determinado projeto.
5. Joãozinho resolveu o bug rapidamente porque a maioria dos
Com o uso de uma ferramenta de bug tracking é possível ter uma
clientes, antes de telefonarem ou enviarem e-mail reclaman-
média de quantas horas já foram gastas e se essas horas estão de
do, pesquisaram no bugtracker e viram que o bug estava em
acordo com o planejado. Lembrando que horas gastas impactam
correção.
diretamente no capital de um produto. A seguir, é apresentado
6. Joãozinho faz uma nova versão da aplicação e consegue saber
um contexto com e sem o uso de uma ferramenta de bug tracking
todas as correções incluídas na versão com uma simples pes-
no projeto.
quisa “Bugs resolvidos na versão XXX”.
Quando não temos uma ferramenta de bug tracking, o cenário a
Observe o quanto a ferramenta de bug tacking ajudou não só resol-
seguir é bastante comum. Veja:
ver o problema e poupar o tempo de Zezinho, mas também a docu-
Joãozinho (Developer) / Zezinho (Developer) mentar um processo. Sem falar que as ferramentas de bug tracking
1. Joãozinho recebe um telefonema de um cliente informando que normalmente devem nos fornecer o tempo estimado a ser gasto e
está com problemas na aplicação, pois ao clicar no botão can- quanto foi consumido para aquela determinada tarefa/ticket.
celar retorna para uma página com a mensagem 500.
2. Joãozinho já sabe como resolver o problema e começa a imple- O RedMine
mentar a solução.
3. Zezinho, que não está junto de Joãozinho, recebe um telefone- O RedMine é um projeto para gerenciamento de aplicações via
ma de outro cliente com o mesmo problema. Claro que nós Web, escrito em Ruby on rails frameworks. O RedMine é um pro-
sabemos que é o mesmo problema, mas o cliente não sabe, jeto open-source sobre a license GNU General Public License V2
e muito menos Zezinho. Além disso, Zezinho nem imagina (GPL) que possui uma série de características, a saber:
onde esteja o bug porque ele não desenvolveu essa parte da t 4VQPSUBNÞMUJQMPTQSPKFUPT
aplicação, uma vez que entrou no time há duas semanas ape- t 4VQPSUFBP(BOUU DBMFOEÈSJPTFHSÈmDPT

nas. t 1PTTJCJMJEBEFEFBOFYBSEPDVNFOUPTFBEJDJPOBSOPUÓDJBTBPT
4. Zezinho começa a tentar descobrir onde está o bug, projetos

53
: : www.mundoj.com.br : :

t 8JLJFGØSVOTQPSQSPKFUP
t 'FFETFOPUJmDBÎÜFTWJBFNBJM
t 5JNF5SBDLJOH
t 1FSTPOBMJ[BÎÍPEPTmFMETQPSQSPKFUPT
t *OUFHSBÎÍPDPNGFSSBNFOUBTEFDPOUSPMFEFWFS-
são: SVN, CVS, Git, Mercurial, Bazaar and Darcs
t 4VQPSUFBVUFOUJDBÎÍP-%"1
t 4VQPSUFBEJWFSTPTJEJPNBT JODMVTJWF1PSUVHVÐT
Brasil
t 4VQPSUFBNÞMUJQMPTCBODPTEFEBEPT
t $BEBVTVÈSJPQPEFUFSQBQÏJTEJGFSFOUFTFNDBEB
projeto
t 1PEFUFSQSPKFUPTQÞCMJDPTFQSJWBEPT
t .ØEVMPT XJLJ SFQPTJUPSZ JTTVFUSBDLJOHFUD
QP-
dem ser habilitados/desabilitados por projetos.

São apresentadas nas figuras 1, 2 e 3 o layout do Figura 3. Gráficos e calendário automático Gantt.

RedMine e algumas de suas funcionalidades. 1PEFTFJNQPSUBSJOGPSNBÎÜFTEP(BOUU0QFO1SPKFDU


t 6TBSVNDPOUSPMFEFWFSTÍPDPNP4VCWFSTJPOFNTJODSPOJ[B-
ção com a ferramenta. Assim, sempre que uma nova tag ou
um branch for atualizado no controle de versão, essa informa-
ção será disponibilizada no projeto.
t "EJDJPOBSBSRVJWPT EPD QEGFUD
FNVNUJDLFU
t *OGPSNBS P OÓWFM EF QSJPSJEBEF RVF VNB EFUFSNJOBEB UBSFGB
deve ter.
t *OGPSNBSRVBOUBTIPSBTGPSBNHBTUBTBPGFDIBSPUJDLFU
t $SJBSGØSVOT XJLJTQBSBVNQSPKFUPFTQFDJmDP
t "P BCSJS VN UJDLFU  JOGPSNBS RVBOUP UFNQP QSFWJTUP MFWBSÈ
para ser implementado.

Informar quem pode ter acesso a um determinado ticket (toda


equipe ou somente os desenvolvedores?).

Por exemplo: há tickets que somente os gerentes e engenheiros


têm acesso por serem informações confidenciais do projeto e não
Figura 1. Definindo prioridade para um ticket.
cabe ao programador/desenvolvedor saber delas.
t .FEJSBTIPSBTKÈHBTUBTOPQSPKFUPFBTTJNQSFWFSTFIBWFSÈ
OverTime.
t (FSFODJBSEJWFSTPTQSPKFUPTOPNFTNPBNCJFOUF3FE.JOF0
melhor que não há limitações para criação de projetos.

O link para ver a versão demo pode ser encontrado nas referências
do presente trabalho. Assim, você poderá tirar suas conclusões da
ferramenta antes de colocar em seu ambiente.

“Fico feliz quando eu abro um projeto e vejo o que foi feito nos
dias anteriores, o que há para ser feito no dia seguinte e ainda o
que está atrasado”. Essa é a sensação de um usuário do RedMine.

Integração com outras tecnologias


O RedMine dá suporte a outras tecnologias. Se você já usou ou
usa o Gantt/OpenProject poderá importar informações para o seu
Figura 2. Definindo permissão para um membro.
projeto no Redmine de forma tranquila e segura, uma vez que a
ferramenta suporta a importação por padrão. A possibilidade de
As funcionalidades fazer a integração com ferramentas de controle de versão é uma
característica fantástica que temos no RedMine. Na sua versão
O RedMine se utiliza dos bancos de dados mais tradicionais do atual, temos suporte a: SVN, GitHub, Mercury e CVS. Isso possi-
mercado: MySQL, PostGreSQL e SQLite. Ele possui uma série de bilita que os commits, updates etc. feito em seu repositório para
funcionalidades, as principais estão a seguir: um determinando repositório configurado no RedMine estarão

54
em PHP, trabalha com MySQL, MS SQL e PostgreSQL,
sincronizados na ferramenta de bugtrack. Então, será possível
sendo baseada em Web. O Mantis roda em Windows, Li-
saber quem e o que foi commitado sem precisar ir até o history da
nux, Mac OS, OS/2, dentre outros. Está sobre os termos
ferramenta de controle de versão. Além disso, é possível configu-
da licença GPL (http://www.mantisbt.org/).
rar um ticket com as ações no repositório, onde, através de tags,
t 5SBDoP5SBD BMÏNEFTFSVNTJTUFNBEFHFSFODJBNFOUP
ações possam refletir na ferramenta. Exemplo: um desenvolvedor,
de bugs, possui a funcionalidade de wiki para documen-
ao finalizar uma task e efetuar o commit, pode usar no final do
tação. Sua interface é web e também está sobre a licença
comentário uma tag chamada 'done' e o redmine quando encon-
GPL. Dentre os seus usuários está o Laboratório de Pro-
trar essa tag automaticamente mudará o status do ticket que está
pulsão a Jato da NASA (http://trac.edgewall.org/).
associado para algo como 'concluído'.
t ;FQIZS o VNB BQMJDBÎÍP DPN JOUFSGBDF 8FC  GFJUB FN
Flash, especifica para equipes de Testes. Dentre suas
principais funcionalidades estão: criação de testes suites,
execução de testes, geração de relatórios e o gerencia-
mento de bugs. Sua licença é gratuita até três usuários
Para Saber Mais (http://www.getzephyr.com/).
No Google Groups há uma comunidade ativa em por-
tuguês para quem usa o RedMine. Então, se você tem
interesse em tirar dúvidas, ajudar etc., participe da co-
munidade e faça sua contribuição. Vale lembrar que não Considerações finais
é uma comunidade oficial da RedMine https://groups.
google.com/group/redmine-br
Neste artigo, foi apresentado um pouco sobre a ferramenta
A documentação do RedMine disponível no próprio site Redmine, ferramenta de bug tracking desenvolvida em Ruby on
do fabricante www.redmine.org está bem organizada e Rails, que tem sido amplamente usada no processo de desenvol-
possui bastantes informações sobre funcionalidades espe- vimento de software, na indústria etc. Apresentamos as principais
cíficas que não vêm como padrão ao instalar a ferramenta, funcionalidades e integração com outras ferramentas como SVN,
mas que podem ser ativadas. Git etc., bem como o suporte a múltiplos idiomas, incluindo o
português do Brasil e suporte a notificação via e-mail de forma
automática. E tudo isso é oferecido de forma open-source sobre a
licença GPL. Uma das vantagens do Redmine é que se pode testar
a ferramenta sem precisar instalar. Basta ir ao site da ferramenta e
Outras ferramentas de BugTracking ver a tecnologia em execução.
t #VH[JMMB o Ï B NBJT GBNPTB F VTBEB GFSSBNFOUB EF CVH
tracking open source. Baseada em Web, ela é mantida
por voluntários, sendo utilizada por diversos projetos e
empresas, dentre os principais: Mozilla, Gnome, Nasa,
NBC e Wikipédia. (http://www.bugzilla.org/).
t &WFOUVN o DSJBEB F EJTQPOJCJMJ[BEB HSBUVJUBNFOUF QFMB
MySQL, encontra-se atualmente na versão 2.1.1. Forne-
ce uma interface amigável e flexível sistema de emissão
de rastreamento que pode ser utilizado tanto por um de- GUJ – Discussões sobre o tema do artigo e
partamento de suporte técnico para monitorar solicita- assuntos relacionados
ções de suporte ou por uma equipe do desenvolvimento
de software, a fim de organizar tarefas e bugs. O Even- Discuta este artigo com 100 mil outros
tum é usado pela equipe de Suporte Técnico do MYSQL desenvolvedores em www.guj.com.br/MundoJ
Lab (http://dev.mysql.com/downloads/other/eventum/)
t 'PH#VH[ o P 'PH#VH[  BMÏN EF PGFSFDFS P DPOUSPMF EF
bugs, traz um sistema completo de gerência de projeto a
fim de auxiliar a comunicação nas equipes de software.
Um de seus diferenciais é a inclusão de uma wiki, onde
se pode criar documentos e especificações técnicas e fun-
cionais. Ponto este que já vem como default no redmine
(http://www.fogcreek.com). Referências
t +JSBoÏVNBBQMJDBÎÍP+&&EFBDPNQBOIBNFOUPFHFT- t IUUQXXXSFENJOFPSH
tão dos problemas. Possui funcionalidade de gestão de t IUUQEFNPSFENJOFPSH
projetos. O Jira pode ser baixado gratuitamente, porém t IUUQXXXCVH[JMMBPSH
t IUUQEFWNZTRMDPNEPXOMPBETPUIFSFWFOUVN
em versão Trial, que expira após 30 dias (http://www. t IUUQXXXGPHDSFFLDPN
atlassian.com/software/jira/). t IUUQXXXNBOUJTCUPSH
t .BOUJToÏVNBGFSSBNFOUBEFCVHUSBDLJOHMJWSF&TDSJUB t IUUQUSBDFEHFXBMMPSH
t IUUQXXXHFU[FQIZSDPN

55

Potrebbero piacerti anche