Last week I released WordPoints version 1.7.0, which is the largest feature release since the plugin was first created. The major new feature included in it was the Ranks component. The update was originally scheduled to be released by October 1st, but I pushed the date back to November 1st so that the result wouldn’t be something that was rushed into existence.
From this experience I gained some more insight into how quickly a quality feature can be developed, and how much stress it will put on the developer. I won’t say that I didn’t stress myself over it a bit. I did. That’s a bad thing for many reasons, but especially because it can directly affect the quality of the end product.
So during work on 1.7.0, I decided I needed to devise a new development strategy for major new features. Fortunately, I had the experience of others to draw on. WordPress itself was experiencing similar growing pains during the 3.6 release cycle. Their solution? Develop new features as plugins, instead of in the core code. That would give time for features to develop naturally aside from deadlines. Then they could be merged into WordPress itself after they were ready. There would be no scramble to complete a feature before a version was released, instead the feature would already be complete and the focus would be on adding just the final polish.
That’s how I’ve decided on a new development strategy for WordPoints: features as modules. Big new features will be developed as WordPoints modules first. Once I consider them complete, they’ll be ready to become part of the next WordPoints version. If a feature module isn’t ready until late in a release cycle, it will just have to wait until the next release before it is merged.
How will this affect future development? It will probably mean that we can add features more frequently. It should also result in new features being more polished and thoroughly tested.
I’m planning to do one-month release cycles, so a new version of WordPoints will be released at the start of each month. There may be times when that is extended to a longer period, but I’m hoping those will be few and far between.
And in case you were wondering what features would be a part of the next big release (1.8.0), the answer is simple. There won’t be any. That’s because no feature modules have been developed yet. The first feature module merge will probably be with the 1.9.0 release cycle. But don’t worry. There will be new stuff in 1.8.0, but it will be improvements and extensions of existing features, nothing groundbreaking. It will be a cycle that will give me the chance to further improve the code, the development process, and the existing features, before the next big thing is introduced.