Avoiding collisions.
WHAT CAUSES PROBLEMS
Two people changing the same thing Long-running branches Undocumented decisions Nobody knowing what others are doing
WHAT HELPS
Small pieces of work Frequent merging Visible task tracking Brief regular communication
WHAT TO AGREE
Coding standards, enforced automatically Branch naming Review expectations What may be merged without review, if anything
WHAT TO AUTOMATE
Formatting and checks, so they are never debated.
WHAT TO DOCUMENT
Decisions with lasting consequences, briefly, where they can be found.
WHY
The reasoning is forgotten within months, and the decision gets revisited endlessly.
WHAT TO AVOID
Knowledge held by one person Undocumented manual processes Changes deployed without anyone else knowing
WHAT TO ESTABLISH
Who can deploy When deployments happen Who to tell
WHAT TO REVIEW
Whether the process is actually followed.
If not, it is too burdensome or nobody agreed to it.