Source Code Control and Version Management in Lotus Notes
Bookmark :
In my last post, "The Undisciplined Notes Developer," I wrote about discipline in Lotus Notes development. One area where such discipline is vital is around source code control and version management. It is essential that Lotus application developers should have a process for managing both. Why? Well, the main reason as I see it is that it gives you control of which design is where. To me this is the most important feature of version management, knowing precisely which version of your application is in test and more importantly which is in production.
It is also very easy to achieve. At a basic level, every time the design leaves the Notes development environment you can just take a copy of your design, label it (often with a number, but any unique identifier will work), and place it in a safe place where nobody can modify it. Then if you prohibit designer access outside the developer environment you have achieved control. (more)
Of course, this process can be simplified and even automated with third party software, and ideally you would be able to tie versions of each individual design element to a specific version of the application. But the point is even with the basic set-up you have control of the design once it goes beyond the development environment. Some of the benefits of this are:
- You don’t have to take a copy of the production application design to ensure you have the latest version – you know exactly where the latest version is in the development environment;
- If a critical bug should make it through to the production database, you can roll-back to the last known good version quickly and easily;
- You can set up release schedules, with systematic drops of new versions to a known and published timetable. Working back from the due dates you can schedule development and test time, and even, with some careful design management, parallel-up development so that development of version x+1 starts while version x is in its test cycle;
