The tell in advance approach is common place in countries with strong unions. The company might need to announce layoffs half a year in advance of the actual layoffs.
In effect noone will lose their job quickly unless there is a bankruptcy.
There is probably way less confusion in that way since you know that security guards wont escort you out any minute ...
Far better for everyone involved to do it quick rather than perfect. Those getting let go shouldn't see it coming and those staying shouldn't find out before it's all been done.