Experience of tools

There are lots of things you can do to improve your tools. Often, they are found just by treating your tools like products. This means not treating them like throwaway scripts and not just hacking on them as needed. Instead, they need to be invested in, loved, and maintained.

One way this often comes out is by having what is referred to as opinionated tools. This means tools that do not support every single possible workflow. Instead, they focus on the right and wrong way to do things. The downside of this is that tools can be unable to support new workflows when they grow within the organization. As an upside, though, you as the maintainer know exactly what workflows exist and how they work, and can research improving them to make the experience better.

That does not mean that tools should not be configurable. I, personally, love configuring tools through configuration files and environment variables. Configuration files are great when you need to keep all of your configuration in code and bake settings into a build. On the other hand, environment variables let you build software independent of configuration and then change how it works on each run.

Figuring out what is best is up to you: it all depends on your service and how it is used. You can define that, but make sure it works for your users and continues to work over the lifetime of the tool.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
18.116.90.141