This section contains a short list of questions that you should feel comfortable answering about how you use an existing SCM tool:
What is saved in your SCM system? What is not in your SCM system? Why?
What have you overlooked? Often the only time this question is carefully answered is when a hard disk dies and you try to recreate your environment. List all the files, tools, and other pieces of your environment that you use to build a release.
Can you still recreate older releases if a file is renamed?
Can you still recreate older releases if a directory is renamed?
How do you know the date on which a file was branched?
How do you know the intended purpose of each branch?
Who can change permissions for write and read access to the SCM tool?
What happens with your SCM tool if two files in the same directory have the same name, but one is uppercase and one is lowercase? What happens if a filename has spaces in it?
How does the backup size of your SCM tool's files change over time? When will you next fill up a key disk, CD, DVD, or tape?
Can you develop on a laptop on an airplane? How much of your SCM tool still works, and how do you resynchronize when you reconnect later on?
How would you add a process to your SCM toolfor example, requiring each change to be reviewed by other people?
Do you have good integration between your SCM tool and your bug tracking system?
How do you decide when to upgrade your SCM tool, whether it's to fix bugs in the tool or for extra functionality?
What is the most common mistake that people using your SCM tool make? How could you help them to avoid doing that?