Question: How do we prevent integration pain?
Answer: Continuous Integration.
Well, duh. There’s no longer an excuse for integration pain. It’s been proven time and time again that the engineering practices of XP can work. Now we’re seeing the rise of a new issue: Continuous Indifference.
We were probably always prone to mediating communication with tools – the sheer number of issue trackers that exist are proof of that. With Continuous Indifference you can throw broken builds over the wall, and around the room. “Nope, it’s not my commit that broke the build”.
Combine that with:
- an organisational addiction to email
- a few other bloated tools
- unmotivated developers – day rate contractors or disengaged permies
You have the perfect excuse for people to spent a pleasant afternoon debating who broke the build, and what to bill the debate to on their timesheet.
Screw that. It’s time to start again. Continuous Integration is people collaborating to achieve a shared goal. Continuous Integration is primarily a human practice. If you can’t do it without tools, you’re not really doing it. If your team don’t have the discipline to keep the build green, how will they do with the rest of your project?
It all comes down to attitude. Don’t be the last one to volunteer to fix the build. You’re a highly skilled software practitioner. Act like it.
Continuous Integration is an attitude.
Update: I’ve gone and echoed one of Jim Shore’s posts again. Bugger.