I’ve just reached a natural point where I should release some software to the customer, but I can’t. I can’t because it’s a Friday and I don’t release software on a Friday.
This might at first seem like an odd little foible or possibly the symptom of some form of obsessiveness disorder but actually there’s method behind my madness.
There’s something psychologically important about Friday and about the concept of a week. If there’s no reason to set a deadline otherwise then it tends to be “by the end of the week of…” and that means Friday afternoon.
It’s clean, it’s logical. The product will arrive on the Friday night so the customer’s team can come in fresh from the weekend and start working with it on the Monday morning.
The problem is that this means finishing the product on a Friday afternoon. Of course we are all professional, but with all the professionalism in the world concentration levels aren’t at their highest on Friday afternoon. What’s more it’s the time a lot of people try to knock off early and it’s certainly the day when fewest people are prepared to stay late.
To exacerbate things software development itself is famously difficult to predict but rarely do people overestimate time. There’s usually a lot of pressure as the deadline approaches and anything that reasonably can be dropped, de-scoped or downscaled is.
Releasing a piece of software – and doing so properly – is not a trivial task. There are a lot of hoops to jump through to make sure that everything is watertight. Mistakes can be costly too, even if they’re just in the admin. Record the version number of a component incorrectly and you might spend days trying to reproduce a bug in the wrong place.
Although it’s mostly admin, there’s a lot of stuff that can go wrong with releasing software and it all takes time to fix.
The net result of the above is that delay tends to knock on into delay and by Friday morning there’s usually so much to do it’s only just theoretically possible if everything goes according to plan.
It is, of course, inevitable that it won’t.
So 2 minutes before the end of Friday you kick out the door what you have on the bench. It’s sort of the right shape. You then go to the pub and celebrate prematurely, because on Monday morning the issues will start getting logged because you went and spoiled a great piece of work by rushing it at the last minute.
So I try to release software on a Tuesday. Logically it makes no difference, Monday is one business day after Friday just as Wednesday is one business day after Tuesday but a lot more people are willing to stay late on a Tuesday and there’s something about not having the weekend there that makes customers much more willing to accept delivery on Wednesday lunch time than Monday lunch time.
I’ve been doing this for about 10 years now, it works really well.
[Written on a Friday, published on a Monday]