We've been using Microsoft Project in our engineering design course. You can create tasks, set deadlines, assign resources (both human and physical), track work done on tasks, create work breakdown structures, and stuff like that.

Our professor had us use it for group assignments, which wasn't the best for a small group of people. But for a larger company, I can imagine it'd work wonders.