We want parallel development: multiple team members working at once without wasting work or blocking each other.
How do we collaborate best?
- Discuss functions as a team
- One implementor per function
- Commit when a function works
- Consider difficulty when dividing
- Consider relating functions when dividing
- Consider difficulty when dividing
- Divide up only some functions, not all
- Adjust later
- Integrate often
Optional reading: The Mythical Man-Month
”Adding manpower to a late software project makes it later.”