Reducing the cost of ownership of an IT product
Ruslan Rayanov
0 replies
This may be news to someone, but often product design is only a small part of the future development and maintenance costs of the project The starting version of the project may cost, for example, 200 thousand, but in 2 years the cost of developing the project in technical terms can exceed 1 million. Why is this happening? How can this be foreseen at the very beginning of the project?
Let's answer questions about the cost of owning a site.
Main expenditure items for project maintenance
Domain
For a regular, non-premium domain, this is a very small expense, no more than 1000 rubles per month. We don't even consider it an expense item.
Hosting
This can be a regular hosting or server rental. Hosting can take from 150 rubles a month. Renting a server is much more expensive-from 1000 rubles a month. In general, this is also a small expense for a serious IT project.
Integration
Keeping data up-to-date and syncing data across the API. This is not relevant for all systems, and is a very specific issue. At a minimum, you need to make these integrations, and secondly, you need to solve the problems of connecting through the API. And this is the cost for developers who support this API.
System development
There are new ideas and new requirements for the system. The load may increase and system performance problems may occur. All this needs must be serviced. In fact, any working project must develop and keep up with changes in the current business realities. If the system is slow to respond to changes in the business environment, some processes will simply pass it by.
This is the main part of expenses, and up to 90% of expenses can be buried here (of course, if you don't count marketing and promotion)
Operating activity of the website
This is the cost of site staff-moderation, processing user requests. These are relatively small costs, and most importantly, they are predictable.
External services
If the site uses some paid services, this is also an expense item for the site owners.
Marketing and traffic
For a working site, the 2 main articles are programmers and marketing.
Ideally, you would spend 100% of your money on attracting traffic, i.e. content creation, advertising budget, search engine optimization, web analytics, social networks, and other promotion channels.
The marketing budget depends very much on the strategy and capabilities of the project. In general, you can do marketing without a budget. For example, we spend almost nothing on marketing. All our marketing consists of creating content in the form of articles and videos, as well as retargeting through contextual advertising.
Costs for suppliers
With programmers (or other personnel for product development - designers, typesetters, etc.) everything is more difficult. A lot depends on the chosen method of creating a site.
If this is custom development, then any change goes through the full development stack, and it is very expensive. Even adding 1 section for 2-3 pages to the control panel is already tens of thousands of rubles. And this is an objective price, not a desire for easy money by developers, just for these tasks you need to connect several specializations at once-backend programmer, business analyst, frontend programmer, layout designer, designer, tester.
The situation with finished products is even worse. In them, even the simplest things can take all day to change. The product is quickly installed in the initial configuration, but it is very problematic to develop it, if there is such a possibility at all.
It is very important that the system can be changed, and it does not need to involve a whole team of people.
Problem solution in Falcon Space
At Falcon Space, we have reduced the cost of ownership by combining people's roles and removed some of the complexity of development into using generic things.
1. No backend or frontend programmer
All logic is written in SQL. There is simply no logic layer in PHP or C#. Everything is managed through SQL and output through Front end components.
2. No maker-up
The system displays normal layout for components by default + you can change this layout to your own if you want.
3. You don't need a special programmer to implement the API
All this can be done by the same person who knows SQL.
The whole system is focused on such a person, who knows sql and a little bootstrap (for custom layout-without it anywhere). At the same time, the platform hides internal difficulties in rendering tables, forms, and other components from the user. An additional advantage is that there are fewer points where you can make an error.
The developer wrote the necessary sql, something doesn't work for him. Error with a 99% probability in the sql he wrote. This way, you can create solutions very quickly.
4. Quick migration decisions, the accumulation of the code base
The next thing that reduces the cost is the ability to quickly transfer solutions. After all, any solution is actually a large file with SQL code that can be ported to another database. For example, you can port the knowledge base mechanism from our site to another solution in 1 hour (transfer tables and components via the sql generation mechanism).
All new features in the platform are made taking into account that all management will go through SQL.
For example, the telegram bot works through a single stored procedure that processes all incoming bot commands. This approach allows you to keep a narrow stack of specialists (SQL, Bootstrap), which simplifies the search for specialists in the future, as well as speeds up their training for inclusion in the development process.
Of course, the system still allows you to do custom things: embed your own landing pages, write your own JS components with access to the server through ajax requests. The platform would have critical limitations without this, which would be unacceptable for a universal product. But for 95% of the needs, there is enough standard functionality managed via SQL. Thus, 1-2 people on the project who know SQL can quickly implement new features in the project.
I consider it extremely important that you can make quick edits to your business logic.
If any small change requires the launch of a complex update mechanism, then there are inevitably large time delays (especially when many people are involved at once for the update). The fewer people and the fewer actions required to make edits to the business logic, the faster and cheaper it will be to make multiple edits to the project.
If you take our case, the creation of typical things has become 4-5 times faster. If earlier we made a certain control table in 4-5 hours (on a full stack), now it can be assembled in 1 hour, and it is easier to maintain it in the future, since 95% of edits are SQL changes.
So, the conversions that reduced the cost of services
1. Very narrow stack, preserving the flexibility of the system. All business logic management and partial data output is done via SQL.
2. All typical component needs are closed (the key point is that there is no restriction on the flexibility of the business logic).
3. Ability to make quick edits. Development is live, and new features are delivered directly from the developer administrator's office (alternatively, you can do everything on a separate test instance of the database).
4. The project requires fewer people than a similar full stack development project. Fewer people - less coordination, misunderstandings and coordination of the project participants ' actions.
5. Hiding the complexities and nuances of the web from the developer. Its task is to write SQL correctly, and the system will do everything else for it. At the same time, it remains possible to "crawl" and write custom logic in JS or make your own layout.
6. It is easier to accumulate a code base. Because of the standard approach to development, it has become much easier to make standard solutions and add them to the project as necessary: Faq, Finance, Articles, Tasks, and other standard blocks.
Ideal when you are proficient in SQL yourself.
In this case, you can do some simple things yourself without waiting for the programmer to be released. The speed of this approach will be very high - you do not need to explain the business logic to anyone, you do not need to wait for simple errors to be corrected. You can immediately correct the necessary points during the work process and check how it works immediately. Editing with verification may take 5 minutes, but not 2-3 days if you work with the developer.
Conclusion
The main point of this article is to take into account not only the initial cost of creating your solution, but also the subsequent costs of its development, which will be in any case, if your project is in demand.
Try to understand your possible costs in as much detail as possible during the project support process. This will save you from unplanned budget overruns at later stages of the project.
Originlly public: https://falconspace.site/blog/snizhenie-stoimosti-vladeniya-it-produktom
🤔
No comments yet be the first to help
No comments yet be the first to help