How Much Does It Cost To Create an IT System?
4 november 2020
Anyone who has ever considered buying dedicated, tailor-made software development services has certainly wondered how much they may cost. The answer is not simple and can be put down to the statement:
– It depends.
Over the last 6 years, we have completed about 100 projects in Evertop, which allows me to identify the most important factors on which it depends. In our experience it is also important that many of the projects we’ve implemented were Fixed Price contracts (the difference between Fixed Price and Time and Material and indication which is better, can be found in my article available at this link). It really matters because we have to make the estimation of the project as good as possible since we take all responsibility and all risks on ourselves.
So what are the key factors that influence the price of the custom software development service?
Functional complexity
I assume that this element is not a surprise for anyone. The simpler the system is the cheaper it is. The more complex and complicated – the more expensive it will be to create. Some trivial examples that everyone should be able to imagine:
- Notepad can be made easier, and thus cheaper than the advanced text editor like Word.
- The Calculator application is simpler and less complex than Excel. So the second one in this case will definitely be more expensive to produce.
It is worth mentioning here that the price of the software development services is directly related to the amount of man-hours needed to create it. For example, the starting point of all project pricing is estimation of labor-intensity of its implementation. Estimations are usually made in man-hours or man-days. Then, the estimated time is multiplied by the hourly (or daily) rate.
Non-functional requirements
In addition to the functional requirements, IT systems must also meet non-functional requirements, which also affect the time, and thus the cost of their development. I’ve listed some examples below:
- Security – the safer the system is the more work it requires. Implementation of security futures like, multi-level authentication, data encryption, automatic backups or continuous updating of the system and making it resistant to known vulnerabilities, generates additional hours of programmers and thus consumes more money.
- RWD – if we want the project to be responsive, that is, to present itself appropriately on different screens and to adjust theirs resolution, a lot of work must be put into designing each view and then implementing it.
- Compliance with WCAG (if you do not know what WCAG is yet, I encourage you to read the article by Agnieszka Michnik «Accessibility Testing – Meet The WCAG»). As in the case of RWD, in order to ensure compliance with WCAG, additional workload of both the graphic designer and frontend developer is needed to adjust the website for the blind and partially sighted. And, again, it generates additional costs.
Technologies, libraries and external licenses
Decisions regarding the choice of technology including programming language will definitely affect the cost of the custom software development service, both directly and indirectly. At the same time, it should be born in mind that when choosing a given technology, the direct cost may increase because it will simply be expensive to buy, and the indirect cost will decrease because programmers will produce code faster thanks to it.
When creating IT systems, ready-made components and controls are often used to speed up the creation and visually make a given solution more attractive. Some of them are open source, some other are paid and these costs should also be taken into account.
OS (the operating system on which our application is to run) as well as RDBMS (database management system) will also be of significant cost. Of course, here also we have the choice of both commercial (Windows, SQL Server, Oracle) and open source solutions (Linux, MySQL, PostgreSQL).
Integrations
Integration with external systems is often the most risky element in pricing procedure. The problem in this case is the lack of control on external systems and its APIs and communication methods. The cost of integration also depends on the scope, method and frequency of data exchange.
Quality
This point requires a little explanation at the beginning. Well, there are no systems without errors. When creating dedicated, bespoke applications, you cannot eliminate defects, bugs and faults. They are as inseparable from the software development process as medical errors in treating patients. Fortunately, in the case of software development, we have such a solution as TESTS. Each project in the development process is subject to a testing procedure (or at least it should be).
There are several types of tests and they are performed in different ways and at different stages of the development process. These are manual and automatic tests, unit tests, regression tests, safety and performance tests, etc. How well we test our system depends on how many errors can be eliminated at the development stage, and thus how many of these errors will end up in the production environment.
It will probably not be a surprise to you but each additional test is another cost that must be incurred to verify the correct operation of the systems.
A simple way to keep costs under control is to adjust the test scale to the project you are dealing with. It is clear that a different level of quality should be provided by sending a mission to Mars and another by preparing an application that stores your favourite recipes in your mobile phone.
Contractor
The price is also a derivative of the type of contractor you choose. With the same labor-intensity and the same number of hours to be worked, the hourly rate will be important.
A medium-sized software house, such as Evertop, will definitely be more expensive than 2 students or freelancers. On the other hand, it will also be much cheaper than a large, international corporation that employs, apart from developers, also hundreds of people in the administrative, legal and sales departments.
When choosing a contractor, it is therefore important to choose its size and professionalism to the type of project you are implementing.
As you can see the number of factors that affects the price of bespoke software solution is significant. It is good know them all before you start buying process to understand better the offers you may receive.