- everyone on the team commits and pushes to a shared mainline at least daily
- commit causes an automated build and test
- when the build fails, it’s usually back to green within ten minutes
- using feature branches is Daemonic Continuous Integration
It’s a simple set of questions, but it gets to the core of what Continuous Integration is about. The whole idea is that nobody is working on a code base that deviates significantly from anyone else’s. Continuous Integration means the team knows what the current state of the code truly is, we avoid big risky merges, and people can refactor as much as they need to.