Why the requested feature hasn't been done yet?

The work of our company is based on priorities and compliance with contracts.
According to the contracts, the priorities are set in the following order:

1. Serving critical failures and errors. The deadline is specified in the contract.
2. Consulting clients on how to work with the system and performing current tasks (checking functionality, parsing logs, dumps, setting up existing functions, etc.). The reaction time is written in the contract.
3. Correction of non-critical errors. The deadline is specified in the contract.
4. Implementation of new functions - those that are absent in the product at the moment. The deadline is not spelled out in the contract.

When customers order a new feature, we add it to the task list.
The client can see the status of the task through the web interface.
Also, the client receives updates on the status of the task by e-mail.

Only those tasks are added to the list that correspond to the current scale of our company and represent a minor modification of the existing software.
For example, a client requests the implementation of a service - an analogue of Viber, with the same number of subscribers.
This task represents a significant modification of the existing software.
To perform such a modification, a full-time development team will be required with a total salary of more than $100k per year for a significant time.
Obviously, such a modification cannot be implemented within the technical support payment of $69 - $299 per month that we receive from this client.
Therefore, the client will not be able to add such a task.

The implementation of new functions is the lowest priority of the tasks.
New features are not implemented when there are current tasks with a higher priority.
When there is free time to implement new functions, we select a task for execution from the general list of tasks from all clients.
The choice is made according to the following priorities:

1. Implementation of new functions ordered by customers, for which the ratio of payment for services to the consumption of the time of our technical support is high.
Therefore if the client asks few questions, then he gets more requested new functions.
2. Implementation of new functions that have been requested by several clients and, accordingly, will be useful to several users.
3. Implementation of new features that match our vision for product development.
4. Implementation of other new functions.

Thus, we try to share our engineers' time fairly and proportionally among all clients.

If you want to increase the priority of your task, you can discuss additional payment, which will increase the value of the ratio of payment for services to the consumption of the time spent by our technical support and will give your task a higher priority.
In this case, we draw up an additional contract for the implementation of a specific feature with clearly defined deadlines.

Русский перевод