When is it better to develop a new application and when is a standard solution more suitable? What are the differences between custom software and standard solutions? What are the advantages and disadvantages? Which responsibilities and risks have to be accepted depending on the decision? These are exactly the questions we will answer in the following article.
Standard software today
Standard software is defined as a prefabricated product. In contrast to this is the custom software (also called individual software or custom applications), which is specially developed for a customer.
The modern way of standard software on the web today are services: Web-based services that you pay for either by usage or as a subscription (for example: auctionhub.io). Another form - a static standard product, which is bought once - will not be discussed here, because it comes from the time of desktop software and is outdated today.
If you have a new product idea or would like to offer an innovative service application yourself - which is the case with many of our customers (see Manor or Xing) - you need custom software.
Custom software is perfectly tailored
You don't have to own a tailor-made shirt to imagine that such a shirt not only looks better, but also fits perfectly and is therefore comfortable to wear. The situation is similar with custom software. If we develop a custom application for you, we can take your needs exactly into account, map your workflow and offer you optimum ease of use. In contrast to the simple purchase of shirts off the peg, it is more difficult to find a service with software that exactly covers your workflow. You can solve almost any task with the help of different tools. However, if you have to perform several steps in different tools, the ease of use and, ultimately, your daily efficiency will be reduced.
One essential difference between the two variants is obvious with the shirt comparison: the costs. While with the standard solution the development and maintenance costs can be divided among several customers or depreciated over time, the development costs of the custom software remain with you. Custom software is therefore usually more expensive. However, the good news is, that you don't always have to reinvent the wheel and you can also rely on certain components (libraries or frameworks). Don't forget in your calculation that the use of existing services over a certain period of time and/or with a certain use can also cause a lot of costs.
There's one unpleasant truth we don't want to keep from you: Cost estimates of custom software projects are unfortunately often inaccurate. Numerous studies (cf. Botchkarev1) deal with the precision of estimation procedures and show that there are high inaccuracies in estimates. This is based, among other things, on discrepancies in the common understanding of the scope. Therefore, in this case, either the cost or the functionality has to be adapted. Agile Processes provide a good solution and support us in keeping your budget under control and in case of unforeseen difficulties to react early with course corrections.1 Botchkarev, A. (2014). Estimating the accuracy of the return on investment (ROI) performance evaluations. arXiv preprint arXiv:1404.1990.
Standard software should meet as many needs as possible so that it can be used more widely and can cover many applications. This often has two unpleasant consequences:
- A lot of flexibility: You need a small part of a standard solution, but feel like a pilot in cockpit of an aircraft who wants to turn on the landing lights. Where do you find the right button? I call this the "cockpit effect". Even if you can activate and deactivate functions and thus hide them, the effect remains with the configuration.
- Not enough flexibility: You would need a functionality that does not yet exist - for example an interface to another program - or you would like to filter the view according to your needs, but this is not possible.
For the latter, you can try to achieve a change request via support. For the manufacturer it is a tightrope walk, how the product will be further developed, respectively which functions will be added to it: The cockpit effect increases. You are also dependent on the manufacturer how high your request is prioritized and risk that your needs are never integrated into the product.
The web and therefore the environment of web-based software is changing rapidly. As with a private car, regular software maintenance is also necessary. In order to guarantee you not only today but also tomorrow the necessary security or the necessary compatibility to all web browsers, updates of libraries and frameworks are necessary. As with auto service, you should not wait until a damage occurs: the repair is then urgent and you even lose money in the worst case. "Waiting too long" also causes additional work, since the gap to the most current becomes larger.
Today services are almost exclusively offered via subscriptions, because this ensures maintenance, further development and improvement. This further development is included in the price model for standard software.
In the case of custom software, this obligation is incumbent on you because the product belongs to you. We advise you to calculate annually with approx. 10% of the initial development costs for maintenance and repair.
Customized standard software
A mixture of standard and individuality is also conceivable: an customized standard software is an existing application that is expanded after purchase. This makes development more cost-effective, and you may also have to pay license costs for the standard product. This means that disadvantages of the standard solutions, such as the cockpit effect, remain. From a maintenance point of view, the resulting application should be regarded as custom software, since you as the owner remain responsible for the maintenance. The individual part must be adapted according to the innovations of the standard software so that it remains compatible.
As a web agency we are specialized in customer specific applications. We also have our own services such as Auctionhub or our Database-Backup-Solution. For example with the Solidus Shop Software, we also offer a mixed form of customized standard software. What is the best solution for you depends strongly on your goals and wishes. We will be happy to advise you on the right choice and give you tips so that you can achieve an optimal result:
Our tips for developing your own software:
- Misunderstandings often arise when assumptions are made, such as: "... I assumed that with A also B is given." Therefore: Describe as exactly as possible what you need. Try to avoid potential assumptions, especially if it seems logical to you.
- With Design Sprints you can eliminate concerns before the start of development with real customers using a prototype and thus minimize your risk.
- Experience is the be-all and end-all of every craft. When creating custom software, pay attention to similar projects and let us show you already developed solutions which solve similar problems.