Version transistion
I realized one thing today, you just can't develop an initial prototype and then stop development on it and start from scratch all over again. I had hacked together a prototype version of the product in about 6 months time it worked well for a single user and was good enough for demo purposes, after that i started work on a new and stable version this time with a team of 3 developers assisting me. The funny thing is most of the time i am fixing bugs in the old version and and since i had no tests written for the old version i am afraid to make changes. This led me to increasingly dislike requests for bug fixes as i knew that the version was going to be dumped anyways.
I realize now that it is better to keep the previous version in a support phase where i do not add any features but only fix any defects. The reality of software is that there are always too many new ideas and too little time to implement them.
Before i started work on the new version i had some time-off in which i happened to vist a few sites which have changed my development methodolgy significantly. One of them was ObjectMentor , i would recommend any software developer to read all the articles from this site for an excellent understanding of Agile modelling and processes.