Originally called SingleReleasePoint, but changed to this name because ''releasing'' is not the same as ''integrating''. To release is about producing software that is ready for installation at a production machine. To integrate is to do a successful check-in in the shared source repository, in which success means the source fully compiles and all AutomatedTest''''''s pass. Is this one of the ExtremeProgramming practices? Using CVS (ConcurrentVersionsSystem), a SingleReleasePoint is a GoodThing, but a SingleIntegrationPoint is totally unnecessary. A BuildMachine is usually necessary for DailyBuild or ContinuousIntegration (shouldn't it be called ContinuousBuild instead?). A BuildMachine should build the software after any check-in. There are many tools to do AutomatedBuild''''''s. A common technique is to number builds incrementally so that any build number is a successful build. I prefer to have good builds and build breaks. BuildNumbers are free.