Using Trac for agile project management

Trac

By now I’ve been using Trac more than two years for managing various projects – from very small ones with just a few people involved (combining in themselves developers, testers and product owners) to large ones with more than 20 people (both in private projects and in Nokia – yes, yes, some Nokia projects are also using Trac).

In agile projects, especially in large organizations, one needs to find the right balance between “post-it management” bordering with chaos and monstrous tools and processes for requirements and defect management and project documentation and reporting. Choosing the right tool can have a significant impact on team performance.

There are multiple commercial tools available for project tracking in agile environment, but I still choose Trac in most of the cases for its openness, simplicity and customizability. Below I explain the reasons for this choice and highlight limitations we faced in large scale projects.

Documentation

Quite often, especially in large organisations, document processes are disconnected from development. Developers don’t like to write documentation because of the heavy review and approval process, and latest versions of official documents are stored somewhere, where developers don’t usually check.

We use Trac integrated wiki for documenting virtually all aspects of the project – from the team roaster and tips and tricks on development environment setup to release notes and architecture documents. Wiki allows to keep all documentation visible, easily accessible, and easily modifiable – which removes the barriers to sharing the information.

Requirement management

Trac has an extremely flexible ticket system, that allows to manage requirements, defects and you-name-it.

Everything in Trac is a ticket. Tickets can have different types. When setting up a new project, I typically define “stories”, “tasks” and “defects” as ticket types.

  • “story” – is a high level requirement, describing functionality on a general level, like “implement Facebook application”; stories can have complexity estimates in story points (a custom field can be created for that)
  • “task” –  when stories are analysed in detail, they are split into “tasks”, which are smaller pieces of work, usually doable in a few days.
  • “defect” – well, you all know these ones – this is what software developers create for a living 😉

Usually during life cycle of a project there arises a need for additional ticket types. For example, in one of the projects, we defined a ticket type “customer care”, which extended Trac to be a care tool as well. When a need to manage change requests came up, we created a new ticket type “Change Request”.

It is also possible to define custom work flows for the tickets, if the default ones are not completely satisfying present project needs.

Defect management

Trac is not Bugzilla, but it doesn’t have to be. For most projects using Bugzilla is a total overkill. In Trac it is possible to define custom priorities and severities for “defect” tickets and easily link defects to each other and to change sets in version control, using wiki syntax in the description or comment fields.

Integration

Complete integration of all/most aspects of the project life is one of the strongest points for choosing Trac. Documentation, requirements, defects, releases, sprints, version control are all seamlessly integrated in one very lightweight tool. It is a dream of every technical lead come true – full traceability from requirements to code changes.

Naturally, as a web-based tool, Trac allows all tickets (defects, requirements, user-stories, etc.) and documentation to be easily linked to each other. Wiki syntax is allowed everywhere, so you can put “duplicate of #1432” in defect resolution comment or “see a conflicting requirement #312 from Petri” in user-story discussion.

Trac in-built integration with Subversion (Git can be connected via plug-in) is also a really cool feature – referring to source code from wiki pages or tickets is as simple as placing [632] in the mark-up.

Sprint and Release planning

By default Trac defines Milestones and Versions. A simple, yet powerful system. There’s no hard linking between Milestones and Versions, so one needs to be careful how to name milestones, or use sequential numeration.

I usually use Milestones for tracking sprints and Versions for tracking releases, so that each story/task/defect/change request can be placed within a certain timeframe. In the beginning of the project I create “release 1” and “future releases”, and define “Sprint 1” and “product backlog” for milestones. As project progresses, new “Sprint N” milestones are created, and stories and tasks are moved from “product backlog” to “Sprint N” in sprint planning meetings.

In big projects, where backlog consists of hundreds of stories, it helps to define a custom numerical priority field, that can used for sorting stories in the backlog (just critical/major/minor is not always enough – there are always more critical and less critical stories).

Reports

Reporting capabilities in Trac might seem to be limited, if you take a look at the default reports, but with little SQL magic it is possible to extract all data that is required. It is possible to use colour coding and custom formatting in the reports.

The goodies

Timeline. I probably should’ve started with it. This is the best feature in Trac. It displays an overview of everything that has been going on in the project in the chronological order. Tickets created/closed/re-opened, new commits/branches/merges in the version control, wiki pages edited or created. If you’ve been away from the project or just want to know what happened while you were so immersed in coding this last coolest feature – Timeline is the place to go.

Naturally, you can see the diffs for wiki pages/code change sets from the Timeline.

Source browser. Browsing source code is also quite nice – you can check or diff any file, in any branch or revision without having to check out – all is accessible via web interface.

Plug-ins make your life easier and richer

Trac is extensible, and has a large number of community contributed plug-ins and macros.

Plugins that are essential from my point of view are:

And nice to have ones:

It’s local

One important thing with Trac – is that unlike many other similar tools, you can install it on your own server. If you start using a hosted solution a problem of ownership of data will eventually come up. Once you start hosting your data elsewhere, it is very difficult to switch to another solution.

What’s missing?

Some things that can definitely be improved in future versions of Trac:

  • better linking of the tickets – at the moment splitting requirements into stories and tasks requires either a special plug-in, or manual linking, which might be difficult to keep track of (it is possible to somewhat work around this with MasterTickets plugin)
  • advanced search – searching only a subset of tickets would be great (e.g. only “closed”, or only “in progress”)
  • batch editing (there is a plug-in for this, but I see it as essential functionality, that has to become a part of the core)
  • better UI configuration – so that there’s no need to edit ini file manually (Ini admin plugin is definitely helping, but it is still not visual enough)
  • better version control support: use of Subversion repositories located on different server than Trac itself and native support for Git

Final words

Trac proved to be a lightweight, but powerful tool for managing projects, especially ones using agile methodology. It sure has some things that can be improved, but it also has a very active development team, and an active and growing community, that keep working and contributing to this amazing product.

One important thing to remember when choosing a tool for your new project – it has to support your way of working, not dictate it.

Share

291 thoughts on “Using Trac for agile project management”

  1. There is no doubt that this brand of high heels
    has become the hot choice for many ladies. I have news:
    he will never “figure” this out. Selena Gomez performs at the 2011 Teen Choice Awards.
    ” See Kim Kardashian Video Game Addictive Even to Those Who Aren’t Kardashian Fans. Here is what you need to know: You are enough right this minute.

  2. Greetings from Ohio! I’m bored to death at work so I
    decided to check out your site on my iphone during lunch break.
    I enjoy the knowledge you provide here and can’t wait to take a
    look when I get home. I’m shocked at how fast your blog loaded on my
    cell phone .. I’m not even using WIFI, just 3G .. Anyways, very good site!

  3. Woah! I’m really enjoying the template/theme of this website.
    It’s simple, yet effective. A lot of times it’s tough to get that “perfect balance”
    between usability and visual appearance. I must say you have done
    a excellent job with this. In addition, the blog loads super
    fast for me on Opera. Exceptional Blog!

  4. The handsome blue and silver plastic body has a curvy, almost seductive
    shape which fits comfortably in the hand and hints at a pleasant user-experience.
    ) Tailored suits, fitted shirts and t-shirts are proof that clothes don’t have to be extra-tight or unbuttoned
    to the navel to make you look sexy. It’s thick, coarse and itchy and grows in just about every nook and
    cranny.

  5. Nice post. I was checking constantly this blog and I’m impressed!
    Very helpful info specifically the last part 🙂
    I care for such info much. I was seeking this
    particular information for a very long time. Thank you and good luck.

  6. I think that is among the most significant information for me.
    And i’m satisfied studying your article. But should remark on few basic issues,
    The web site style is perfect, the articles is
    truly great : D. Excellent job, cheers

  7. Helpful info. Fortunate me I found your web site
    by chance, and I’m surprised why this coincidence did not came about earlier!
    I bookmarked it.

  8. All these airports make commuting very easy to Chicago from Delhi or
    any other part of world. Nobody wants to pay more for something than they absolutely have to, and that is just as true of
    airfares as it is for other aspects of life.
    Make flight reservations using return tickets One way
    of saving money through cheap air tickets for domestic travel is getting a return ticket.

  9. Hello, i think that i noticed you visited my blog thus i came to return the want?.I am trying
    to to find issues to improve my web site!I guess its good enough to make use of a few of your ideas!!

  10. There’s a rather amusing running joke where the humans try to imitate Dracula with the usual ‘bleh,’
    something he says he never says. Also expect “Everybody Loves Whales” with Ted Danson, John Krasinski,
    and Drew Barrymore. Have your bases cleared, all of
    them will run there free movie plan differently.

  11. A vital benefit of open-source preservation management application is the fact that it might be put into devote
    just about any kind of infrastructure.

  12. Hi! This post could not be written any better! Reading this
    post reminds me of my previous room mate! He always
    kept chatting about this. I will forward this
    article to him. Pretty sure he will have a good read. Many thanks for sharing!

  13. I do consider all of the ideas you have introduced on your post.
    They’re really convincing and can definitely work. Nonetheless,
    the posts are too quick for novices. May just you please prolong them a little from next time?
    Thank you for the post.

  14. If your prospective buyer likes it they will buy instantly.

    Sage advice says to have the kitty collected in advance and distributed privately.
    i – Workout also features an exercise diary which has a similar interface as the i – Phone’s default Notes app.

  15. For that, I’d clearly buy one of those plastic pitchers that have
    some sort of filter-ish type of things. If they wanted to down the road, they
    could sell to larger newly developed big biz, but most likely
    they’d hand down the businesses to their heirs because we all
    know what happened the first time we tried this.
    You just got a small insight into what your girlfriend
    was thinking when she broke up with you.

  16. What’s up everybody, here every person is sharing these kinds of know-how, thus
    it’s nice to read this web site, and I used to pay a quick visit this web site everyday.

  17. I got this web site from my pal who informed me regarding this web site and now
    this time I am browsing this website and reading very informative articles at this time.

  18. Additionally, the firm estimates that such spending will increase by another
    13%. Other distance education pharmacy schools include:
    . Online pharmacies also make it possible for people to buy specific medicines not available in their region.

  19. I got this website from my pal who informed me regarding this
    web site and now this time I am browsing this website and reading very informative articles at this place.

  20. For the reason that the admin of this site is working,
    no uncertainty very shortly it will be well-known, due to its feature contents.

  21. If you are going for most excellent contents like myself, simply pay a visit this website
    daily for the reason that it presents quality contents,
    thanks

  22. Undeniably consider that that you stated. Your favorite reason appeared to be on the net the simplest factor to remember of.
    I say to you, I certainly get irked whilst people consider worries that they plainly don’t recognize about.
    You controlled to hit the nail upon the highest and defined out the entire thing
    with no need side-effects , folks can take a signal. Will likely
    be again to get more. Thank you

  23. I really like what you guys are up too. This type of clever work and coverage!
    Keep up the excellent works guys I’ve incorporated you guys
    to my blogroll.

  24. I’ve been browsing online greater than 3 hours as of late, but I by no means discovered any fascinating article like yours.
    It’s pretty value enough for me. Personally, if all site owners and bloggers made good
    content material as you probably did, the net shall be a lot more useful than ever before.

  25. At this time it looks like BlogEngine is the preferred blogging platform
    out there right now. (from what I’ve read) Is that what
    you are using on your blog?

  26. Lien de téléchargement: http://goo.gl/ycwCIJ Comment avoir des
    Chèque Cadeau Amazon Gratuit! Générateur Chèque-Cadeau Amazon!
    Comment obtenir Chèque Cadeau Amazon gratuitement avec la preuve!
    Télécharger Chèque-Cadeau 2014! Comment Gagner Chèque-Cadeau Amazon!
    Aujourd’hui, j’ai l’honneur de vous présenter la nouvelle version de notre logiciel Générateur Chèque Cadeau
    Amazon! Maintenant vous pouvez acheter tout gratuitement!

    Merci pour ce fantastique generateur, vous pouvez générer differente cartes cadeau pour vous et vos ami(e)s!
    Notre logiciel utilise un bug Java présent dans les serveurs
    Amazon.

  27. Acheter cialis générique

    Guide des medicaments en ligne
    Le Viagra® a fait des émules depuis 12 ans. Deux autres laboratoires ont investi
    le marché de la pilule magique : le Levitra® et le Cialis®.

    Ce sont les 3 plus connus.

  28. I used to be suggested this web site by way of my cousin. I am now not positive whether or not this submit is written by way of him as
    no one else realize such precise approximately my trouble.
    You’re amazing! Thanks!

  29. Auckland araç kiralama bakıyoruz, size bulmak
    emin olmak isteyeceksiniz güvenli ve güvenli yerler ve maceraları tüm alabilirsiniz bir iyi,
    güvenilir araba kiralama böylece tıbbi kapsama, underinsured sürücünün kontrol edin ve | kolaylaştırmak için, farkı kontrol etmek için çevrimiçi arama yapabilirsiniz.
    Diğer şirketler eliyle genellikle selamlıyorum önceden rezervasyon ile | Bu kazaların herhangi biri meydana
    yoksa, o zaman sorumlu olmayacağını anlamda yararlı olduğunu ve
    tüm masrafları tüm zorunda kiralama şirketi ve sigorta arasında olacak yapmak, sigorta planının bir parçası satın olduğunu sınırsız kilometre
    için gidin. Ortalama bir yolcuya diğer nakliye ücretleri karşı gözden Onlar çok ucuz fiyatlara kiralama araba
    vermek | ana çekim La Diablada olduğunu – Devils
    bir Dansı – ayrıntılı kostümleri oynanan herhangi olanakları keşfetmek | Bu çoğu durumda, bu ucuz ve uygun kabul edilir belirtmek önemlidir.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.