In Chapter 2, Software Engineering Techniques, we saw how our project builds could be automated in the Build automation section. Now that we can build and test our project with a single command, the question of how often this should be done arises.
"Ship It!" by Jared Richardson and William Gwaltney Jr. says:
"Ideally, you will rebuild every time the code changes. That way you'll know immediately if any change broke your build."
Sure, programmers always try and do it, but how often have you pulled an update from the SCM and forgotten to build before committing your code? To avoid this occurrence, builds can be triggered each time code is committed into the SCM. Such a setup is known as continuous integration. It has become extremely popular and is extremely effective for small and large teams working in an Agile environment.