Você está na página 1de 4

: : www.mundoj.com.

br : :

Camilo Lopes
(camilo@camilolopes.com.br): Trabalha com T.I desde 2003.
Possui SCJP 5. Bacharelado em Anlise de Sistemas, PsGraduado em Gesto Estratgia de Negcios. Atualmente
trabalha na HP Brazil como Software Engineer no Laboratrio
de pesquisa e desenvolvimento - Enterprise Computing Lab.
escritor do livro "Guia do Exame SCJP" e blogueiro nato
www.camilolopes.com.br.

O uso de uma ferramenta para acompanhamento


de tarefas ou bug tracking (como conhecida
tecnicamente) inerente a qualquer projeto.
O RedMine uma ferramenta de bug tracking
desenvolvido na linguagem Ruby on Rails
tem atendido a muitos projetos que precisam
controlar tarefas de desenvolvimento e
integrao com outras tecnologias. Exemplo:
abertura e monitoramento das tarefas, controle
do tempo gasto, status do desenvolvimento,
integrao 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


criar as tarefas que precisam ser desenvolvidas, quando
estas devem ser concludas e informar quem tem que
fazer. O destinatrio da tarefa recebe um e-mail de notificao do
trabalho a ser feito e quando este deve ser iniciado. O status da
task (tarefa) permite manter todo o time atualizado. Ter o percentual do quanto j foi concludo de uma determinada tarefa
ajuda outros membros da equipe tcnica e at o prprio cliente
saber como est progredindo determinada solicitao. Outros
membros (desenvolvedores, testadores, Team Leader podem inserir um comentrio em uma tarefa). H um log de atualizao
no ticket que foi aberto, onde temos todo tracking de atualizao,
sabendo quando e quem fez o ultimo update. Ter a opo de usar
a ferramenta em portugus uma vantagem, pois nem sempre
teremos clientes que vo se sentir confortveis ao usar a ferramenta em outro idioma (ingls, por exemplo) e esta caracterstica
pode ser considerada um ponto positivo. Neste artigo veremos
a importncia de uma ferramenta de bug tracking, em seguida
apresentaremos o RedMine e suas funcionalidades, e por ltimo
a integrao do RedMine com outras tecnologias que fazem parte
do ciclo de desenvolvimento de software.

A importncia de uma ferramenta de bug


tracking
Ter uma ferramenta de bug tracking em um projeto de desenvolvimento de software sem sombra de dvidas algo que tem se
tornado requisito nos ltimos tempos, porm, ainda possvel
encontrar projetos que excluem ou desconhecem a importncia
do uso da ferramenta. Os melhores bug trackers vo permitir saber quais atividades esto atrasadas, as que esto dentro do prazo,
quem responsvel pelo desenvolvimento e acompanhamento
de uma determinada tarefa, quem abriu o chamado etc. Um dos
problemas, e que s vezes bem comum para gerentes de projetos, saber quanto tempo foi gasto em um determinado projeto.
Com o uso de uma ferramenta de bug tracking possvel ter uma
mdia de quantas horas j foram gastas e se essas horas esto de
acordo com o planejado. Lembrando que horas gastas impactam
diretamente no capital de um produto. A seguir, apresentado
um contexto com e sem o uso de uma ferramenta de bug tracking
no projeto.
Quando no temos uma ferramenta de bug tracking, o cenrio a
seguir bastante comum. Veja:
Joozinho (Developer) / Zezinho (Developer)
1. Joozinho recebe um telefonema de um cliente informando que
est com problemas na aplicao, pois ao clicar no boto cancelar retorna para uma pgina com a mensagem 500.
2. Joozinho j sabe como resolver o problema e comea a implementar a soluo.
3. Zezinho, que no est junto de Joozinho, recebe um telefonema de outro cliente com o mesmo problema. Claro que ns
sabemos que o mesmo problema, mas o cliente no sabe,
e muito menos Zezinho. Alm disso, Zezinho nem imagina
onde esteja o bug porque ele no desenvolveu essa parte da
aplicao, uma vez que entrou no time h duas semanas apenas.
4. Zezinho comea a tentar descobrir onde est o bug,

5. Joozinho j quase resolveu o bug, mas, por estar permanentemente sendo interrompido por telefonemas e e-mails de
clientes reclamando por causa do bug, ainda no conseguiu
solucion-lo.
6. Joozinho resolve o bug e faz uma nova verso da aplicao.
Claro que a nova verso no tem s a correo do boto, tem
outras correes que foram feitas recentemente. Ele tem que
compilar a lista de correes, ver os e-mails trocados entre os
developers, telefonar para os outros developers etc.
7. Zezinho j encontrou onde est o bug, entretanto, recebe um
telefonema de Joozinho perguntando quais correes mais
recentes foram feitas. Zezinho diz-lhe que est a resolver o
problema do boto cancelar. Joozinho responde-lhe que j
foi resolvido. Zezinho se desespera. Os clientes continuam a
telefonar.
Com a ferramenta de bug tracking, teramos algo assim:
1. Joozinho recebe um telefonema de um cliente informando
que est com problemas na aplicao, pois ao clicar no boto
cancelar retorna para uma pgina com a mensagem 500.
2. Joozinho introduz na ferramenta de bug tracking a descrio
do bug e comunica ao cliente o identificador (ticket) do bug
para que o cliente possa acompanhar a evoluo do mesmo
atravs da web. H projetos que o prprio cliente abre o chamado do problema, quando este tem acesso e permisso para
fazer isso na ferramenta.
3. Joozinho j imagina como resolver e comea a corrigir, mas
primeiro marca esse bug como Em Correo, Em Andamento na ferramenta de bug tracking.
4. Zezinho que no est junto de Joozinho recebe um telefonema de outro cliente com o mesmo problema. Claro que ns
sabemos que o mesmo problema, mas o cliente no sabe e
muito menos Zezinho. E o nosso colega Zezinho, aps pesquisar na ferramenta de bug tracking antes de pensar no problema, ver que j foi resolvido por Joozinho.
5. Joozinho resolveu o bug rapidamente porque a maioria dos
clientes, antes de telefonarem ou enviarem e-mail reclamando, pesquisaram no bugtracker e viram que o bug estava em
correo.
6. Joozinho faz uma nova verso da aplicao e consegue saber
todas as correes includas na verso com uma simples pesquisa Bugs resolvidos na verso XXX.
Observe o quanto a ferramenta de bug tacking ajudou no s resolver o problema e poupar o tempo de Zezinho, mas tambm a documentar um processo. Sem falar que as ferramentas de bug tracking
normalmente devem nos fornecer o tempo estimado a ser gasto e
quanto foi consumido para aquela determinada tarefa/ticket.

O RedMine
O RedMine um projeto para gerenciamento de aplicaes via
Web, escrito em Ruby on rails frameworks. O RedMine um projeto open-source sobre a license GNU General Public License V2
(GPL) que possui uma srie de caractersticas, a saber:
t 4VQPSUBNMUJQMPTQSPKFUPT
t 4VQPSUFBP(BOUU DBMFOESJPTFHSmDPT

t 1PTTJCJMJEBEFEFBOFYBSEPDVNFOUPTFBEJDJPOBSOPUDJBTBPT
projetos
53

: : www.mundoj.com.br : :

t
t
t
t
t
t
t
t
t
t
t

8JLJFGSVOTQPSQSPKFUP
'FFETFOPUJmDBFTWJBFNBJM
5JNF5SBDLJOH
1FSTPOBMJ[BPEPTmFMETQPSQSPKFUPT
*OUFHSBPDPNGFSSBNFOUBTEFDPOUSPMFEFWFSso: SVN, CVS, Git, Mercurial, Bazaar and Darcs
4VQPSUFBVUFOUJDBP-%"1
4VQPSUFBEJWFSTPTJEJPNBT JODMVTJWF1PSUVHVT
Brasil
4VQPSUFBNMUJQMPTCBODPTEFEBEPT
$BEBVTVSJPQPEFUFSQBQJTEJGFSFOUFTFNDBEB
projeto
1PEFUFSQSPKFUPTQCMJDPTFQSJWBEPT
.EVMPT XJLJ SFQPTJUPSZ JTTVFUSBDLJOHFUD
QPdem ser habilitados/desabilitados por projetos.

So apresentadas nas figuras 1, 2 e 3 o layout do


RedMine e algumas de suas funcionalidades.

Figura 3. Grficos e calendrio automtico Gantt.

1PEFTFJNQPSUBSJOGPSNBFTEP(BOUU0QFO1SPKFDU
t 6TBSVNDPOUSPMFEFWFSTPDPNP4VCWFSTJPOFNTJODSPOJ[Bo com a ferramenta. Assim, sempre que uma nova tag ou
um branch for atualizado no controle de verso, essa informao ser disponibilizada no projeto.
t "EJDJPOBSBSRVJWPT EPD QEGFUD
FNVNUJDLFU
t *OGPSNBS P OWFM EF QSJPSJEBEF RVF VNB EFUFSNJOBEB UBSFGB
deve ter.
t *OGPSNBSRVBOUBTIPSBTGPSBNHBTUBTBPGFDIBSPUJDLFU
t $SJBSGSVOT 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?).

Figura 1. Definindo prioridade para um ticket.

Por exemplo: h tickets que somente os gerentes e engenheiros


tm acesso por serem informaes confidenciais do projeto e no
cabe ao programador/desenvolvedor saber delas.
t .FEJSBTIPSBTKHBTUBTOPQSPKFUPFBTTJNQSFWFSTFIBWFS
OverTime.
t (FSFODJBSEJWFSTPTQSPKFUPTOPNFTNPBNCJFOUF3FE.JOF0
melhor que no h limitaes para criao de projetos.
O link para ver a verso demo pode ser encontrado nas referncias
do presente trabalho. Assim, voc poder tirar suas concluses 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 sensao de um usurio do RedMine.

Integrao com outras tecnologias


Figura 2. Definindo permisso para um membro.

As funcionalidades
O RedMine se utiliza dos bancos de dados mais tradicionais do
mercado: MySQL, PostGreSQL e SQLite. Ele possui uma srie de
funcionalidades, as principais esto a seguir:
54

O RedMine d suporte a outras tecnologias. Se voc j usou ou


usa o Gantt/OpenProject poder importar informaes para o seu
projeto no Redmine de forma tranquila e segura, uma vez que a
ferramenta suporta a importao por padro. A possibilidade de
fazer a integrao com ferramentas de controle de verso uma
caracterstica fantstica que temos no RedMine. Na sua verso
atual, temos suporte a: SVN, GitHub, Mercury e CVS. Isso possibilita que os commits, updates etc. feito em seu repositrio para
um determinando repositrio configurado no RedMine estaro

sincronizados na ferramenta de bugtrack. Ento, ser possvel


saber quem e o que foi commitado sem precisar ir at o history da
ferramenta de controle de verso. Alm disso, possvel configurar um ticket com as aes no repositrio, onde, atravs de tags,
aes possam refletir na ferramenta. Exemplo: um desenvolvedor,
ao finalizar uma task e efetuar o commit, pode usar no final do
comentrio uma tag chamada 'done' e o redmine quando encontrar essa tag automaticamente mudar o status do ticket que est
associado para algo como 'concludo'.

Para Saber Mais


No Google Groups h uma comunidade ativa em portugus para quem usa o RedMine. Ento, se voc tem
interesse em tirar dvidas, ajudar etc., participe da comunidade e faa sua contribuio. Vale lembrar que no
uma comunidade oficial da RedMine https://groups.
google.com/group/redmine-br
A documentao do RedMine disponvel no prprio site
do fabricante www.redmine.org est bem organizada e
possui bastantes informaes sobre funcionalidades especficas que no vm como padro ao instalar a ferramenta,
mas que podem ser ativadas.

Outras ferramentas de BugTracking


t #VH[JMMB o  B NBJT GBNPTB F VTBEB GFSSBNFOUB EF CVH
tracking open source. Baseada em Web, ela mantida
por voluntrios, sendo utilizada por diversos projetos e
empresas, dentre os principais: Mozilla, Gnome, Nasa,
NBC e Wikipdia. (http://www.bugzilla.org/).
t &WFOUVN o DSJBEB F EJTQPOJCJMJ[BEB HSBUVJUBNFOUF QFMB
MySQL, encontra-se atualmente na verso 2.1.1. Fornece uma interface amigvel e flexvel sistema de emisso
de rastreamento que pode ser utilizado tanto por um departamento de suporte tcnico para monitorar solicitaes de suporte ou por uma equipe do desenvolvimento
de software, a fim de organizar tarefas e bugs. O Eventum usado pela equipe de Suporte Tcnico do MYSQL
Lab (http://dev.mysql.com/downloads/other/eventum/)
t 'PH#VH[ o P 'PH#VH[  BMN EF PGFSFDFS P DPOUSPMF EF
bugs, traz um sistema completo de gerncia de projeto a
fim de auxiliar a comunicao nas equipes de software.
Um de seus diferenciais a incluso de uma wiki, onde
se pode criar documentos e especificaes tcnicas e funcionais. Ponto este que j vem como default no redmine
(http://www.fogcreek.com).
t +JSBoVNBBQMJDBP+&&EFBDPNQBOIBNFOUPFHFTto dos problemas. Possui funcionalidade de gesto de
projetos. O Jira pode ser baixado gratuitamente, porm
em verso Trial, que expira aps 30 dias (http://www.
atlassian.com/software/jira/).
t .BOUJToVNBGFSSBNFOUBEFCVHUSBDLJOHMJWSF&TDSJUB

em PHP, trabalha com MySQL, MS SQL e PostgreSQL,


sendo baseada em Web. O Mantis roda em Windows, Linux, Mac OS, OS/2, dentre outros. Est sobre os termos
da licena GPL (http://www.mantisbt.org/).
t 5SBDoP5SBD BMNEFTFSVNTJTUFNBEFHFSFODJBNFOUP
de bugs, possui a funcionalidade de wiki para documentao. Sua interface web e tambm est sobre a licena
GPL. Dentre os seus usurios est o Laboratrio de Propulso a Jato da NASA (http://trac.edgewall.org/).
t ;FQIZS o VNB BQMJDBP DPN JOUFSGBDF 8FC  GFJUB FN
Flash, especifica para equipes de Testes. Dentre suas
principais funcionalidades esto: criao de testes suites,
execuo de testes, gerao de relatrios e o gerenciamento de bugs. Sua licena gratuita at trs usurios
(http://www.getzephyr.com/).

Consideraes finais
Neste artigo, foi apresentado um pouco sobre a ferramenta
Redmine, ferramenta de bug tracking desenvolvida em Ruby on
Rails, que tem sido amplamente usada no processo de desenvolvimento de software, na indstria etc. Apresentamos as principais
funcionalidades e integrao com outras ferramentas como SVN,
Git etc., bem como o suporte a mltiplos idiomas, incluindo o
portugus do Brasil e suporte a notificao via e-mail de forma
automtica. E tudo isso oferecido de forma open-source sobre a
licena GPL. Uma das vantagens do Redmine que se pode testar
a ferramenta sem precisar instalar. Basta ir ao site da ferramenta e
ver a tecnologia em execuo.

GUJ Discusses sobre o tema do artigo e


assuntos relacionados
Discuta este artigo com 100 mil outros
desenvolvedores em www.guj.com.br/MundoJ

Referncias
t
t
t
t
t
t
t
t

IUUQXXXSFENJOFPSH
IUUQEFNPSFENJOFPSH
IUUQXXXCVH[JMMBPSH
IUUQEFWNZTRMDPNEPXOMPBETPUIFSFWFOUVN
IUUQXXXGPHDSFFLDPN
IUUQXXXNBOUJTCUPSH
IUUQUSBDFEHFXBMMPSH
IUUQXXXHFU[FQIZSDPN

55

Você também pode gostar