Arbitrary Choices and Forward Momentum
Over the past several months, I’ve been diligently working on my new product called AuditShark. If you are new or haven’t been following my blog lately, the basic concept goes something like this. There are dozens of industry regulations which dictate specific settings that should be configured on computer in specific ways. They include things like network share access defaults, permissions on certain files, whether specific services are allowed or disallowed, etc. All of these system settings fall under an umbrella that is designed to help make computers more secure.
Implementing an auditing product is often extremely challenging for a small company because of a lack of funds and more importantly, a lack of technical expertise. AuditShark solves both of those problems by offering a cost effective solution that’s not only easy to use, but helps you measure exactly how you stand in ways that I’ll discuss in more detail in another blog article.
Building this product is not much different than any other product I’ve ever worked on, but recently I’ve come to a revelation. When faced with a choice of two methodologies for implementing a feature or fixing a bug, I’ve often struggled to make a decision. Often, it’s because the two have different trade-offs associated with them, but the scope and severity of those trade-offs tends to be similar. At the heart of this, I find myself spending a lot of time trying to make the best choice when the reality is that it’s an arbitrary choice. Thus I spend more time trying to make a decision than it would have taken to simply flip a coin and then do the work.
When you’re trying to make decisions, keep in mind that instead of making the optimal choice, you should simply aim to make a decent choice. If all of the options before you are what you would consider “decent”, then it’s an arbitrary choice and no amount of analysis or discussion is going to change that. This little tidbit is key to maintaining forward momentum and maintaining progress on whatever product you are trying to build.
If you’re not maintaining forward progress, then you’re either spinning your wheels or moving in the wrong direction. Either way, you’re not getting any closer to launch. So make a decision and go with it. You can always fix the code. You can’t get back that lost time.