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?