November 30

3 Tests to Identify the Best Tech Solution

By profession and passion, I am, at heart, a problem solver as most of us are in various walks of life.

When it comes to solving a complex problem or overcoming an obstacle, it’s important to take 3 elements into consideration when shortlisting solutions. It’s equally important to consider these as qualifiers in the same sequence as listed below, as the first element would serve as a Minimum Viable Product (MVP), and the latter two build upon it for a more intelligent solution before we even get into optimization.

Does it solve the problem at hand?

Your solution needs to solve the problem that was presented. Maybe you innovated something marginally better than the current outgoing process, or took the extra mile and came up with an awesome solution that does fancy things, but does it solve the actual problem that was presented? Passing this test is absolutely critical, and logically that makes sense. This is why it is necessary to brainstorm “What Am I solving for?” as the very first step. Identify the actual problem and focus on the NEED before the NICE-to-HAVE.

Is it sustainable?

So now that we have a solution in mind that solves the problem presented, the next area to focus on is sustainability. How robust is your solution? Does it have multiple dependencies, such as the use of certain licensed software or human intervention which may be subject to excessive maintenance or intervention? In other words, is this a truly autonomous solution that can run on its own; that has failsafes built-in and the ability to not only alert developers during failure but to correct itself? If not, that’s OK, since the ease of doing so varies based on the nature of the problem, but this needs to be the vision when developing the solution. It needs to be designed with autonomy in mind, so that it is developed with dynamic abilities, and less dependence on manual intervention.

Is it scalable?

If you’ve come up with a solution by now that passes the first two tests presented above, passing this third one will likely deem your solution the holy grail of solutions. The third test is scalability. Again, this is subject to the nature of the problem, but in most cases, you can’t go wrong designing your solution with scalability in mind. What I mean by this is, think of your solution as not just a solution to the problem presented, but a solution that will be a dynamic enough solution to cater for other, similar problems. In doing so, your solution would serve as a re-usable template, and just by passing a few parameters or settings to it, it can become an intelligent, dynamic plug-and-play repurposed solution.

Conclusion

In summary, we’ve covered the 3 sequential steps that I consider are necessary to identifying the most optimal high-level solutions, before getting our hands dirty with development. It’s important to understand that applicability of these considerations depends widely on the scope and type of problem and the technologies you have available to solve it. Ultimately, it’s just necessary to design the solution with this mindset as much as you can, even if you can’t apply all of the principles completely.



Copyright 2020. All rights reserved.

Posted November 30, 2020 by admin in category "Automation", "Software Engineering", "Thoughts

Leave a Reply