A chance to test the stability of the release
Code Slush, sometimes called Code Chill, is when you take a snapshot of the code in the Main/Master branch and test the stability of the release. It occurs usually before code freeze so QA to get a quick assessment of the release.
Difference between Code Freeze and Code Slush
Code Freeze occurs when no new code can be committed to the current release cycle. This is the code that is ready for Production.
Code Slush is just a snapshot of the release - developers could still commit code to the release branch. However, Developers should use caution when adding code as the code base as there may have been a lot of code changes for QA to validate.
When to Do Code Slush
In the past, we have done Code Slush when we skip a release week - usually because of a holiday or at the end of the quarter. QA will test the stability of the release branch at a certain point of time - usually by running automation or simple Acceptance Testing.
Code Slush is also done when a couple of major changes are added to the release that requires full regression - such as a third party API update. QA may need add
There have been times where a Code Slush would be implemented right after a long weekend - just to see how things are.
Five Things I Learned
It's good to announce that a Code Slush is going to occur. Developers that might have been waiting to commit code may do so before Code Slush.
It's good to have a specific set of Acceptance Tests for Code Slush. The test should be quick. A code slush is performed to make sure a specific component is working before a code freeze.
Code Slush worked great between long release cycles. It gives QA a heads up on how stable the release is before the code freeze. Useful if you do midnight code freeze and there's no developer around.
We have done several schedule Code Slush when Google released a new API. This allowed QA some extra time to do some testing - especially if you have to wait 24 hours to see specific results.
Sometimes when a developer makes a very risky change, they will request a Code Slush immediately after merging the code in - just to make sure that the changes aren't producing some unexpected changes.