In my experience in larger software companies, the hardest part of automation is convincing management that it's worth it to stop other development for long enough to automate a problem away. A lot of managers are fine throwing people at a problem if it means meeting a date and making the team look good while under the hood all the knobs are being turned by hands by an ever struggling staff.<p>And then the worst case I've found myself in is where the people you hire specifically to automate are told to do things manually at first "until we get the automation out." Then you end up in a constant cycle of promising automation that will never exist because all of the workload is falling to the automators who have no time to fix anything.
It actually amazes me the degree to which people just don't realise that what they are doing can be automated - even in software companies.<p>I caught my manager one day, manually traversing application screens taking screenshots and then clipping them down to size.<p>At least an hour's work, with each and every release (or at least those with configuration changes).<p>"Raise a ticket, I can do that automatically."<p>An hour later I sent her back the task for testing - now taking mere seconds, and with pixel perfect clipping.<p>It never even occurred to her to ask if that was something I could do.
Having great end-to-end tests are awesome for this exact reason. I spend 99% of my time adding new cool features instead of fixing bugs. While people I work with spend all their time complaining and moaning about all the bugs that keeps popping up in their production code.
Obligatory XKCDs:<p>- Is It Worth The Time? <a href="https://xkcd.com/1205/" rel="nofollow">https://xkcd.com/1205/</a><p>- Automation <a href="https://xkcd.com/1319/" rel="nofollow">https://xkcd.com/1319/</a>