Continuous Integration (CI) is a development practice where code changes are frequently merged into a mainline and automatically tested.
This methodology not only guarantees early detection of potential integration errors but also ensures that the software is always in a release-ready state.
Nowadays, like not having version control, its absence a clear warning signal.
In terms of Joel Spolsky 12 steps for better code, this maps directly with the making daily builds. Except that now we do for almost any change, at any hour, and with fast feedback. That also makes unnecessary the “punishment” for babysitting the builds.