Be Careful with Existing Projects

An overeager project manager can easily sour a programming team on these tools, if the team doesn't see the benefits. While it's easy for a team to migrate an existing project to a new version control system, it is much harder to begin to build unit tests for an existing codebase. (It's also much more risky, since the old repository can be kept around so that the code can be moved right back if the new version control system does not work out.)

Migrating from files stored in a folder to Subversion is trivial—just build the repository, import the files, and rename the old folder. Migrating from an antiquated source control system to Subversion is a little more involved, but it's still relatively straightforward. The simplest way to do it is to import a copy of the latest revision. This will not make previous changes available in Subversion; however, an Internet search will usually turn up scripts that will automatically import repositories from the most popular version systems into Subversion. Either way, as long as the old repository is kept around in case of disaster, migrating to Subversion can be done at any time, and it can bring immediate benefits to both new and legacy projects.

Refactoring can also bring immediate benefits, but programmers should be careful about how it is applied. It is generally safest to introduce refactoring in code reviews and bug fixes. This will ensure that the benefits of refactoring are applied to where they will do ...

Get Applied Software Project Management now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.