Talk
International PHP Conference Munich 2020 · October 28, 2020

The eternal struggle: backward compatibility vs. technical debt

Backward compatibility and technical debt seem to be at odds in the long-term maintenance of a project. Take WordPress as an example; the project draws a lot of its su...

Watch the recording → View the slides

Backward compatibility and technical debt seem to be at odds in the long-term maintenance of a project. Take WordPress as an example; the project draws a lot of its success from the fact that it jumps through hoops to maintain backward compatibility. Most WordPress sites can be smoothly updated to the latest version of WordPress Core with the click of a button. However, this compatibility comes at a steep price: through this absolute priority on backward compatibility, the project sets itself up to continuously accumulate technical debt in the process. The effects of this are increasing effort to maintain the codebase and increasing difficulty for adding new features. What users perceive as the best quality is the greatest weakness in the eyes of a developer. This talk will first go through the logistics of maintaining a project with high technical debt like WordPress. Then it will examine what this means for projects that depend on WordPress. Finally, it will go through some potential ways of moving to a more balanced process, with a closer look at how WordPress finally managed to get away from its PHP 5.2 requirement.

All talks