Average online shop life cycle

Most online shops are rebuilt every 5 years. In many cases, it is connected with a huge project generating high costs of development, testing, staff training, and the possibility of making mistakes. In the worst case, it can be associated with the irretrievable loss of some customers.

Why the life of the eCommerce platform comes to an end?

In most cases, the eCommerce system ends its life for two reasons:

  • Maintaining the current system and fixing errors is unprofitable when the time to repair simple bugs is longer than expected by customers and entails greater losses than possible profits.
  • Updating to a new version of the system is often impossible, as in the case of migration from Magento 1 to Magento 2. Fortunately, Sylius complies with semantic versioning and updates to the latest versions are simple, safe and do not require a lot of effort.

What is technical debt and regression?

Technological debt is a phenomenon in which simple solutions that were created temporarily affect the long-term development of the application causing instability, high costs of maintaining the application and repairing errors, a hard-working environment and increased susceptibility to external attacks.

Regression is a situation when one change in the system (often seemingly simple) has irreversible consequences and destroys other, seemingly unrelated parts of the system causing errors, inaccuracies in data, and other costly consequences, which are difficult in the reversal.

What are the consequences of a malfunctioning shop?

A poorly functioning online store affected by the technical debt is expensive in maintenance, often is impossible to develop, and as a result, ROI ceases to bring expected outcomes. It causes limiting the business by technology, which is not a desirable situation when the market is growing. At the same time, the regression can affect end-customers and seriously complicate them purchasing process or in the worst case, can lead to losing part of them.

How to prevent your store against the expiration?


1. Take care of standards

Thanks to them, your software will be easy to maintain and develop, navigation through the code would be intuitive, thus most of the developers will be able to work on the modules of the system. During many years of work with Sylius and Symfony, we have worked out a number of standards and good practices that we apply working in our team. Therefore, we can apply advanced business logic in a fast and transparent way, and the development work itself can be taken over by different members of the team. We have published these standards under the following link: https://github.com/BitBagCommerce/BitBagBible Additionally, native Sylius tools such as Easy Coding Standard or PHPStan will facilitate you to keep the quality of the code.

2. Test smartly

Sylius is an example of a well-tested platform. It supports out of the box tools as Behat, PHPSpec, and PHPUnit. Use them carefully and test the most sophisticated business aspects of the system using methodology BDD and Behat. Check business logic in the code using PHPSpec and by PHPUnit test the points of contact between implementation and complex components of the Symfony or Doctrine ORM.

3. Log events in the application

Observe the behavior of users. It is worthwhile to create an advanced behavior logging mechanism, especially in the vulnerable points of the eCommerce system – product filtering, adding to cart, going through order checkpoints, promotion application, or price-list calculation. For this purpose, you can use the Symfony monolog. However, working on more advanced analytics, consider using logging in Elasticsearch or Sentra.

4. Keep it up to date

Do not postpone Sylius updates or its relations to a later date. If you properly prepared your testing environment, updates should be simple and safe. It is significant for the vendor. These updates, apart from fixing the bugs, which you can’t often notice, release security patches. If you knowingly omit them, you might put your users at risk of losing important data, and the system itself to work inappropriately.

5. Consider headless solution

The inability to change the user interface is often a common reason to change the platform. Due to a number of complex web design dependencies, it may be difficult to change its identification to something more trendy. The headless solution offers a lot of useful advantages, also in terms of long-lasting eCommerce platform. In consequence, the front design change problem will be delegated to another UI application, which can be equally well SPA/PWA application or external CMS system.

6. Use the open-source wisely

Undoubtedly, an open-source offers a lot of benefits. However, we can’t forget that many open-source solutions are created by people who have no interest in maintaining them in the long-run. As a result, some packages may have security lacks, and the software development kit itself might be incompatible with external software that should integrate with.

Seems interesting?

Estimate your project