Let's figure it out ourselves: Why you don’t need to introduce complex products on your own
We at Later have been developing billing for telecom operators (providers of wired and wireless Internet, TV and telephony, trunk and satellite providers) for 8 years, and during this time we participated in more than 80 implementation projects.
In one of the previous articles, we talked about why the decision to develop independently a complex system like billing can lead to problems . The whole trouble is that just buying a ready-made boxed product from its developers is not enough to guarantee a bright future for yourself. You can’t just take and implement a complex system - as a result, each project turns into a real quest with an unpredictable ending.
What is the problem
Implementing sophisticated products such as billing is an extremely difficult process. Despite the fact that the system may be called “boxed”, in fact all the companies using it are quite seriously different - we are talking mainly about telecom operators. This means that there are no standard solutions for possible problems - each time the process can go in a completely new, unique way.
That is why the independent implementation of such a system is almost guaranteed to lead the company to a situation where the desire to save as a result translates into additional expenses.
Judge for yourself, even if you have high-quality documentation, it will take a lot of time for specialists of the company - the buyer of the system to analyze it. They could spend it on their direct work. That is, the business begins to incur losses at this stage.
Obviously, if a specialist does some kind of surgery regularly, then the speed of work in this case increases. The introduction of billing does not fall into the category of regular operations, because such systems are selected for years to come. This means that the deployment of the purchased solution will take much more time than if its specialists, who carried out a large number of implementations of this product, were engaged in it. In such competitive areas as telecom, any delay can seriously damage the business - competitors do not sleep and actively develop their services, offering customers new interesting conditions.
Another important point - the ideology of complex systems that solve the same problem, in reality can be very seriously different. As a result, this complicates migration even more - the principles of the old one are often applied to a new tool. As a rule, nothing good comes of this.
An example from the sphere of billing - one physical subscriber of a telecom operator may have several contracts, for example, for different apartments, or services. In our Hydra billing system, when we know that we are dealing with the same Ivan Ivanov, all the data on it is reduced to one customer entity, but there are systems where everything is wrong. In our practice, there have been cases when customers moving from such products asked to make several subscribers out of one such Ivan Ivanov - one for each contract or service (Internet, television, telephony, etc.)
This breaks the whole logic of the system - it is very difficult to keep statistics and build reports on such “forked” or even “upset” subscribers. As a result, the customer asked for improvements to the system that could somehow alleviate the problems that arose - but they would not exist at all if the system was initially implemented according to the stipulated scheme.
Finally, no one is immune from errors, and when implementing a complex system, they simply cannot be avoided. And this means that even after spending a lot of time, nerves and energy, the company only enters the turbulence zone, where problems can happen at any time. Some errors do not appear immediately. Therefore, a situation may arise when a complex system is purchased, independently configured and launched in combat mode without any problems. But after some time, a sudden catastrophe occurs.
Considering the fact that the same billing is one of the key business IT systems, without which it is impossible to properly service customers and charge them for services, even a small mistake can lead to significant consequences.
For example, at some point, the provision of services to a certain number of users may be blocked due to an error in the design of the tariff plan or subscriptions. In the case of loyalty programs, an error may occur after a few months - old users will not be happy to mistakenly cancel their discounts or subscriptions for additional services. When implemented with the help of a system developer, such typical errors will be found and neutralized.
In addition, it is not always possible in principle to save and transfer the task of implementation not to developers, but to external outsourcing specialists. For example, there are simply no such independent professionals in the Russian billing market, and not even all billing system developers offer customers assistance in their deployment. That is why, the fact that developers help customers implement the created system must be taken into account when choosing a system from different options (what else should we pay attention to, we wrote here).
It seems that the possible problems are clear, and all that needs to be done is simply to attract developers so that everything goes smoothly. Unfortunately, this is also not enough.
You still have to work
The policy “here you have money, make good” in the case of the introduction of complex technological products can cross out all the benefits of transferring the project to the contractor. Implementers need help - advise them on specific issues related to the business, provide access to the systems necessary for work. And some work, such as reconfiguring network equipment or uploading data from outdated billing software, to the contractor is often (but not always) simply unprofitable.
If you ignore this, specialists will not be able to do their job. In addition, all kinds of hiccups will lead to a waste of time, and the rush that occurs in the future when the project deadlines are approaching - as a result, the number of errors will increase.
That is, many of the advantages of attracting developers to the implementation of the solutions they create simply come to naught. To avoid this, the efforts of one customer are not enough, the developers themselves must accordingly organize the implementation process.
What to do: project approach
The experience of more than 100 introductions of our own Hydra billing that we have carried out allows us to make another not-so-pleasant conclusion. Even in the case when the company's management is configured as constructively as possible and is ready to invest in a new system and its implementation, far from always this motivates the technical specialists of this company.
As a result, most customers cannot manage the implementation project - before it starts, it seems to everyone that it will be necessary to actively monitor the contractor (that is, us), but in many cases, on the contrary, we have to control the customer. This is not because customers are lazy or bad, but for objective reasons - the telecom operator does not have “extra” employees, they are all busy with current tasks, and they have to deal with overtime implementation of new billing.
As a result, projects did not always end on time. When the implementation contract has only been signed, and until the system’s launch for several months, the temptation to postpone work in this direction until later, and now do something more relevant. This translates, for example, into the fact that we could wait for months until the customer’s engineers prepare a test bench for us to “fill in” the billing and configure it. First, they don’t give us a virtual machine for a week, then we can’t connect to it because of non-open ports, then the system reboots and access to the stand disappears again - it can take up to a month to solve such an “important” problem.
As a result, when the deadlines begin to run out, as a rule, managers begin to put pressure on the specialists of the customer company. It’s often impossible to delay the transition to a new billing system, so after months wasted in the last couple of weeks, you need to catch up with all the lag.
Having repeatedly faced with similar situations, we came to the need to reformat the work of introducing billing. Now we take full responsibility for the management of such projects - for this, the company has a dedicated employee who maintains all the information in the Teamwork project management system.
It clearly shows all the necessary stages of the project, tasks that must be completed, and those areas of work that will be unlocked after that. Also indicated are those responsible for solving the challenges on both sides.
Thus, we have the task of tracking all stages of work, correctly logging the work done and planning future tasks that we need to do ourselves and put before the customer’s specialists.
As a result, the effectiveness of the work of engineers on both sides increases significantly - the employees of the developer company better understand what and when they need to do the project, and the representatives of the client understand at what stage the whole process is. In this way, potential problems can be identified even before they develop into something serious.
Other IT infrastructure related articles:
- Billing Problems: What Can Go Wrong with Recorded Software
- How to increase resiliency of billing: Hydra experience
- DoS in the home: Where does the uncontrolled growth of tables in a database lead?
- How to organize paid support for a complex product: Hydra experience
- What else affects the infrastructure: How to ensure the quality of equipment installation