How to Plan
There are several stages in planning. Typically, each stage answers one or more important questions about development. TYPO3 developers should think about at least three stages:
Gathering requirements
Implementation planning
Documentation planning
Of course, each project is unique and has other stages. But these three stages generally exist in every project.
Gathering Requirements
The first thing that a developer needs to know is what his/her extension will do. While it sounds pretty obvious, not many extension authors know exactly what functionality the extension has in the end. It evolves over time, and often the initial idea is completely different from the final implementation. Predictably, neither the original nor the final is done well.
In the other case, when extension features are collected, though planned and implemented according to plan, they usually fit well together.
So, the very first thing to do when creating an extension is to find out what that extension should do. This...