| +1 to XP. Pairing removes many barriers to development: * built-in code review * knowledge sharing: removes silos * helps avoids overengineering (few pairs have the same overengineering idea, so you tend to settle on a decent un-overengineered solution) TDD, which I'm not fully convinced on, acts a clock for pairs: one person writes a test, one person writes the implementation, flip roles, repeat. Other XP practices: everyone works at HEAD, deploys from HEAD, retrospectives. Small features went from discussing with customer, to writing the implementation, tests, monitoring, and deploying it in half a day. The disadvantages of ~full pairing: remote is harder to support, I missed getting into flow, fixed working hours. |