You can't just break development tasks into subtasks at will, they always have a natural structure. Also, you can't go reassigning developers all the time, they should always do their tasks from start to completion or their productivity suffers badly. Neither can you assign several developers to the same task and get a productivity improvement.