I am managing a team of people working on a web project. We have completed Phase I of the project and have handed over site maintenance responsibility to our client. We are shortly going to begin work on the next phase of the project.
The conundrum is this: both our and our client's team MAY be working on the site files simultaneously.
We are looking at two solutions: 1. www.cvshome.com 2. www.perforce.com
Have any of you had experience with these? Can make recommendations? Or have other suggestions?
Also, can anyone recommend a suitable PROCESS to accompany such a solution.
What you are describing requires version and configuration management. Books I have read on this usually include various algorithms for managing the process. The best one being Programmer A checks out the Software. His version is PROD +.1 Programmer B tries to check out the Software. The tool notifies Programmer B that 'A' is using it, so checks out a copy. His version is PROD +.2. The tool also notifies Programmer A that 'B' has checked it out. They are expected to coordinate their work--perform a retro-fit--before installing into the production web site. Programmer A finishes his work. He notifies Programmer B. Programmer B is not done yet. He uses a compare and merge tool to retro-fit 'A's work into his own copy. Programmer A installs to the staging site--not the public site--for testing. Programmer B completes his work. Programmer B compares his final copy to the staging site copy to validate that the only differences are his own changes. Programmer B installs to the staging site for testing. Testers test for both 'A's and 'B's changes. Programmers A or B fix their own work, as needed, and reinstall to staging site. Testers and Customers sign off on the site. The version is upgraded to PROD + 1.0. Pages are moved to their production-level sites (reset links first if using hard-coded addresses).
Tools I have used, in the mainframe world, were Panvalet, Endevor, and ISPF. In the C/S world, I have used PVCS Tracker, but I don't believe it would work for Java.
Most of the new 'studio' development tools automatically handle the configuration management. Can you set up a sub-section of the website (hidden from the public and password protected) where you could house the development tool itself and integrate everyone's work into the same 'project'? That might make it easier.