DEV Community

Serguey Shinder
Serguey Shinder

Posted on

Our Automation Thought Every Monday Was a Working Day

On Easter Monday our replenishment job did exactly what it does every Monday. It calculated stock, raised about two hundred and sixty purchase orders, and booked carrier collections for Tuesday morning. It also sent the week's delivery slots to our customers, including a batch of slots on the Monday itself, which the customer portal then accepted for orders nobody would be at work to pick.

The suppliers were closed. The carriers kept the collections but charged for two failed ones. Customer services spent Tuesday apologising to eighty four customers whose deliveries could not happen on the day they had booked.

When we went looking, the concept of a working day existed in at least nine places. The replenishment job treated Saturday and Sunday as non working and everything else as working. The invoicing run had a list of bank holidays typed into its code in 2021, which ended in 2023. The payment scheduler used the bank's calendar. The customer portal used its own table, kept up by a colleague in customer services who updated it each December from memory. Our two depots in Scotland observe different bank holidays from the rest, which only three of the nine places knew about.

Every one of those was a reasonable decision when it was made. Each automation needed to know when the business was open, and each author answered that question for themselves because there was nowhere else to ask it.

There is now one business calendar. It holds public holidays by nation, site closures, and the days particular suppliers and carriers do not operate, and it is maintained by operations planning, who already knew all of this and had been keeping it in a spreadsheet. Every scheduled job and every system that offers a date asks the calendar through a single service. Seven of the nine places have moved over, and the remaining two are on the plan for next year. Before each bank holiday, the service produces a list of every job that will run or skip that day, and somebody in operations reads it.

The calendar took about a month to build. The Easter Monday that prompted it cost more than that.

Automation takes a great deal of the business for granted. The days on which the business is open turned out to be one of the things it had been guessing.

– Serguey Shinder

Top comments (0)