That being said, last time that happened was 18 months ago.
Most people don't work over the weekends so it's actually not too bad for us.
Why not Thursday?
That way if something goes wrong on Friday you've got a weekend to fix it, before the users come back on Monday.
+1
Sometimes something has to be coordinated but we try to prevent that with feature flags or putting "shims" of code in to bridge us from one workflow to another and just remove the "shims" later.
Continuous integration plus small feature changes per 'ticket' and each item can be deployed whenever it is ready. Ability to roll back a deploy in minutes.
Occasionally if there is a fire or bug fix that needs to go out, those will go on Fridays.
Who wants to be fretting all weekend about if something is going to blow up?
If you deploy on Fridays because of low user counts and there is some unforeseen problem with actual users then you start your work week on Monday with that problem.
We're based in central Europe. So friday is a work day. Friday is weekend in the UAE so there's usually less traffic.
If it the release/deploy doesn't work out, we roll back and try again the next week. We make it a point to release small, reversible change sets.
Also, regardless of the day: deploy before 12:00. This is usually enough to prevent release related work (or firefighting) from spoiling into personal time.
We invested work on those and try to deploy as we can.
It works great for us but obviously you need to try and see what does for you.
But companies I've worked for in the past have generally avoided releasing anything after a certain time on a Friday. Usually, anything we want to release that day needs to be out before 4pm or so, to give people time to catch any issues that may crop up.
During the summer, we rotate to give everybody every other Friday off, and the rest of the time it's generally the policy to work from home Fridays unless there is a really pressing reason not to.
This tends to allow a lot more real work to get done on Fridays than any other day of the week.
There's no need and any pressing release is artificial. I schedule the releases to go out at any time during the week, except Fridays. Fridays are for heads down work, then some pair programming stuff for my engineering team.
So, a friday deploy means our test-suite has failed us...