Now that we have identified that there is friction in the WordPress ecosystem, it is worth exploring what the unpredictable symptoms are.

It is known that estimating a project in terms of both budget and complexity is challenging enough. The communication gap between the non-technical owner and the development team is the main factor, and the reason for settling for the closest scope definition possible.

Not only technical but also social skills are crucial for crafting a clear project scope. And yet, conflicts will arise. Best-case scenario, the cost for resolving them gets included in the estimate.

After publishing the project, and depending on its nature, the potential for drama rises. If it were to require some form of ongoing maintenance or scalability work, like most e-commerce or educational projects need, the requests will have a direct impact on what was originally published, adding the first block of technical debt.

Basically, every project, no matter its stack, has this inherent issue. WordPress is no exception. However, because of the freedom of its ecosystem, WordPress projects tend to accumulate more technical debt, given the diversity of approaches that coexist in the form of plugins.

Even though this feels natural for the technical eye, it creates a bottomless pit of endless maintenance for the business perspective; a bag of pendings that, no matter what, will get heavier.

This situation will get addressed without hesitation as long as the business performs well enough to pay for its cost, but in a modern, ever-changing world, not every industry can afford it.

Freedom is, among other things, unpredictable changes. WordPress is freedom, hence, WordPress will have unpredictable changes (or updates), mostly coming from its plugins. It is in its nature. It will not change, nor should it.

However, nobody budgets for what cannot be predicted, yet conflicts arise:

  1. Plugin updates that don’t fully work or that are shipped with bugs.
  2. Plugin updates that conflict with other plugins that were already installed and active.
  3. Deprecated functions that need to be migrated.
  4. Invasive static resources that are included in templates with no reason.

The list can potentially grow at a pace that overlaps with the growth of the business itself, forcing it to invest into addressing unpredictable technical debt.

As mentioned, this is the nature of freedom in creation. It is sane that different plugin authors experiment with diverse approaches. But when the market oscillates, and the businesses cannot keep up, they naturally start looking for other options.

Sadly enough, looking for alternatives means sacrificing a large portion of the freedom that WordPress offers. Freedom that businesses would not give up, if they could afford to.

The trick is to ask the right question: what prevents businesses and project owners from coexisting with this friction?