Matrix management structure with redmine

Added by Dmitry Chernyak about 13 years ago


I'm in the process of deploying Redmine as general-purpose IT project-tracker in reasonable big not-IT organization: we have IT dept about 100 persons and about 100 services in the catalog.
So we have many programmers, testers, admins, db admins, tech. support etc.

Matrix structure

The nature of our IT-services requires that each one must be serviced by many people from different IT-divisions. For example, our main ordering system is serviced by programmers, testers and db admins. etc.

For each service we have a team with a team Manager, who is responsible for the whole process and directs the tasks to the actors.
But each actor, in turn belongs to it's own IT division and has it's own IT-division manager.

So each actor is controlled simultaneously by two managers: team manager and IT-division manager. IT-division manager must (or may) approve the tasks from team manager, directed to it's actors.

This management structure is well known as "matrix structure".

Tuning Redmine

Placing the above onto Redmine I has made following decisions:

  1. Each IT-service is mapped to one Redmine Project. No separate subprojects for IT-divisions will be created.
  2. Each IT-division is mapped to it's own Tracker.
  3. Each Project has trackers = IT-divisions, attached to it and one more tracker "Incoming".
  4. Team manager has Role "Project Manager" and IT-division managers has Role "Manager" in corresponding project.
  5. Significant issue statuses are: "New", "On Acceptance", "Accepted", following by usual "Closed", "Rejected" etc.

I have advance Redmine by patch #4635 which allows to filter projects by Role.


  • By default, the issue is created in the tracker "Incoming" with the state "New".
  • Project Manager searching the issues with filter {Role = "Project Manager" AND Status = ["New", "On Acceptance"]} and directs it to the proper Tracker (i.e. the proper IT-division).
  • Division manager searching issues with filter {Tracker = TRACKER AND Status = ["New", "On Acceptance"]} and assigns it to the actor.
  • Actor changes the State to "Accepted" and begins to work.
  • If the issue requires to intervention of another division, the actor clears the "Assigned" field, sets the State to "On Acceptance" and changes Tracker to the proper IT-division or to "Incoming"

I have no planning of forcing users to follow this scheme strictly, because there are many horizontal links, which doesn't require manager's approval etc.

On the other hand, there are always a history of user manipulations on the issue, so the administrative order will take it's place.

I wrote this topic here because I spent some time on exploration of the problem and, it's possible, it helps to someone else.

Also I'll be glad for any comments and suggestions.

WBR, Dmi

Replies (4)

RE: Matrix management structure with redmine - Added by Lenny Burns almost 13 years ago

I would like to discuss your implementation further.

I am doing something similar and could use your insight.

Would you be open to a call today?

RE: Matrix management structure with redmine - Added by Lenny Burns almost 13 years ago


So would you be open to having a voice disucussion about my need to emulate what you are doing, but change it somewhat?

RE: Matrix management structure with redmine - Added by Dmitry Chernyak almost 13 years ago

Hmm... I'm afraid, my english is too bad for a voice :\
I think, the better would be to use jabber. My address is thing[at]