No Users of Your Automation
You’ve worked hours/days/weeks/months to come up with the perfect automated solution. It has the potential to save a lot of time. There’s just one problem: no one will use it!
This can be extremely frustrating. A perfect tool exists for some problem, but no one uses it. How can you prevent this from happening?
Let’s discuss some steps for preventing this from occurring. Or if the solution is already developed, what steps can help with that tool’s adoption?
Is the Tool Needed?
Before you ever develop the tool, you should make sure that your intended audience is interested. If you think you have a massive audience but haven’t talked to anyone… that’s a problem.
You should talk to the “customers” of this automation tool. What are their problems and biggest pain points? How technical are they? What features do they want, and which ones can they live without?
Gathering the requirements and having some sort of relationship with the customer will go a long way in this tool. Knowing their needs will help you develop around the important parts and skip the rest.
Usage of Your Tool
By knowing your audience, you will know how technical they are. For some users, if your tool is broken and needs a few lines of code changed, this will be no problem. For others, this would be similar to the world ending.
The same goes for how you document the usage of your tool. Recently, my team documented how to run a Python script. Based on our audience, we needed to put how to install Python first into the documentation. We even needed to specify how to open a command prompt.
This is not to say your audience isn’t smart. Rather, they are more than likely experienced in something else and not big software developers or users.
Perhaps the correct interface for your users is a web interface. Maybe a software application will do. Or even just running something from the command-line. Maybe it should be an icon they double-click on a Windows desktop. Whatever the case, using your tool should be “simple”. And simple is defined based on the background of your audience.
Since starting or running your tool will be everyone’s first experience with it, you want it to be a very pain-free and easy process. That will be their first impression. They need to be happy with that first impression.
If people don’t want to adopt the tool in the first place, any road bump will give them the excuse they need to not use it. Make it easy!
If people are complaining that your tool is not reliable, you are at least past the first step in the process – getting people to use your tool. If they start using it and it flakes out, they are going to get frustrated. This is where code quality best practices help.
Writing unit tests against your code is going to make it more reliable. If you developed with test-driven development so your code already has unit tests when it is released, even better. The last thing you want is for people to stop using your automation after they begin using it due to it being unreliable.
If you do run into this, make sure you don’t break something that was fixed before. You can certainly avoid this by doing this following:
- Once an issue is found, reproduce that issue in a unit test.
- Fix the unit test first.
- Verify that fixed the problem in the main tool code.
Fixing issues this way makes sure you won’t reproduce the bug (at least in that area of code) again in the future. This improves code quality over time if you didn’t start doing it from the beginning.
By making sure your tool is needed and making it extremely easy to use, you can help others start using your tool. Keeping it reliable can keep them using it once they start.
One more piece of advice – make the tool so valuable they can’t ignore it. What do I mean? Make it save so much time or make the end-product so much more reliable that it would be bone-headed not to use it. When a tool makes people’s lives much easier than before, adoption is much more likely.
Providing lots of demos, showing enthusiasm, and championing the tool will make others much more willing to try as well.
Good luck changing people’s process with your automation!