The “Good Cop, Bad Cop” relationship with Tools and Automation

Context: This all started with a request to make the tool a team was using (JIRA) prevent a developer from moving a task that was “in progress” back to “not started”. The manager’s rationale was to forcibly highlight when the team started to work on too much stuff. The developer’s rationale was to fix an incorrectly started task.

It got me thinking about how we open up this discussion and make it inclusive. Some questions that seemed to work were:

Why do you need to be told how to “be good”?

When do you need the tool to “pick up after you”?

When do you need to be reminded about what your way of working is?

What mistakes do you need the tool to forgive or punish (or both)?

When do you need the tool to prevent all mistakes?

All of this stuff is enabled by automation. So just how much automation do you need, and what is it to be used for?

Automate or mechanise the “boring parts” of your job?

Validation for error prevention or error detection?

Automate all of the work variants? Or just the common ones?

As I like analogies, I thought I’d explore this using one, in this case, one of my favourite topics – “food”. For the purposes of this blog, assume time is magic and doesn’t cause any problems.

Making Soup

I want to eat something. Perhaps a bowl of soup.

just in case you don’t know what it looks like

The full process starts in the ground. I could start there with a fully manual solution:

The Good Life

Grow the raw ingredients from scratch. Prepare them as I want, cook them and voila, a delicious meal.

+ complete control of ingredients

– slowest method

– I could grow the wrong thing

I could “automate” that growing process, by buying the raw ingredients from a shop:

Carrot, Celery, Very-Strange-Onion

+ pretty good control

– may not have what I want in stock

– might not be able to manage the quality “precisely”

I could increase my levels of automation and also automate the preparation work by buying the pre-prepared stuff:

Definitely carrot sticks

– only partial control

– may not have what I want in stock

– may not be prepared as I need – e.g. carrot sticks when I need grated carrot

Or I could be extreme and also automate the cooking process:

+ fast

– limited control

– may not have what I want – e.g. I want “carrot and celery”, but all I can buy is “carrot and coriander”

– mass production, so probably very generic

Each of these levels of automation is accompanied by varying degrees of “policing”. If I’m a danger to myself when trying to chop vegetables with a knife, automating the preparation work is probably a good idea. But with that are constraints – I can only eat meals that can be made from pre-prepared ingredients.

Project Team Outcome

In the end, we left it such that you could move tickets back, and the policing aspect would be done by the humans in the team. Hopefully they chose that because it was the right thing to do, and not because they wanted my food analogy to stop…