How to prioritize tasks when you have multiple programming projects running in parallel

development-processproject-management

Say you have 5 customers, you develop 2 or 3 different projects for each. Each project has Xi tasks.

Each project takes from 2 to 10 man weeks.

Given that there are few resources, it is desired to minimize the management overhead.

Two questions in this scenario:

  1. What tools would you use to prioritize the tasks and track their completion, while tending to minimize the overhead?
  2. What criteria would you take into consideration to determine which task to assign to the next available resource given that the primary objective is to increase throughput (more projects finished per time unit, this objective conflicts with starting one project and finishing it and then moving on to the next)?

Ideas, management techniques, algorithms are welcome

Best Answer

Sounds like the company has taken on more work than it can handle and it's trying to dig itself out of a hole.

Give your salespeople a vacation, pick the projects that have the higest profit ratios, finish them and postpone the rest until they can be worked on.

Or get more people to work on the projects that you can't handle (it's not a mythical man-month scenario if there is no-one to work on them).

Related Topic