The title pretty well says it all. If changes in two or more components or subsystems can affect or break the other, you better get yourself a comprehensive automated build of some kind that exercises the integration of the two. In particular, and my hot button issue for the day, make database changes and code changes go through the same build and configuration management. Like it or not, a database and its application are most likely going to be strongly coupled. If you're writing new code that requires database changes, you really, really need both sets of changes to hit the code trunk at the same time.
Thank you for listening, I feel better now.
- Roy Moore