Search code examples
project-managementtrac

Choosing a project managment tool


I'm looking for a small scale open source project managment tool. i'm currently looking for a more treditional tool and not necessarily one designed especially for scrum or agile.

i've worked in the past with test director and HP Quality Center. i was very happy with QC.

The main features i'm looking for are

  • Managing versions.
  • Managing customer / technical demands.
  • Managing tasks (assignment + tracking).
  • Managing tests (nice to have).

I've looked around recommandations here in the site and google and found Trac (there is no tutorial or screen shots available) , Teambox (looks too simple) , Pivotal Tracker (looks promising) and Open Atrium (wich also lacks a demo).

I will appreciate any suggestions regarding an apropriate tool for the tasks, and comments you might have on any of the tools mentioned above.


Solution

  • I use Trac with project-management also, and can recommend it as sufficient as I read your needs above.

    Native Trac comes without project-management support. Look at the plugin recommendation site of Trac. IMO best is when you add the following plugins to a freshly installed Trac-1.0:

    • SimpleMultiProjectPlugin
    • TimingAndEstimationPlugin
    • EstimationToolsPlugin
    • TracJsGanttPlugin
    • MasterTicketsPlugin
    • ​SubticketsPlugin
    • ChildTicketsPlugin
    • FullBlogPlugin
    • TracTicketStatsPlugin

    This is a good combination of all you need for good project-management. They can all be found at trac-hacks.org and plugin installation is quite easy for Trac.

    The basic idea is to plan everything based on tickets:

    • There are different types of tickets: 'task', 'defect', 'enhancement' or you could define new own ones.
    • Then you assign your tickets to projects, versions and milestones, there are ticket fields for that.
    • You can also plan dependencies of tasks by using ticket fields 'parent', 'blocked by', 'blocking'. Gantt charts can display those relationships.
    • You can query all tickets by those fields and display the results in tables.

    The teams can completely work based on tickets, every work could be described and planned with tickets. Traditional defect tracking tickets, but also even tasks or task packages can be reflected in tickets. Plan the owner, start and end dates. Group them and watch them in the charts to compare plan and reality.

    Managing versions

    Trac comes with milestones displayed as dated progress bars on a time-sorted Roadmap page. SimpleMultiProjectPlugin adds versions to that Roadmap page, and allows to filter by projects. Your ticket tables are links behind each progress bar. For example look here.

    Managing customer / technical demands

    You probably mean Requirement Management. There is no direct support for it in Trac, but I would simply organize such things with tickets and maybe additional links to wiki pages or external documents.

    Managing tasks (assignment + tracking)

    Each ticket lives in the life cycle (workflow can be changed to your needs, see also AdvancedTicketWorkflowPlugin) of states. It's in your hand to organize how you live this workflow. One of the suggested is:

    • 'new' - ticket without owner, just stored for later work, project may be set already
    • 'assigned' - ticket with owner, now scheduled to a certain milestone or version
    • 'accepted' - the owner starts to work on it
    • 'testing' - work has finished, testing starts, the owner likely changed now
    • 'closed' - everything finished
    • 'needs_work', 'reopened' - states like 'new' and 'assigned' but used to make clear it already was 'testing' or 'closed'

    You need to define rules in your organisation who can change the states in the workflow, e.g. project manager or worker or test department. It's up to you. Some things can be supported by Trac's permission system.

    The tracking of the ticket progress is supported in many different ways:

    • progress bars of milestones and versions
    • workload, burndown and Gantt charts
    • ticket statistics charts
    • ticket queries as tables, lists, ...
    • milestone charts (UpcomingMilestonesChartMacro)
    • ... many more ...

    Managing tests

    TestManagerForTracPlugin could be your friend there. Although this feature is ways better supported with tools like HP Quality Center.


    In the end there are many plugins for Trac, it's very flexible and scalable, and it's written in Python, means you can easily hack and fit it to your needs.