For a past month I have been coding a Symbian native application as a hobby project. What was initially a month’s exercise(according to my earlier estimates), is not even 50% over after nearly a month. There is progress , daily checkins and visual progress in terms of the UI development. But the project still seems hopelessly over-schedule. So what went wrong?
I decided to preside over this question to understand the factors affecting my progress. I made a long list of features, features of my application. Then I tagged them according to the phase they were conceptualized. And finally the version in which they will be released. Check the pie chart of the same.
So as it is clear from the pie chart, as I continued coding I did not stick to the feature list which I had planned. Adding more killer features to the app only adds on to the agony and stretches the limits of the developers interest. The most important thing is to freeze the feature set and even if some “absolutely needed” feature emerges, it should be added to the list of features so that work can be done on it subsequently.
- Maintaining a feature list with the planned version is necessary. It need not be some fancy matrix, but some basic sheet maintained in excel can work wonders as well.
- Add features to the list if they are must, but don’t start coding them immediately. They may be the must have feature for the current version, but they can still wait, till you complete the current feature set. Adding new features can only disturb the current “flow”.
- Also remember fixes to current features bugs are not features and they need to be added asap. So don’t add bugs to the feature list.
Doing a monthly or weekly review in hobby projects can push you closer to the summit of project completion, else be ready to wander aimlessly in the foothills forever.