Automation the Right Way

Going Odoo Episode 5

If you prefer audio, click above to listen to the podcast. If you prefer a written format, take a look at the show notes below.


We all know that automating business process can have some incredible positive impacts: It increases employee efficiency, reduces errors and can operate even when staff aren't available. But automation also has it's downfalls. It can reduce the flexibility of the system, can cause errors to go unchecked if they fail silently, leads to staff not knowing what the process is and often, makes them fear losing their job. The automation revolution is quickly being considered a threat by many workers.

But the best automation isn't be designed to replace human workers, it's designed to assist them. It generally isn't aimed at replacing entire jobs, it just reduces time spent on many of the mundane tasks that every job has. This is because the tasks that are easy to automate are also the tasks that are repetitive and cognitively-unrewarding, those tasks most employees hate. With less time spent on those, employees are free to spend more time on tasks that are harder to automate, especially those that require emotional intelligence or dynamic decision making.

As a software consultant, my aim, first and foremost, is to allow companies to grow using their current staffing pool. Very few companies would ever prefer to keep the same revenue and cut off multiple employees, growth is the aim of most businesses.

Taking it Too Far

Firstly. you don't need everything to happen in a single click. I get it, there can be a lot of steps involved in a process and it would be nice if they just happened. Say you confirm a sale order, that could create the purchase order for any missing products, confirm that and send it to the vendor, calculate the size and weight of the items, contact the postal company and get a consignment number, invoice the sale and send that to the customer and voila, it's done.

But what happens if something goes wrong in all of that, if a vendor no longer supplies a product? Or if you want to do something different, like not sending an invoice because the customer has a credit to apply to it or it's a $0 sale that you've made to send Christmas baskets to your top clients.

This kind of flexibility is where many automation systems can fall down. The system is rigid and has only one way of doing things, and if you've overridden the default confirm sale button to do all of these steps, you can't even do the process manually any more. 

Giving Back Control

When there's so much going on, you need to let the user know the different steps that will occur if they continue, and let them decide if any steps should be done manually. This could mean that when you click confirm another screen pops up and gives you a number of options. 

Users can now decide whether they want the invoices to be sent or not, but the rest of the process can be done as usual. Or they can turn off all of the automation and do the whole process manually. And the options for this screen can default to fully automated, which means it's still only two clicks for regular sale orders.

Automation Second

Another issue I see time and time again is companies trying to automate a brand new, multi-step process. Even if near complete automation is the end goal, starting out with that level of automation can be a recipe for disaster. 

For one, the first approach you take to solve any problem won't always be the best. Taking some time to refine the process before invested it making it fully automated can help create a better solution long term.

Even with a great approach, every workflow has edge cases and it has its failure points. Taking some time to do the workflow manually will not only help find these, it will allow you to work out what should be done in each of these cases. 

It also means staff will be more familiar with the process. This means they will be more likely to spot any errors that may occur in the future and gives them the knowledge to take over manually if need be.

Failing Safe

How do we ensure that the system is operating the way it's meant to? Do you do a regular inspection to ensure it's operating correctly? If the system fails, does it fail silently or does it let you know? How? And how well can you take over from where it was? 

Not every system will work perfectly every time, there's too many variables that could throw a spanner in the works. But failing to plan for when these event occur can be disastrous, an automated action doing the wrong thing for weeks or months can easily lead to dozen of hours of data cleanup.


All-in-all, automation is a great tool for getting the most out of your employees, but it's not something to rush into with a sloppy approach. It requires careful thought on how it will work in all different cases, including failure, and an acceptance that automating 90% of the work with a flexible system may be a better approach than automating 100% with a rigid one.