Strict Standards: Non-static method themeGluedIdeas_Subtle::initOptions() should not be called statically in /home/riopro/www/blog.riopro.com.br/wp-content/themes/gluedideas_subtle/header.php on line 19
Riopro Blog - » Usando o Trac para coordenar seu desenvolvimento ágil

Usando o Trac para coordenar seu desenvolvimento ágil



Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

==============================================================

Update: não estamos mais usando o Trac. Apesar do mesmo ser ótimo, passamos a usar o Redmine. Em grande parte a mudança se deve a falta de suporte à nossa nova menina dos olhos: o Git. É até um pouco pretencioso falarmos em “nossa nova menina dos olhos”, porque o Git já é um verdadeiro hit. Além disso, 2 outros fatores pesaram: o fato do Redmine ser feito em RoR, o que dos upgrade coisas simples,  e uma aderência maior aos padrões de projeto descritos no PMBok.

==============================================================

Pequena pausa nas melhorias do VoteBolsa pra escrever um pouco no blog. Primeiro post do ano. Pensei até em colocar um nome diferente: “Trac é coisa linda de deus“. Ok, resolvi ser mais profissional e mostrar mais do que a organização do Trac. Queria também mostrar como estamos utilizando ele para coordenar o desenvolvimento de forma ágil.

O Trac é uma aplicação open source, feita em Python, e com front-end inteiramente web, que ajuda no gerenciamento do desenvolvimento de projetos de software e no rastreamento de correções de bugs.

Só pelo gerenciamento das correções de bugs (comparável ao notório Bugzilla) o Trac já mereceria destaque. Mas, ao integrar um controle de Tickets (tanto de bugs quanto para aprimoramentos e o que mais for definido, como tarefas) ao controle de versões já existente (como Subversion ou o Git) e ainda dispor de um editor de páginas no modelo wiki, o Trac se torna mais que uma grande ferramenta, se torna essencial. Forte essa frase, né? Mas espero que concordem comigo ao final.

Passamos a usar o Trac aqui na Riopro copiando de gente que faz as coisas direito. Ou seja, estamos falando do pessoal do Ruby on Rails. Na sua página voltada para a comunidade, eles já falam que usam o “wonderful Trac” para gerenciar o desenvolvimento das futuras versões do framework. E tem dado certo.

Chega de puxar o saco, vamos à prática. Inicialmente, usamos o Trac para o projeto do VoteBolsa. Mas já estavamos quase nos finalmente, então ele ajudou e tem ajudado mais no bug tracking e na ordem de prioridade para as próximas features (e serão várias). Um dos grandes benefícios é deixar bem claro quem está desenvolvendo, através do assign de cada ticket a um usuário (ou mais resumido, um usuário tornar-se responsável). O menu é simples e direto (como se pode ver na imagem abaixo).

menu trac

Ao entrar na página inicial do Trac do projeto, você é direcionado para o wiki do projeto. Ali, como em qualquer wiki, a criação de páginas e a edição de textos é fácil e rápida, e pode ajudar a documentar objetivos principais e coisas extra projeto, como reuniões realizadas, endereço de servidores, informações importantes, notícias, entre outros.

Em seguida temos o item que considero o mais importante: o Timeline. Aqui pode-se ver em um único lugar, todas as alterações em Tickets (como criação, encerramento, comentários e alterações), como as alterações realizadas no repositório e nas páginas wiki. Ou seja, uma área para se ter uma visão global do projeto. Como opção, você pode desmarcar os itens que não deseja acompanhar (eu, por exemplo, raramente acompanho as alterações de páginas wiki).

Trac Timeline

O próximo item é o Roadmap. O Roadmap controla o quanto está feito de cada marco esperado do projeto (Milestone). Através de uma interface simples, o usuário pode visualizar rapidamente o percentual percorrido até o momento de cada Milestone. Por padrão, só os marcos que ainda se encontram abertos são mostrados, mas também podemos visualizar todos.

Trac Roadmap

O Trac também permite que você visualize o código fonte do projeto (através de uma interface a seu controle de versões, no menu Browse Source) e possui também a possibilidade de ver os tickets (View Tickets, onde podem ser criados formas personalizadas de consultar os tickets existentes ou já fechados, por exemplo) e criar novos Tickets (New Tickets).

Mas quero me focar no Roadmap. Vendo ser o Trac extremamente funcional, foi óbvia a decisão usa-lo para o nosso novo projeto ultra secreto. E nesse projeto, queriamos ter um controle mais preciso do prazo de duração, menos surpresas no final e mais agilidade no desenvolvimento. Por isso, adotamos alguns dos princípios do Manifesto for Agile Software. Entre os itens principais, queremos uma interação grande entre os indivíduos que são parte do projeto e que o projeto responda as mudanças de plano que podem ocorrer ao longo do percurso. E aí entra o Trac e o Roadmap.

O que estamos fazendo é criar um Milestone global para a versão 1.0 do novo projeto. Nesse Milestone estão armazenados as perspectivas globais do projeto. Em seguida, criamos Milestones para cada iteração (que deve ser funcional, tem um prazo definido e ser toda coberta por testes).

O próximo passo foi dividir os tickets da Milestone 1.0 entre as Milestones de cada iteração e anotamos nos tickets da Milestone 1.0 a que tickets de cada Milestone menor ele faz parte. Dessa forma é fácil controlar quando a funcionalidade estará totalmente terminada e otimizar o fluxo do projeto. Novas ideias que surgirem são cadastradas nessa Milestone 1.0 e posteriormente alocadas nas iterações pertinentes.

Sei que nada do que foi falado aqui é novidade, o que queremos é passar a informação de como estamos integrando perspectivas diferentes e complementares. Espero que o artigo tenha sido proveitoso.

Links:

  • http://en.wikipedia.org/wiki/Issue_tracking_system
  • http://trac.edgewall.org/
  • http://dev.rubyonrails.org/
  • http://www.cvstrac.org/

Informações e Links

Junte-se comentando, lendo o que os outros dizem ou colocando um link a partir do seu blog.


Outros Artigos

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Entrevista do Linus Towards - prazer de programar

Strict Standards: Only variables should be assigned by reference in /home/riopro/www/blog.riopro.com.br/wp-includes/post.php on line 117
Que venha 2008!

Comente

Tire um tempo para comentar e nos dizer o que você acha. Alguns códigos HTML são permitidos para formatação.

Comentários dos Leitores


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Eu acho o trac muito bom, mas já que vocês trabalham com o Rails, eu recomendo usar o retrospectiva (http://retrospectiva.org).

Ele é muito parecido com o trac, é feito em rails, suporta a múltiplos projetos, e etc.

E se quiser estudar código rails avançado, estude o código do retrospectiva. É um dos projetos open source rails com o código mais complexo que eu vi.

Marcus


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Marcus, prometo dar uma olhada no retrospectiva… pode ser interessante.


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Olá.
Eu sou um grande fã do Trac. Equipes de desenvolvimento deveriam sempre utilizá-lo. Documentar informações e rastrear tarefas torna-se até prazeroso. Sentimos que estamos pisando em terra firme em se tratando de organização.

Moro em Teresina e já ajudei em sua adotação da Empresa de Processamento de Dados de Teresina - Prodater e na Unidade de Tecnologia e Segurança da Informação (UNITEC) da Secretaria da Fazenda do Estado do Piauí, além da Secretaria de Planejamento. Atualmente estou num projeto da Secretaria de Administração onde utilizamos o Trac de forma muito eficiente.


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Muito interessante o seu texto, precisamos fomentar a utilização de ferramentas como esta, que com certeza agilizam no desenvolvimento e manutenção dos projetos.

Parabéns.


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Estou postando algo um pouco fora do contexto só para pedir um link para o
ma.gnolia.com (meus novos favoritos) melhor que o del.icio.us :)


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Claudio e Daniel, obrigado pelos comentários. Nosso objetivo com o blog é divulgar e trocar informações mesmo…

Sérgio, vamos colocar um link pro ma.gnolia.com. Só estamos correndo um pouco com o VoteBolsa e aí fica apertado pra ver tudo…


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Parabes pela matéria Otávio! Muito bom.

Estou chefiando uma equipe de desenvolvimento complicada, tenho 19 analistas de sistemas, mas trabalhar mesmo somente 9 deles e olhe lá.

Estou procurando uma ferramenta onde o usuário pode solicitar um serviço, eu possa aprová-lo ou não, distribuir para um dos analistas executar e acompanhar o desenvolvimento junto ao solicitante.

Também gostaria de medir o que o analista produziu.

Minha dúvida é: Seria o Trac indicado para o usuário final fazer solicitações?

Pelo fato da sua interface ser em inglês, teríamos um problema com o usuário solicitante?

Obrigado por enquanto


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

O trac serve para isso que você falou. As permissões por nível de acesso são configuráveis. O trac não vai dizer quantas horas alguém trabalhou, mas você pode ver quantas linhas de código foram mudadas para um ticket e por aí vai.

Sim, uma interface em inglês pode gerar problema aos usuários sim. Mas “it’s up to you”.


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

[…] já escrevemos no outro post, a Riopro agora usa o Redmine. Usavamos o Trac para controle do desenvolvimento dos nossos projetos mas, ao optar pelo Git para controle de […]


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

O Trac agora ta show de bola!!! Suporte nativo ao Git mantido pelo própria equipe do Trac e também Suporte a Multiplos projetos e repo.

[]s


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /home/riopro/www/blog.riopro.com.br/wp-includes/formatting.php on line 82

Hi to every body, it’s my first go to see of this webpage;
this website contains amazing and genuinely fine material designed for visitors.