A boxed solution or custom development, what to choose?
We understand the features of software solutions for automating business and business processes.
Material composition
- What is custom software development and turnkey solution?
- Develop or implement and customize?
- Example: Boxed and custom CRM.
- How is the development and implementation of custom and off-the-shelf software going?
- Implementation restrictions
- Problems of custom development
- Two real options for reducing the cost of the project
- Problems of ready-made "boxes"
- Development is an investment in business
- Benefits of off-the-shelf solutions
- Benefits of developing custom solutions
We, as developers and integrators of various business software solutions, dedicate part of our time to analytics of the implementation of both our own developments and ready-made packaged products from most well-known manufacturers.
In this article, we will try to assign an understanding of how two seemingly similar, but in fact completely different approaches to automating a company's business processes differ.
What is custom software development and turnkey solution?
Custom
Custom development is the creation of a product according to an individual scenario (according to an individual technical task), with a total understanding of the goal, task, infrastructure and prospects for the further development of the customer.
A custom software product always meets the client's expectations, including not only architecturally and functionally, but also at the interface level and even at the level of terminology used internally.
The main trigger for the transition to custom development is the company's need to gain a competitive advantage through innovation.
Also, very often companies are forced to turn to custom development, due to the fact that there is no highly specialized ready-made solution on the specialized software market, or it cannot be implemented in the company's business processes, or implementation and adaptation are quite expensive and exceed the budget several times over.
Custom software, regardless of whether it is a website, B2B portal, CRM, ERP, BPM, digital twin, monitoring or any other product, is created personally for the customer company, taking into account all requirements.
In custom development, the priority is 100% compliance of the future software product with the customer's tasks.
"Box"
A boxed solution is a ready-made software product from a manufacturer aimed at a specific industry or direction.
Usually, ready-made solutions are a package, often modular, of standard functions and capabilities, focused on a specific area, not on a company, but on a particular area, industry or direction.
In fact, ready-made or boxed solutions carry a fairly general functional package that requires further implementation and configuration. Very often, the implementation of a finished software product is carried out not by the development company, but by the company's partner, who specializes specifically in the implementation and expansion of the product.
The simplest example of an industry-specific boxed solution is 1C accounting systems. Ready-made accounting from 1C is many times more profitable than custom development of the same level, but the introduction of 1C will take time and improvements during almost the entire period of operation of 1C, associated with constant investments.
Note: 1C software products are more of an exception than a typical boxed solution. The 1C company invests heavily in the development and development of its own industry products, while providing almost complete access to their refinement and expansion.
Develop or implement and customize?
You can develop absolutely any software product, from a website to a digital twin of an industrial holding, such software will best meet the expectations of the customer company.
There are practically no restrictions in the direction of custom development.
Note: we, at VIMS Communication, for 10 years of work, have never refused any of our clients, due to the impossibility of implementing any functionality as part of the development of a custom product.
As we wrote above, custom development is used in areas where a competitive advantage is required, or there is not enough ready-made products that could be adapted to business tasks. We highlight the following areas:
- Business Process Automation
- ERP
- E-Commerce
- Web development
- Customer Relationship Management Automation
- Automation of relationships between partners / B2B
- CRM
- Marketing Systems
- Digital twins
- Digitalization and automation of production
- Monitoring
- Big Data Processing
In the case of a boxed version for many areas, industries and directions, there is no ideal or universal solution, there is a product that is as close in spirit as possible, which will later need to be integrated, customized and configured to a satisfactory result.
As practice and our more than ten years of experience in developing and implementing software show, ready-made solutions are suitable mainly for small companies (up to 20 people), with a simple business process, where training of all staff and transition to the "box" takes 1-2 days.
If we consider medium and large businesses (from 100 people), then the implementation of custom software will cost less than restructuring and training employees for a ready-made solution, where half of the functionality will not be used, and the second half will be configured and only “closer” to what is needed.
Also, if we turn to our internal statistics, we can make a confident conclusion that the main clients who apply for development, for example, CRM, have a rich and varied experience of working with ready-made boxed CRM.
Example: Boxed and custom CRM.
Take 2 companies that use boxed CRM.
The first company sells country houses.
The second deals with the sale of individual construction of country houses.
If you do not go into details, then you can draw a superficial conclusion that both companies will be suitable for a ready-made software product to accompany the real estate sales process.
But if we examine and compare the companies in detail, it becomes obvious that they are completely different.
In company-1, the process of interaction with a client may look like this:
client search — client support — entering a deal — deal
In company-2, so:
search for a client — client support — signing a contract — payment for an arch.project — preparation of an arch.project — making adjustments — coordinating the project — receiving an advance payment — starting construction — purchasing materials — delivery of materials — construction — installation of the foundation — installation of the frame — installation of the roof — receipt of payment — installation of windows — finishing works — receipt of payment — signing of the acceptance certificate — receipt of payment — additional sales (fence, landscaping, etc.)
Standard boxed solutions can be oriented just to the area, such as real estate, or to the direction, for example, sales. As you can see in the first case, a boxed solution is suitable and the tasks set by company-1 are controlled and solved quite successfully.
For company-2, a ready-made solution out of the box is not suitable, due to the branching and uniqueness of internal processes, the number of performers, interactions, nuances, and much more.
With a superficial implementation of a ready-made CRM system, company 2 will spend time and money, after which it will receive a product that will still need to be finalized and configured.
The situation is complicated by the fact that the company has dozens of customers, and not just one, as in the example.
In the case of “2”, there is a way out - this is a custom development of a CRM system, or more precisely, BPM (business process automation system), taking into account all the features of doing business by this particular company.
How is the development and implementation of custom and off-the-shelf software going?
Custom development does not begin with writing a technical task by the developer, but with an understanding of the task, the characteristics of the customer company, its rules, approaches, restrictions, resources, requirements, and everything that can affect the project.
After a detailed analysis of the company, the project is divided into releases, evaluated and put into operation.
As part of custom development, we can move in stages, releases, or use any methodology that is understandable and close to the customer.
When implementing the "box", the developer imposes the wishes of the customer on the functionality of the software product he has chosen, after which the terms of reference for the implementation of the software are formed.
The implementation process can also be segmented into releases and milestones, as is the case with custom development.
Implementation restrictions
Custom development does not carry the same problems that are noted when implementing ready-made packaged solutions.
Custom fully meets the customer's expectations in terms of functionality, interface, connection with third-party services, accounting systems and deadlines.
Due to the use of various approaches, a modular microservice architecture, the possibility of using non-standard technologies, custom development has no restrictions and allows you to literally implement any idea or business task.
As for the "box", then, of course, there are various restrictions associated with both the software itself and the copyright holder.
As part of a ready-made solution, it is almost impossible to make changes to the product code without the consent of the copyright holder, change the logic of work or adjust the interface. To make the stock software appropriate for the task, you can customize it or add some external components that will process the data, but adding add-ons is also not always possible, although we solve such problems at VIMS.
The main problem that a customer may face when implementing a finished product is the impossibility of making adjustments to the product code and adding the necessary components without the consent of the copyright holder. The developer of ready-made solutions (right holder) does not always give prompt comments (usually a pause of several days is required), and even less often goes to make adjustments to their own software, this situation often leads to a dead end in the development of the project, or additional investment of time and money.
Therefore, if we consider a serious implementation of ready-made software, taking into account long-term plans for the development of the company and automation of business processes, then it will be easier and cheaper to immediately use custom development.
Problems of custom development
Custom development has 3 main problems that a customer may face:
- Вevelopment cost;
- Development time;
- Support and development of the project.
Let's consider from what the terms and cost are nevertheless formed, since this is the most frequent question for the development company.
It is important to understand that custom software development is a unique and individual project focused on full compliance with the terms of reference of the customer company.
In order for a developer company to provide a high-quality product, a high involvement in the process of analysis, infrastructure, architecture, code implementation and integrations is necessary. In other words, the development company sets the highest internal priority for the implementation of the task, which, in turn, creates an increased burden on time and professional resources, directly affecting the cost.
In addition to developing the core of custom software, a significant part of the resources is spent on connecting and communicating with external services, for example, studying API contracts, restrictions and rules for joint interaction between sites.
Separately, it is worth noting the testing of the finished product and the conclusion to "production".
In custom development, there are two real options for reducing the cost of a project:
- An option to reduce the cost of software development by reducing the functional part (rejection of functions and elements that are optional at the start). That is, start implementing the product from the basic elements and only the necessary functionality (the modular microservice architecture allows this).
To do this, you will need to "disassemble" the terms of reference for releases. Each release is a separate block, with which, after implementation, you can already start working. But the full launch of the software in "production" can just be carried out as part of the sequential implementation of several releases.
This approach to development is the most frequent and 95% of projects are launched in this way.
- The second option to reduce the cost of development is to contact an experienced developer (we recommend VIMS), who has a large number of different developments in similar projects. In this case, there is a high probability that some components will not have to be developed from scratch and this will theoretically make the project cheaper.
Next in frequency, after questions about cost and timing, is the question of further support and development of the project.
It happens that the customer doubts and expresses concerns about “attachment” to the developer company and the “exotic” of the project’s technical stack.
For our part, we can firmly say that no exotic technologies are used in the process of creating a corporate software product, the project is being developed on the basis of international standards and requirements for security and software stack.
Any programmer can maintain a custom product in the future (but of course, with the appropriate qualifications and understanding of the project architecture).
Corporate custom software, developed on an individual order, is much more efficient, clearer and simpler than any ready-made solution that exists on the market.
Problems of ready-made "boxes"
In some cases, the integration of a ready-made boxed solution justifies itself and shows quite good results when used. But this happens infrequently, since all the "boxes" have a significant drawback - they are designed for everyone and for no one, so they also require implementation and refinement.
Ready-made or boxed solutions carry a fairly general functional package, which is the basis for the complexity of working with this software.
Box problems:
- Requires monthly payments;
- The cost of maintenance depends on the number of employees;
- Annual change in the cost of maintenance;
- Does not fully adapt to the company's business processes;
- Requires time to implement and configure;
- Lacks required functionality
- An excess of unnecessary functionality;
- Difficulty or impossibility of interface and integration with other external systems;
- Incomprehensible and overloaded interface;
- Employees adapt to software, not software to employees;
- All company data is stored on the server of the owner of the "box";
- All improvements disappear when the "box" is abandoned;
- General or superficial focus on an industry or direction;
- The need for technical support.
Custom development is an investment in business
Custom development exists not to make the project cheaper or more expensive, but to give a real competitive advantage to the company.
After the development and implementation of custom software, the company will be faster, more accurate, and the solution of a complex business problem becomes unconditionally possible.
At the same time, the above does not mean at all that custom software is expensive or, in general, a black hole for absorbing company funds.
Custom software is primarily an investment in the development of the company, and in the long run it becomes noticeably more profitable than a universal boxed solution, since the software is transferred to the company and is its property.
Benefits of off-the-shelf solutions
- Implementation cost;
- Launch speed.
Benefits of developing custom solutions
- Absolute compliance with the customer's expectations;
- Absolute compliance with the terms of reference;
- The software product belongs to the customer;
- Lack of access to company data by third parties;
- The possibility of any modifications and extensions of the functional part without restrictions;
- Ability to implement any external services;
- Intuitive interface;
- Competitive advantage and lack of analogues in the market;
- No usage fees;
- No restrictions on the number of employees.
#Комплекснаяразработка #Автоматизациябизнеса #Сайт #E-Commerce #Цифровизацияпроизводств