Imagine that you are opening up a new direction in business. For example, in addition to baking custom-made cupcakes, you are going to launch an online dessert maker with an urgent delivery feature. The market has been studied, a business plan has been drawn up, and we would like to start implementing it as soon as possible.
You intend to simplify the checkout process, both for yourself and for your customers, by using an automated IT solution. But what should it be like? Will a ready-made IT product with some improvements be right for you? Or does none of the available options fully match what you want to get, and is it better to order your own software development from scratch?
Many IT clients, including customers, face this dilemma KT.team. In this article, Andrey Putin, CEO of KT.team, will tell you how to choose between custom software development and purchasing a ready-made IT product.
Automation dictates the rules
At first glance, it often seems that the development is justified in any case: yes, it will require more time and other resources, but the final result will meet all the stated requirements.
However, software market trends indicate the opposite. 15 years ago, 90% of tasks, including creating a website, were solved by developing from scratch. Now there are quite a few low-code and no-code (or zero-code) applications that automate typical companies' processes and tasks. The no- (or zero-) prefix means that the application basically does not require additional development (such as Tilda's website builder), while the low- prefix means that only minimal developer participation will be enough.
Writing a standard corporate website or a standard CRM for a sales department from scratch is a waste of resources. The site can be launched in a couple of weeks on a ready-made CMS, and for the sales department it is better to choose one of dozens of ready-made systems with a monthly subscription.
Creating an online store with an extensive product catalog looks like a bigger task. But ready-made e-commerce platforms also make it possible not to reinvent the wheel here. You just need to choose a theme, customize the design, set up integrations with external services (more often, use ready-made and proven integrations) and start up many times faster than when developing from scratch.
Pros and cons of a ready-made IT solution
First, let's look at the advantages of a boxed solution.
- Relatively low cost at the start. On average, the price of a box does not bite: such software is designed for mass sales and reaches margins due to their volume. Of course, there are products on the market with licenses worth hundreds of thousands and millions of rubles a year, but these are rather exceptions. Most likely, the license will cost you 30—40 thousand rubles a year. There are also options on the market with a free basic version, such as the Community Edition of the Pimcore PIM system.
- Prompt launch of the project and training of employees. Buying ready-made software will save at least a few months, which, if developed from scratch, will be required to write code and test the product in a local environment. In addition, users usually receive an instruction manual and other necessary documentation along with the box.
- Access to other users' experiences. Information about the user experience of other teams is easy to find, for example, on forums dedicated to this product or on third-party thematic platforms. Reviews will help you learn more about the features of the software, the difficulties and benefits of using it.
- Technical support. A paid license usually includes support. Technical support will help you quickly understand the difficulties and fix the errors that have arisen.
- Easy to implement. To implement a boxed solution and start using it, you often don't need developers or analysts — anyone with free access to the user manual can handle the setup.
The toolkit of a ready-made solution is usually easy to use and reduces possible costs. But you may face a number of risks. Let us list the most serious of them.
- Insufficient or excessive functionality. Business needs and the functionality of the box almost never coincide 100%. Important features may be missing, and features that you don't use at work will eat up resources and slow down processes. If simple adaptation is not enough, you will have to refine the software in accordance with the requirements dictated by specific tasks. But remember that in practice, refinement is sometimes as resource-intensive as developing from scratch.
- Scaling difficulties. When the company grows and processes become more complicated, ready-made software often loses its efficiency, since the resources for scaling in such software are limited.
- Possible difficulties in integrating the solution. A common problem for companies with unique processes that are difficult to “draw” on the standard logic of finished products. The processes will have to be adapted to the capabilities of the system, and this is the wrong approach — if, of course, the differences from the standard are rationally justified.
Pros and cons of developing from scratch
If your product has few analogues on the market, and the main task of software is to fine-tune the links between a large number of business processes, developing your own software may be the best solution. Let's take a closer look at why.
- Customization. Software designed to meet business needs solves specific problems and has neither gaps nor surpluses in functionality. The interface is designed for a specific command, and you can work in the system as efficiently as possible.
- Easy scaling. When ordering development from scratch, you think about product development and plan for scaling at the technical level. As your company (product, business line) grows, you will be able to add new features without losing efficiency.
- Exclusive rights to software. You reserve your rights to intellectual property — a new IT product — and you can use it at your discretion, even monetizing it by selling or renting it.
- Independent service. A boxed solution may become obsolete or disappear from the market after losing support from the vendor. In the case of individual software, the pace of feature updates and feature improvements will depend only on you.
- No licensing. Boxed solutions that do not have configurations with a free distribution model can be used only after purchasing the appropriate license, the cost of which may vary depending on the version of the product you choose and the number of users allowed to use it. When developing your own software, you do not need to purchase a license, even if the team grows tenfold or there is a need for an extended version of the software.
However, developing from scratch is a more expensive and time-consuming option than purchasing a finished product. There is a risk that the money allocated for the development of such a solution will eventually be wasted, since using the resulting software will not have the expected business effect. For example, due to a misdescription of business processes before development began, or due to a change in the company's business model before the software pays off.
In practice, the cost of developing from scratch often becomes an argument in favor of buying a finished product. At the same time, creating your own software may really be necessary:
- corporations to automate complex or unique processes;
- small companies operating in highly specialized sectors of the economy.
Let's summarize the pros and cons of each approach
How do you know which option is right for your needs?
Thus, boxed solutions allow you to launch quickly and at no extra cost, while a product developed from scratch can be more effective due to fine-tuning for a specific task. But in practice, companies rarely find themselves in classic textbook situations, so making a decision requires a deeper analysis of the current circumstances.
Before choosing one or another method of automating business processes, we recommend analyzing your tasks according to the following two criteria.
The first criterion is: is there a product on the market that fully covers your critical business functions?
If you need software to automate your basic business needs, which are not much different from the needs of other market players, choose one of the ready-made solutions wisely and adapt it to your specific product configuration.
For example, you've launched a small online clothing store. Your managers record orders and update information about inventory balances using tables. This extends order processing times, increases the likelihood of errors, and therefore the percentage of refusals and returns. It is difficult to increase market share with such introductions.
To solve this problem, you need a separate order management system that will automate the order processing process and set up the prompt preparation of detailed sales reports. This task is not unique, and the market offers a huge number of inexpensive ready-made options for solving it.
If you need to improve minor features, it won't require much time or any other resources, and the ready-made software will do its basic task perfectly.
To conduct an effective analysis, prioritize the business functions that the software must perform. Some companies focus on the percentage of coverage of the set of necessary functions with a ready-made solution, but even at a 90/10 ratio, a critical feature may remain uncovered.
Let us give you an example from our own experience. The electrical engineering company needed its sales managers to be able to easily and quickly find analogues for any product in its catalog. She contacted KT.team with a project to implement a ready-made PIM system. Since the PIM system stores information about product attributes, it seemed that its tools would be enough for the customer's purposes, but during operation it turned out that the lack of a built-in search function slows down all other processes, which means that individual development cannot be avoided.
If the boxed version of the program contains key business functions for you, and the missing one can be easily and relatively quickly improved, this solution will be enough. Let's recall the dessert maker from our example at the beginning of the article: it allows you to choose the type of base, cream and topping for the confectionery product, but it is no longer possible to adjust the color of each of these three components, but refining such a mechanism will not be difficult.
If the set of functions that is critical for your business is not even half automated by ready-made software, you should definitely look towards developing from scratch.
The second criterion is how do you plan to change the product and business processes in the future?
If you understand that you need a product that will allow you to differentiate yourself from competitors and scale internal processes, consider developing from scratch.
For example, you are going to launch a taxi booking app and take your market share among a huge number of other aggregators. There's no point in choosing an existing platform—its standard logic won't give you any competitive advantage.
A taxi service is more likely to succeed if it has a unique set of features, design and interface that can be developed and changed at any time depending on the market context and business goals.
IT product companies that create unique software should choose custom development nine times out of ten, regardless of the industry. This way you can independently manage the backlog and decide how to develop the product, make it more customer-oriented and make changes regardless of the vendor.
It is not necessary for an internal development team to create software from scratch. As a contractor, it is better to choose a full-fledged integrator who is able to develop and implement unique services. A tandem of outsourced developers and strong internal product owners who can collect and systematize requirements, create a roadmap and understand how to build links between processes will also work well.
The third way: what to do if there is no development time and the boxed solution is not suitable?
With unambiguous cases, everything is clear. But what if the product is unique, resources are limited, and you need to launch it on the market as soon as possible?
The boxed solution will not work, it is too typical for you. A unique development would take too much time. But there is a solution: turn to the Lean approach to development.
For example, you realize that there is no perfect ready-made option. But if you take four different products and fine-tune a few features, you can launch in MVP mode tomorrow. This will not be an ideal, but an acceptable solution to start with.
And when you test the hypothesis, you will be able to quietly improve the software and introduce new features.
This approach is suitable regardless of how much time and money you have to develop your own software today. In any case, the product will be launched, and new features will be added taking into account the situation on the market.
Let's summarize
So, the choice of a boxed solution or individual software development directly depends on the tasks that the chosen software will have to cope with. Within the framework of one product, you may face a situation where you should take a boxed version for some tasks, and develop your own solution for others.
- Highlight the main tasksthat software should solve, and relate them to the features available in ready-made products in the right area (if any).
- Boxed solution — ideal for standard tasks and processes. By choosing a box for such purposes, you save time and money that you could spend on developing from scratch: minor improvements require much less resources than writing code and testing software from scratch.
- Individual development It is suitable either for unique products with complex business logic, or for automating unique processes that make up the product's competitive advantage. If we are not talking about a standard CRM system for a sales department, but about a software solution that will be promoted in a competitive environment, a custom approach is indispensable.
- Take into account plan and the pace of subsequent changes. The possibilities for modifying the boxed version are much more modest than for custom development. At the same time, if you develop from scratch, you get the opportunity to manage changes on your own and free yourself from the system's internal limitations and unnecessary functions.
- If you don't have time for development, and boxed software is definitely not your option, it will suit you Lean approach. Think about how to launch an MVP on ready-made products, gradually refining it. This approach will save time and allow you to immediately start testing hypotheses and refining the software, taking into account real changes both in the product strategy and in the market as a whole.