First Line Software is a premier provider of software engineering, software enablement, and digital transformation services. Headquartered in Cambridge, Massachusetts, the global staff of 400 technical experts serve clients across North America, Europe, Asia, and Australia.
Human beings have always needed to modify existing things to better suit our needs. We can imagine our earliest ancestors picking up a stick as a tool but the branches are in the way and need to be removed, then the bark gets smoothed off for better grip… suddenly the club or hammering tool is invented. This adaptability is what has allowed us to evolve as a species since the ancestors of humans and chimps diverged some 4 million years ago. Our modern-day software is arguably today’s version of that stick; we simply pick up what’s in front of us, use it as best as we can until we need it to do more… and then we try to modify it.
Existing software systems (otherwise known as “off-the-shelf “or “OTS”) have their place in business and can be utilized with reasonably acceptable results given their reasonable costs. Examples of this type of software include Shopify, where you can build an online store without being a programmer or knowing anything about writing code. Another popular field that utilizes OTS software is visual query building, better known as Visual SQL Query Building (SQL being the Structured Query Language used in databases). Examples of these include Microsoft SQLServer, Oracle Database, IBM DB2, and MySQL among others. These tools are designed to automate templates that allow a user to visually represent their data however they wish. The caveat here is, “however they wish” as long as it’s within the confines of the OTS software.
Let’s take a look at a few of the Pros and Cons of these visual SQL query tools.
- Visual “programming” instead of programming in terms of code, where you don’t need to know specific SQL software language.
- Contain ready-made solutions for typical and simple tasks.
- Have built-in monitoring and reporting capabilities.
- Has some support, maintainability, and transparent accessibility for the user.
- Simplification of programming limits your abilities to execute more tasks.
- SQL is the only language for querying databases. For this reason, your visual SQL tool cannot be utilized as a replacement for actual SQL as is often attempted.
- Working with a new tool may mean that existing reports written in raw SQL don’t function correctly. The reports will likely need recreating using the visual SQL tool.
- Limited technical support and potentially higher long-term subscription costs.
Admittedly, most of these tools do have some level of customization for the basic user, and professional software developers can “go under the hood” to make more extensive updates and changes as needed. As mentioned above, purchasing OTS software is usually seen as the easiest way to simplify tasks, cut costs, and save time. But what happens when you need to execute a task that the existing parameters of the software won’t allow?
A “Procrustean Bed” or “The Bed of Procrustes” has become proverbial for arbitrarily — and perhaps ruthlessly—forcing someone or something to fit into an unnatural scheme or pattern.
Every experienced business person knows that at some point they need to veer right or left out of the lane they are in to get where they want to be going. Visual SQL query tools are good for people with little to no programming abilities, but veering away from their confines requires experienced developers/programmers. In a philosophical sense, this correlates with the Agile task, when you focus not on the process, but on the result. Today, many OTS tools set the process and limit it to a ready-made scenario for executing the task. What do you do if you want something that’s “not on the menu”? Using a standard solution involves reducing a non-standard problem to a standard one by stuffing it into a Procrustean Bed, and oftentimes this doesn’t work out in the long run. You need to look ahead and ask yourself is this a stopgap measure? How long might these custom tweaks endure before more customization is required? The solution to this more complex scenario is not possible without a certain level of freedom and creativity from an outside software developer.
As mentioned before, a skilled software developer can go “under the hood” of an existing OTS system and modify or add to the code to achieve the desired result. However, working through the limited framework of the API or “Application Programming Interface” of existing software tools to refine its functionality is not always easy or even the best route to the desired solution.
Contrary to popular belief, software developers/programmers are very creative people by nature. Limiting a skilled developer to working within the confines of existing software is like commissioning a talented artist to fill in a “paint by numbers” picture. A creative software developer who knows many different execution scenarios is not limited to just one scenario and can choose the best one for a given task.
It should be noted that the automation of repetitive processes is a primary job of most any business software. What’s being emphasized here is not to fall into the trap of trying to build a separate solution to already existing software’s automated fragments. Another apt analogy is that it’s much easier for a tailor to create a custom garment or suit from scratch than to modify an existing, off-the-rack item. The second point when automating is to focus on the right process, and the right activities, and not just on the end goals. The wrong approach is to simply automate a manual process. Look at the big picture; maybe there is a more efficient way of getting what you want than just ordering an OTS tool to replace your repetitive activities.
Another overlooked angle on off-the-shelf software is possibly the product provides too much functionality, where your business needs don’t take advantage of 80+% of off-the-shelf features and perhaps a complete custom solution may be more cost-effective. You’ll be surprised at how affordable custom software might be when you take into account the “headroom” that can be built in to allow your business to expand without the risk of outgrowing an existing platform. You’ll also have a much closer relationship with your custom software developer than you’ll ever get out of a representative from one of the big visual SQL tool platforms.
You’re Interested in Custom(izing) Software… What’s Next?
So now you’re thinking about creating a bespoke, customized platform. Or perhaps you’re still considering some level of customization in the platform you’ve already got. All of the customization and integration that’s mentioned above require a highly skilled and experienced software vendor that is familiar with the myriad of platforms that exist. Before you commit to purchasing OTS software or a custom solution, consider consulting with and choosing an integration partner to help you make the right decision. A knowledgeable software vendor will:
- Ask you the right questions about your business before discussing software
- Outline why a given custom platform suits your business – or doesn’t
- Explain to you a platform’s limitations – and how they can overcome them
- Break down a platform’s advantages and disadvantages – a cost-benefit analysis
As you can see, there is a fine line between choosing software that can do the most for you right off of the shelf, while at the same time minimizing the amount of customization you need to make it work. Every organization has its specific needs that may (or may not) require custom software development. But as your business continues to grow, don’t get caught up in the hype and force yourself to make a quick decision. Take your time in planning out your platform strategy, and take even more time in finding the right software partner to implement it.
The main takeaway here is that any tool should allow the user to do more with it than prior to acquiring it. The added value that’s offset by a tool’s expense can only be realized if the user (and developer) of the tool has the unrestricted freedom and ability to exercise their creativity in the pursuit of their respective goals.