Project Management – How to Split Up Initial Work on a Project

division-of-laborproject-managementteam

I'm finding it hard to divide work in a group of programmers when a project starts out. It seems like every project has one big piece of core functionality that everything else depends upon. I find that I tend to make decisions on how this core is going to work as I write it. So I see two ways you could do this::

  • Have one person write this core up to a point where separate tasks become clear.
  • Do a lot of planning to design the components of the system and how they'll interact, then divide them up.
  • Something else entirely.

Which option will allow my team to work most efficiently?

Best Answer

Option 3 might be feasible (if your team size is not larger than ~5):

  1. do a little planning about some of the components, just enough to split the work up

  2. let one person describe the interfaces between the components found on 1, then start to distribute the work as soon as possible

  3. goto step 1, where you continue planning to refine the components iteratively, distribute the work again

And make sure your "core" does not get a big-ball-of-mud - surely you can give it a structure, with separate layers and/or components. Then it is much easier to distribute the work.

Related Topic