One of the most difficult aspects of building any type of software is the amount of work that’s required to maintain the project after its release.
Sure, shipping an initial version is challenging and this is not to understate the amount of planning, feedback, iterating, and general work that goes into a project; however, once it’s out in the wild and more and more people begin to use it, discover bugs, hammer on it, and so on, and additional ideas for features are developed, it becomes an entirely different challenge to keep the project rolling.
And though people would argue whether or not WordPress themes (or plugins or any script-based utility, for that matter) constitutes actual software, the truth is that it’s still subject to the same rules and methodologies as different software projects.
As such, one of the challenges of theming is actually writing maintainable WordPress themes such that they can continue to be improved over time. So in my latest series for Envato, I’m writing exactly on that topic.