Skip to content

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

58 Comments

  1. Jay wrote:

    Thanks for posting this. I’m new to managing my own project and this has helped point me in the right direction.

    Saturday, July 18, 2009 at 5:43 | Permalink
  2. Good info post. Thanks for sharing this article.

    Monday, October 5, 2009 at 14:36 | Permalink
  3. Amit Kumar wrote:

    Thanks for posting. I have one question: Do you use one trac for multiple projects? Or would you advise to use separate trac installations for each project? If one trac, how do you manage milestones and versions for several components?

    Tuesday, December 1, 2009 at 7:32 | Permalink
  4. Amit Kumar wrote:

    To add to my previous comment/question, I am new to trac. Your post will help me get going. Thanks again.

    Tuesday, December 1, 2009 at 7:33 | Permalink
  5. Jen Chitty wrote:

    Amit, great question. Having used Trac for a few years now, I have to say that this is one of Trac’s greatest weaknesses. It is fantastic for one project, but as soon as you want to start one or more new projects based on the old, Trac falls down. Especially if you’ve inserted references to Trac tickets into your Subversion changeset log messages. If you start a new Trac instance sharing the same Subversion repository as another, then which ticket #123 does your changeset log really refer to?

    Wednesday, December 2, 2009 at 23:27 | Permalink
  6. Dev wrote:

    Great article Ivan, with the sort of simplicity and customization trac offers, it really is a nimle and agile tool.

    Friday, September 24, 2010 at 13:32 | Permalink
  7. lushcluralm wrote:

    Howdy doo, Hello there, Hey there everyone,

    I have been attempting to find a supplier of some biker patches very close to the ones shown here
    lapel pins to put on my motorcycle club vest and I need a recommend source for a place to buy them from.

    Thursday, December 2, 2010 at 2:17 | Permalink
  8. Puneet Lamba wrote:

    This is a good poor man’s solution.

    And when you’re ready for a shrink wrapped product, try IBM’s Rational Team Concert, free for up to 10 users.

    See my review here.

    http://puneetlamba.blogspot.com/2011/03/revolutionary-agile-project-management.html

    (Note: I have no monetary relationship with IBM or any of its subsidiaries.)

    Tuesday, March 29, 2011 at 23:07 | Permalink
  9. YOSUKE wrote:

    Thanks for your posting. I’ve just started managing pjs with Trac. Is there any good site or book introducing how to use it?

    Thursday, November 10, 2011 at 3:44 | Permalink
  10. Nice article! Tks for sharing.

    Wednesday, May 13, 2015 at 17:06 | Permalink
  11. venorex wrote:

    This definition satisfies desires through the use of an element blend
    of tip high fixings which have been confirmed to help your skin in all conduct.

    Thursday, May 14, 2015 at 17:04 | Permalink
  12. It’s remarkable in support of me to have a web page, which is good designed for
    my knowledge. thanks admin

    Thursday, May 14, 2015 at 17:43 | Permalink
  13. Emily wrote:

    What’s Taking place i am new to this, I stumbled upon this I’ve found It absolutely helpful and
    it has aided me out loads. I hope to give a contribution & assist
    other customers like its helped me. Good job.

    Thursday, May 14, 2015 at 22:02 | Permalink
  14. It is usually stated the invisalign has ended up being a far better choice to
    the dental implant dental practitioner las vegas.

    Friday, May 15, 2015 at 2:04 | Permalink
  15. You need to be a part of a contest for one of the highest quality sites on the net.
    I am going to recommend this site!

    Friday, May 15, 2015 at 4:20 | Permalink
  16. tiles wrote:

    Thanks a bunch for sharing this with all of us you really recognize
    what you’re talking about! Bookmarked. Kindly additionally consult with my
    site =). We may have a hyperlink exchange arrangement between us

    Friday, May 15, 2015 at 20:33 | Permalink
  17. Hi my family member! I want to say that this post is amazing, nice written and come with almost all
    vital infos. I’d like to peer extra posts like this .

    Friday, May 15, 2015 at 21:10 | Permalink
  18. Brandie wrote:

    To avoid high expenses, put off financing a new or used vehicle.
    The late years bad credit auto loans have become increasingly common and
    more and more customers are enjoying the benefits of getting finance for the purchase of a car even with
    bad credit. Getting a loan from a regular lender with bad
    credit can be difficult.

    Saturday, May 16, 2015 at 1:55 | Permalink
  19. Call me for more info.

    Saturday, May 16, 2015 at 7:48 | Permalink
  20. Now, this isn’t to say that you’ll want to be imply to your ex or that being merciless and nasty to him is the
    attitude to have.

    Saturday, May 16, 2015 at 8:32 | Permalink
  21. body hair wrote:

    Attractive portion of content. I simply stumbled upon your site and in accession capital to say that I get actually loved account your weblog posts.
    Anyway I will be subscribing to your augment and even I achievement you get admission to persistently fast.

    Saturday, May 16, 2015 at 8:58 | Permalink
  22. Examine to ensure the dentist you’re thinking about has a method for clients
    to obtain in contact if an unexpected emergency does strike.

    Saturday, May 16, 2015 at 16:04 | Permalink
  23. Thanks for one’s marvelous posting! I actually enjoyed reading it,
    you’re a great author. I will always bookmark your blog
    and will eventually come back at some point. I want to encourage yourself to continue your great posts,
    have a nice day!

    Sunday, May 17, 2015 at 20:15 | Permalink
  24. May I simply just say what a comfort to discover somebody who actually knows what
    they are discussing online. You certainly realize how
    to bring a problem to light and make it important. More and more people
    should read this and understand this side of the story.
    I was surprised that you aren’t more popular given that you
    definitely possess the gift.

    Tuesday, May 19, 2015 at 0:22 | Permalink
  25. I visited various websites however the audio quality for audio
    songs exissting at this site is truly marvelous.

    Tuesday, May 19, 2015 at 5:20 | Permalink
  26. I don’t even know the way I stopped up right here,
    however I believed this post was good. I don’t recognise
    who you’re but certainly you are going to a famous blogger
    if you happen to are not already. Cheers!

    Tuesday, May 19, 2015 at 12:14 | Permalink
  27. Stephany wrote:

    Additionally utilizing movies video games aas ɑn escape gozt for murders and crime аs a completе, fսll rubbish.

    Wednesday, May 20, 2015 at 5:06 | Permalink
  28. Hello colleagues, how is everything, and what you would like to say regarding this article, in my view its in fact amazing for me.

    Wednesday, May 20, 2015 at 8:56 | Permalink
  29. Anonymous wrote:

    If you are going for finest contents like I do, just pay a quick visit this website all the time since it
    gives quality contents, thanks

    Wednesday, May 20, 2015 at 9:57 | Permalink
  30. Oh my goodness! Amazing article dude! Thank you, However I am experiencing issues with your
    RSS. I don’t understand the reason why I am unable to join it.
    Is there anybody else getting the same RSS problems?
    Anyone that knows the solution can you kindly respond?
    Thanks!!

    Wednesday, May 20, 2015 at 22:17 | Permalink
  31. This paragraph offers clear idea in support of the new visitors of blogging,
    that really how to do blogging and site-building.

    Wednesday, May 20, 2015 at 22:48 | Permalink
  32. motor trade wrote:

    How about all the electrons trade insurance and atoms involved, under what Schrodinger
    has proven about it, you’re a mysterious, armed,
    floating stump infringing on their property.

    Thursday, May 21, 2015 at 2:26 | Permalink
  33. If some one wants to be updated with newest technologies after that he must be go to see this web site and be up to date every day.

    Thursday, May 21, 2015 at 5:13 | Permalink
  34. Olive wrote:

    Thank you for not falling prey to a misleading affiliate plan. Thank you for posessing performed your homework.

    Thursday, May 21, 2015 at 7:41 | Permalink
  35. Everyone loves what you guys tend to be up too. This sort of ingenious work and reporting!
    Carry on the awesome works guys I’ve you guys to our personal bookmark.

    Thursday, May 21, 2015 at 12:43 | Permalink
  36. blackedge fx wrote:

    The unique Aquacoil radiator I utilized in my
    last assessment I purchased over a yr in the past.

    Thursday, May 21, 2015 at 22:04 | Permalink
  37. I savour, cause I discovered just what I used to be having a look for.

    You’ve ended my 4 day long hunt! God Bless you man. Have a nice
    day. Bye

    Friday, May 22, 2015 at 2:43 | Permalink
  38. cheap tshirt wrote:

    Thanks for sharing your thoughts. I really appreciate your efforts and I am waiting for your further post thank you once again.

    Friday, May 22, 2015 at 4:14 | Permalink
  39. Thanks for finally talking about >Ivan Kuznetsov ›
    Using Trac for agile project management <Loved it!

    Friday, May 22, 2015 at 11:36 | Permalink
  40. This is mmy first time visit at here and i am actually impressed to read
    everthing at single place.

    Friday, May 22, 2015 at 12:43 | Permalink
  41. We’re a bunch of volunteers and starting a new scheme in our community.
    Your website offered us with helpful info to work on. You have performed an impressive job and our whole group will probably
    be grateful to you.

    Friday, May 22, 2015 at 15:33 | Permalink
  42. In fact no matter if someone doesn’t understand after that its up to other viewers that they will help, so here it occurs.

    Friday, May 22, 2015 at 17:02 | Permalink
  43. bandar bola wrote:

    Thanks for your personal marvelous posting! I actually
    enjoyed reading it, you are a great author.I will make sure to bookmark your blog and will eventually come back at some point.

    I want to encourage that you continue your great job, have a nice holiday
    weekend!

    Saturday, May 23, 2015 at 4:55 | Permalink
  44. Motivation wrote:

    If you happen to be someone who is low on confidennce and lacks productivity, it’s most likely you have lost your inspiration. Yet online learning iis harder for those who
    are not self-motivated. Whenever shee has to
    make a presentation, not only does she show clients how she came to her conclusion using sound
    logic, she also shows that she herself has faith in it.

    Saturday, May 23, 2015 at 6:01 | Permalink
  45. As a result oof modernization, whitened colour is no lengthier a master color within marriage ceremonies.

    When you are looking for corset that will give you more chances to
    create different look ebery time you wear it the under-bust is the one to choose.
    Many females are opting for the custom designed corset
    also, so that the whole fitting is done by their boxy size measurements.

    Saturday, May 23, 2015 at 8:36 | Permalink
  46. Birgit wrote:

    Iknow both of the guys and they were like, “What has gotten in to you. (If you read my hyperlinked article you will see that we are seldom taught how to do them correctly. For a lady, dressing for an occasion could be one of the very important parts of the occasion.

    Saturday, May 23, 2015 at 9:05 | Permalink
  47. Blogger wrote:

    The accessibility of food, clothing, transportation and the like are no
    longer the responsibility of the individual hunter, trapper, or fisherman. s
    frolic, to unstructured and random play within the home,to the fulfillment of a dream in winning a tournament championship,
    to the pursuit of a healthy lifestyle through regular sport participation. In addition, there are few things thatt warm tthe heart more than the smile and look of delight onn
    the face oof the recipient.

    Saturday, May 23, 2015 at 11:50 | Permalink
  48. Hey very nice blog!! Guy .. Beautiful .. Superb .. I will bookmark your site and take the feeds
    additionally? I am glad to seek out numerous useful
    info here within the put up, we want work out more techniques on this regard, thanks for
    sharing. . . . . .

    Saturday, May 23, 2015 at 20:01 | Permalink
  49. Useful info. Lucky me I found your website by chance,
    and I am stunned why this coincidence didn’t came about earlier!
    I bookmarked it.

    Sunday, May 24, 2015 at 3:30 | Permalink
  50. tourism wrote:

    Hi there would you mind letting me know which web host you’re
    utilizing? I’ve loaded your blog in 3 different browsers and I must say this blog loads a lot quicker then most.
    Can you suggest a good internet hosting provider at
    a honest price? Thanks, I appreciate it!

    Sunday, May 24, 2015 at 20:51 | Permalink
  51. courier wrote:

    You just tune your car stereo to the same frequency
    as the Modulator and now your MP3’s play right through your car stereo.
    For instance, a verified merchant badge from is especially attractive because it
    guarantees you. If that is where your primary interest lies,
    you’ll do better if you stick to buying your books at online or brick-and-mortar stores.

    Monday, May 25, 2015 at 15:05 | Permalink
  52. And where work is concerned, sine the majority of people
    do not get security software doownloaded onto their phones (many people aren’t even aware there iis certainly such a thing), hackers caan merely sit outside work and get to your account when you are
    sitting in your car or truck at lunch. Good, clean and safe environment iss
    one thinjg that everyone wants. These peopole
    try countless varieties of ddiets and participate in a number
    or excruciating workouts only to achieve their desired body weight.

    Tuesday, May 26, 2015 at 14:36 | Permalink
  53. Anonymous wrote:

    Thanks on your marvelous posting! I genuinely enjoyed
    reading it, you may be a great author.I will remember to bookmark your blog and
    will come back later on. I want to encourage yourself
    to continue your great writing, have a nice morning!

    Tuesday, May 26, 2015 at 19:34 | Permalink
  54. Business hr wrote:

    Yes! Finally someone writes about finance ratios.

    Tuesday, May 26, 2015 at 22:15 | Permalink
  55. However, without me understanding whyy initially. But full provincetown rimmed, semi rim style to
    yourr skin tone. Maybe yoou have bifocals or trifocals can cost you gett the chance of its complexity.
    As oldd cells die they become trapped within the cornea to create 3D
    effect is similar to spiit out tthe circles. Whenn anything
    iss branded as cheap as $10. Thhe brand new experience to your residence and askk mme to my
    eyebrows.

    Thursday, May 28, 2015 at 11:16 | Permalink
  56. www. wrote:

    It’s amazing for me to have a web page, which is good in favor of my know-how.
    thanks admin

    Thursday, May 28, 2015 at 21:38 | Permalink
  57. I go to see everyday a few web pages and blogs to read articles or reviews, however this weblog presents feature
    based posts.

    Friday, May 29, 2015 at 10:13 | Permalink
  58. hi!,I llove your writing very a lot! share we keep inn
    touch more approximately your article on AOL? Irequire an expert in this
    space to solve my problem. May be that’s you! Taking a look ahead to see you.

    Friday, May 29, 2015 at 12:58 | Permalink

2 Trackbacks/Pingbacks

  1. active trac - StartTags.com on Friday, January 29, 2010 at 6:50

    […] Trac : … usr/lib/python2.4/site-packages/trac/web/fcgi_frontend.py change _fcgi.WSGIServer …Ivan Kuznetsov Using Trac for agile project managementIvan Kuznetsov – web 2.0 enterpreneur, agile evangelist and consultant … There are multiple […]

  2. […] Aaaaaand.. finally, using TRAC for project management (because like all other Kenyans, I suck at keeping time – hopefully a stereotype that’ll soon change, by us no less) Learn more here: http://www.ivankuznetsov.com/2009/05/using-trac-for-agile-project-management.html […]

Post a Comment

Your email is never published nor shared. Required fields are marked *
*
*