Most software developers have been in these shoes: You’ve got a repetitive task or set of tasks that you just know you can automate… so you sit down in front of an IDE and hours and hours later you have some convoluted code that automates the thing you were doing.
Maybe it takes a couple days, even, to get a good framework of scripts, dashboards, etc. together to “solve” your problem.
I’ve started doing a postmortem analysis, and as early as possible a pre-mortem analysis, with automation projects, that views the automation in terms of “time saved ROI.” If my task takes 1 minute a day and it takes me 3 hours to write up some automation to do it automagically, it’s going to take 180 days to “pay myself back” for that automation. Maybe that’s worth it! Probably not, though, because on the daily it’s not really giving me that much time back to focus on other things.
If a task takes 20 minutes a day and it takes me 3 hours to write up some automation to do it, well now we have a full ROI in 9 days. That’s almost definitely worth it… 20 minutes is like, 3 episodes of Bluey with my kids.
I’ve got a process drawn up to automate some of my workflow for content creation. It’s based loosely on @justinwelsh’s hub-and-spoke model for content creation, and the idea behind the automation isn’t incredibly complex. Essentially it’s just a script that automates the calendar and file template creation in Obsidian to allow me to write content easier. It essentially just automates the organization and initial setup of the project.
I have another one that will take a loosely finished, edited video, add some CTAs and intro/outro sequences via Remotion, render the video, combine it with the metadata from a text file created with the earlier process, and upload it to YouTube.
I was thinking through the project ROI problems for these two projects. The first is a bit of a no-brainer: it’s an easy project that doesn’t take that much lift to code, and it could save a fairly enormous amount of time getting each and every file and folder set up. So the ROI there is easy, it might pay itself back in a week.
The second one is a bit different. It might save me a fair bit of time, but not as much as you would think. I still would have to take a pass at editing the video, removing gaps, mistakes, changing the audio, cutting out “um’s”, adding graphics, etc. This automation would basically just be adding the CTA’s and the fade in/fade out bits at the beginning and end of my YouTube videos. The latter part that deals with the YouTube API is what I’m unsure about… the YouTube API seems pretty convoluted and difficult to deal with, so I’m worried that the added dev time there won’t be worth it.
Verdict is still out on that one.
I think another consideration beyond time savings is what do you learn in the process? If you learn a new function or piece of code, that’s also part of the ROI.
Two other factors besides time I include on my ROI for automation are 1) how much it reduces cognitive load and 2) how much it improves accuracy. Overall, automation usually improves both factors. Automation sometimes interferes with accuracy since it can lead to complacency. If I don’t monitor what the automation is doing (using some of the cognitive power I saved) the automation might do something I wasn’t expecting (reducing accuracy.) When I was working I also had to consider the ratcheting effect. If I automate this and free up time, will my managers just a pile more work on my plate?
Of course they will. The reward for doing a good job is more work.