Having walked through the various scenarios, you team eventually decides everything can be accomplished using only six software components.
You can at this point assign the different components to different programmers for development.