September 7 2010




 
Search Blog Entries:



What is this?

Column Details
 
Versioning and backups

Why I am not disciplined enough to create backups and keep track of different versions of a software product? I guess I am simply human. During my current Webcast series about creating a managed Windows Mobile 5.0 line-of-business application, I have sample code available for each and every Webcast. Starting this week we make the sample code available via MSDN. In order to do so, I have to submit that code a couple of weeks before an actual Webcast. This is where the fun started a few weeks ago. During a typical day I was working on two or three different versions of the demo application that is used for the Webcast series. The first version being the one for immediate use during a Webcast, at the same time adding more functionality for next week’s and preparing the code for the one two weeks ahead. The last one had to be delivered in time in order to have it available on MSDN. Of course the fun started when I found some bugs in the original first version and forgot to update the other two versions of the demo code I was working on. That’s what you get for working on different versions simultaneously. To make the story worse, like every developer, when fixing some bugs I introduced a couple of new ones. To make the story a disaster I did not have the discipline to backup my projects when I got something working properly. So I ended up making changes to wrong versions of my project, got out of sync with those different versions and had to work literally day and night to fix this problem. It all started when I got this idea that it would be cool to have downloadable versions of the Webcast demo available each week, together with a step-by-step description of the demo’s. The idea is that you can take one week’s code and next week’s step-by-step document and rerun demos yourself, ending up with an exact copy of next week’s code. Being out of sync, that was almost impossible to achieve. I wonder if more discipline and using Visual Source Safe could have saved me. I guess so. Now it took me a week of working 24 hours a day to make a brand new start. Creating one version of the project and working on it until I was satisfied with the result. Then taking a copy of that project, put it into a separate folder and working on that project only. And again for the next version I am working on simultaneously. Finally I got to a point that right now I am only working on one project at a time, due for the Webcast a couple of weeks from now, and finally I can sleep again at night. It feels much more relaxed. The only thing I hope is that at least I have learned something from this. Setting up a good project structure, using maintenance tools and creating backups regularly is key to successful development and project maintenance. Doing so from the beginning could have saved me a lot of time without needing to start all over again for a couple of times. It won’t happen to me again, making a mess out of something that is not too hard to set up in the beginning. Hopefully you have your work better organized then I had. Ah well, what can I say? Indeed, after all I guess I am simply human. At least, being up to date, with a better structured development environment I now only have to worry about deadlines. My human nature is not helping me there either. Deadlines seem so far away until the actually due date. Whenever a new version of my project is due it is again stressful to meet the date. I could have worked harder in the days before the due date, but there are so much fun things to investigate, with which I simply forget to focus on the things that really matter. There is only one way for you to find out if I meet my deadlines until the end of March. Come and join us every Wednesday at 11.00 PST for another episode of the 13 part Webcast series to create a Windows Mobile 5.0 line-of-business application.

 

Maarten Struys

 
Back








SpiralFX Technology Solutions
www.spiralfx.com


Do you want to learn developing a full blown Windows Mobile Application? This article and accompanying multimedia content will help you to do so. It will be extended over the upcoming weeks / months, so check back regularly.
 
Read Full Article