For a trained digital professional, custom software development projects typically are easy to spot. During an introductory call with a potential client, we usually have a pretty good idea in our mind of whether the project at hand would be best served with off-the-shelf software or by being custom built. Sometimes, clients are aware of this too. However, they sadly may have come to a conclusion through different means. While we are basing our recommendations on our collective experience and knowledge, frequently, clients are figuring this out only after already trying a different approach that didn't work out so well. And, even worse, the loss of money, time, and effort was an unfortunate result of that approach.
With all of that said, I wanted to highlight some of the common scenarios which are all ideal candidates for a custom development approach versus the utilization of off-the-shelf solutions. While the software industry works hard to fulfill every possible user scenario with it's products, the reality is that custom development will always be required for certain types of projects. More on that later. But for now, let's dig into these sample scenarios.
Complex Integrations
Building integrations between multiple systems is a common custom software development task that we see today. This is based primarily on the fact that so many licensed or off-the-shelf software solutions exist and feature APIs for extensibility. The truth is, almost every company today uses some licensed software, to a certain extent. For my own business, I rely on tools such as Harvest for time tracking, Quickbooks for accounting, and Trello for project management. Where custom software comes in handy, and we have utilized this approach even for ourselves, is in creating intersections between these platforms to accomplish specific tasks.
As I've said before, licensed software can be a good choice for your business provided you are willing to work within the confines of the software. By this, I mean that the workflows within off-the-shelf software typically is defined for a user-base that is usually somewhat broad. It never makes sense to create something that can be taken off the shelf and fits your list of requirements. With that said, software that you license rarely does everything the way you want in an enterprise setting. When utilizing licensed software, it makes the most sense to figure out ways to either mold it into doing what you wish to or integrate it into other systems that you already have in place. Either of these scenarios is a good place for custom software to fill in the gaps.
Custom Administrative Workflows
Frequently, you'll find many off-the-shelf options that are marketed and sold precisely for the problem you are trying to solve. Magento may be the most popular way to run an online store, or WordPress may be the most used content management system for informational websites or publications. However, it's when you explore specific workflows or usage patterns of those tools that you realize that either you'd have to change your method of doing business, or otherwise be forced to drastically customize the software to match.
One rule is universal with off-the-shelf software: the more you hack away at it, the less reliable it becomes. Why? Because software built for the masses is updated to stay within its lane, and the more time and effort you spend customizing it, the more likely those future updates are to cause issues.
Custom software solves this problem by building tools and workflows around your way of doing business, from the ground up. In this way, you are not changing anything about how you do business, but instead optimizing your approach with a software solution. And, because you have built it from the ground up, your risk of making the software unstable as you modify it is virtually zero.
The difficulty is in figuring out whether or not your business has custom workflows that are different than anyone else, or what the existing software packages are built to handle. Sadly, most business owners only realize they are not compatible with software after having already invested in using it. This results in a couple of nasty scenarios – first, you've wasted time and money on a platform that doesn't accomplish the tasks you require. And secondly, you've put your business at risk by with an effort that led nowhere.
This is where planning comes into play. Clients are always well-served by bringing in technology-agnostic professionals who can understand the client's current situation, define any requirements, and identify solutions. A word of warning: software vendors are NOT the same! Software vendors sell licenses, not the identification of solutions. They can't be impartial.
Unique User Scenarios
While off-the-shelf software promises all sorts of things on the back-end, you also have to worry about customer experience. This holds true, especially if you have any unique scenarios that users are expected to accomplish. What constitutes a "unique" scenario? In honesty, any number of things. One good litmus test you can use to determine if you are a candidate for a custom development project is asking yourself how unique your offering is in comparison to the "norm". If you are an e-commerce site, what are you doing differently than everyone else? If you see that your method of doing business differs greatly, then that may be an indicator that you will require a custom development approach to your project.
Some clients can tell right away that they need to build their projects from the ground up. Either they are explicitly trying to be different than the competition, or they have already been through the hassle of trying an off-the-shelf approach. The best way to know for sure is to undergo a discovery process to define an architecture for what you are trying to accomplish. Going through this process will enable you to entertain all of the different options available to fulfill the tasks at hand.
Specialized Businesses
This point is very similar to the above, where we discussed unique user scenarios. But, I want to separate it to be abundantly clear about areas where customization is required. Businesses that are in niche industries, or selling particular products or services, are usually prime candidates for a specialized or custom development approach. When I look back at our portfolio, almost all of our clients have been businesses that are a bit outside the box. As an example, we have a client who specializes in long-term auto rentals in Europe, where many variables affect pricing and availability. We have other clients with specific requirements for lead generation, where leads need to be cleaned, vetted, and then funneled to appropriate personnel for follow up. Of course, there are tons of custom CMS projects that have been deployed by our team, built for companies who have unique content management requirements and workflows.
My point here is that the more specialized your business, and the more you work to distinguish yourself from your competitors, the more likely you will need a custom development approach or custom software to realize your digital aspirations. Chances are, if you know that your method is unique and can identify the areas of difference between you and your competitors, you'll run into limitations with licensed software at one point or another. The best time to realize those limitations are before you attempt even to make such a scenario work, before undertaking any development work.
Wrapping Up
I hear a lot of chatter online from the so-called "experts" with particular software, who mock those that specialize in custom software development. Fact is, there will always be a place for custom software development. Much like the fact that architects will always design new, cutting-edge buildings, software developers will still be needed for original, bespoke solutions. It's true that some cases make more sense than others, but hopefully, this post can clarify the best pathway forward for your project.