The focus areas for best practice are
GUI Tools
Use GUI CVS client
Developer Sandbox
Keep System clocks in Sync
Do not share the sandbox
Stay in sync with the repository
Do not work outside the sandbox
Cleanup after Completion
Check-in Often
CVS Server Configuration
CVS access control
Server side scripting
Server Notification
Branching and Merging
Assign ownership to Trunk and Branches
Tag each release
Create a branch after each release
Make bug fixes to branches only
Make patch releases from branches only
Change Propagation
Merge branch with the trunk after release
Software Builds
Build Early and Build Often
Automate build Process completely
All necessary files must be checked-in before build
Institutionalize CVS in the Organization
Implement Change Management Process
Make CVS Usage part of Objectives
Collect metrics on CVS usage