The competitive advantage and strong market position is not something given once and for all. It’s rather a continuous process of constant improvement and development of an array of internal processes not visible from the outside. The whole improvement operation is pretty complex and consists of three main stages: problem identification, design, and implementation. The accurate solution pays off in multiple benefits for the organization, to find more about it – check our four examples of the problem-oriented software solutions.
Today we would like to take a closer look at the design solution phase. One of the most common dilemmas managers encounter when considering purchasing software is:
“Should we buy generic software or develop our application?”
As all of the business world, there is no single recipe or silver bullet rule that answers this question. The answer depends on multiple factors of product characteristics. In this article, we will analyze the most critical aspects of each approach and point out the strong and weak points of each way. This guidance will provide all sorts of managers standing in front of the decision between generic or custom made software with a handful set of points to pay special attention.
The first crucial aspect of problem-oriented software solutions is it’s flexibility. At that point, we should analyze our problem and determine whether it is something that may appear commonly across all sorts of companies, or it’s individual for our particular case. The example of a common problem would be: “The company’s internal information is scattered across multiple sources.” Contrary, a good example of a specific issue would be: “Our clients send us documentation via email, and we have to manually upload it to the system, which is extremely time-consuming.”
Apply it now:
List of questions that will help you determine whether you face a general or highly specific problem:
- Can this sort of problem occur in other industries, or it is specific to our niche?
- Is it somehow connected with our current organizational structure?
- Is the process we are trying to improve unique for our company due to the type of customers/company’s scale/operational process, etc.?
At that point, you probably already know whether you are the only one who struggles with this kind of problem. This way, you can decide to move to the research of generic software, or the custom application is the right option to look into. At that stage, you should conduct one more exercise:
Apply it now
- Point our all the essential functionalities that you need to address the core problem precisely. Try to limit the list to only the “must-haves.”
- Move on to the off-the-shelf software research. Make a list of available tools and compare their functionalities with your must-have list.
- If none of the solutions can meet the majority of your requirements, simply move to the research of custom software companies, ideally if specialized in your industry.
- In case you have found the solution that addresses your problem, keep reading this guide.
Software cost and scalability
Cost and scalability are the super important factors from the customer’s point of view at the solution-design stage. We can find plethora of off-the-shelf products available on the market. Offered in SaaS (Software as a Service) or single-purchase license model. Sometimes the solutions are available for a fraction of the price of custom software. Besides, SaaS always comes with the IT infrastructure, which reduces the costs of hosting and software maintenance. And as long as our problem sounds like “Our internal company’s communication isn’t efficient enough” – the Slack subscription for a few dollars a month seems to be more than enough.
There is another side of the coin. The things get more complicated when we take into consideration a long-term perspective for our tools. Today we may need:
“A tool for internal communication.” But along with the company’s growth, the problem may evolve to: “A tool for internal communication that will enable our customers to upload documentation and keep it in the database, with the special security procedures and access for selected employees based on our organizational structure.”
Thinking about software in a long-term run will save you tons of headaches and unnecessary investments. Perfectly if our tools are able to grow along with the organization, in line with the company’s standards. It is wise to make a decision based on both today’s situation and a few years long perspective. Below you can find a list of software-related hidden costs that you may face in the future if you don’t consider the future company’s scale:
Double investment – keep in mind that customization of generic software is often impossible, and if it is – it’s far more expensive than similar modifications in custom-built software. Some of the savings made by off-the-shelf software may be just temporary, but at the end of the story, we may need a custom made application anyway.
Cost of change – The additional costs that you have to carry in case of necessary software change. Includes the costs of training while applying new solutions and temporary employee’s ineffectiveness due to the new tool implementation.
Rising SaaS cost – The monthly subscription price often depends on the number of users in your team. Along with the organization scaling, your company may reach the point where subscription cost for all the users is actually higher than a single investment in custom software.
Implementation and maintenance
It’s rarely the first thing that we consider during the solution design phase. However, it is worth to keep that in mind, as an implementation of a new tool can cause a set of difficulties with employee motivation, delays due to non-working systems, onboarding process, etc. So how can we make sure which software solution implementation will go smooth, and maintenance won’t be a long-lasting struggle? And what are the pros and cons of both custom made and generic software? Pay extra attention to the following bullet points.
- Make sure the tools you implement are in-line with your company’s culture and employee profile. Are you running a startup where the average employee is 28 years old tech geek? Or maybe an established company with a number of middle-age managers and a sophisticated management system? In each situation, habits and expectations towards the user interface might be completely different. In that field, the custom software has a huge advantage. You can design an app layout together with the dedicated UX team based on your employee’s feedback.
- The training phase – implementation is not only about setup and pressing the “start” button. It always takes time to learn a new tool and make it common among all the employees. The learning phase may vary between organizations. However, appropriately done training can significantly shorten this phase. Some generic software solutions offer online training and documentation. It is a halfway solution – it works, but it is hard to compare it with personal training provided by custom software development agencies. Inevitably we can compare the quality of training and guidebooks between particular partners, but in general, we all agree that in-person training is more valuable than a handbook. And here again – point for custom software.
- Maintenance – we all need a reliable tool that will keep our data safe and have a high availability 24/7. The SaaS software comes in a package with not only software but also whole IT infrastructure. And most of the time, the systems are super reliable (as long as we use the product of well-known service companies), and the system breakdowns happen rarely. This approach also enables easier scaling when it comes to the number of users. Any additional use is just another plan bought on a website – without the need to worry about additional hosting resources. However, in case some problems occur, all we can do is to submit the ticket to customer support and wait patiently.
- Support and advisory – creating custom software often involve some third party companies. The company to which we outsource software often becomes a technology partner. In this case, one should expect a holistic approach from such a partner – from help in ongoing maintenance and supporting a high level of SLA’s to the technological advisory. To achieve this state, check our advice about cooperation with software houses. On the other hand, we have the off-the-shelf solution, where we do pay for the product itself, but the advisory and consulting are very limited. However, for the obvious reasons – the relation is not that close.
The answer for custom vs. off-the-shelf software problem depends on the specific company’s needs. It is hard to name a framework where one or another approach to software works best. However, keeping all the solution-dimension in mind, we can easily adapt to our unique situation and make the best possible choice. The main factors we should take into consideration before the final decision are: solution flexibility, cost, scalability, implementation, and maintenance. Above all, we should consider it through the time lenses to notice all the details. In the short-run, the generic software can be cost-effective and enough to address less complex, simple, and general needs. On the other hand, the benefits of custom software grow along with the time perspective, process complexity, and problem specificity. Nevertheless, of the chosen approach, to make the most beneficial decision, it’s worth to turn for advice to entrusted technological partner.