Developer Product Briefs
High-End Source Control
Review of Perforce's software control management product, Perforce 2008.1 GA.
If you're developing software, and you're not using a Source Control Management (SCM) package, you could be smarter in developing your applications. In a team environment, SCM moves from being smart to being essential: SCM is what keeps multiple developers from overwriting each other's work and supports assigning blame for the last bug to make it into production.
For enterprise-level development teams, Perforce Software Inc. has released the latest version of its SCM product: Perforce 2008.1 GA. At this level, SCM includes the ability to track multiple versions of a single software package and merge changes from different existing versions to create a new version, among other features.
After installing Perforce on your workstation, setup is easy: Simply use the Perforce client (cryptically called P4Win on the Start menu) to specify a folder on your hard disk to hold local copies of your code (see Figure 1). Because Perforce integrates well with Visual Studio, as it does with most IDEs, you might never use the Perforce client again after you make this change. Only project managers who need to manage multiple distributions of software packages are likely to use the client.
To integrate Visual Studio and Perforce, you need to set Perforce as your SCM in Visual Studio's Options dialog. You can then perform all the essential tasks that developers typically need to do without leaving Visual Studio. For example, you can check projects into the source-code repository, get the latest version of any file and review the history of changes for any file.
For a shop with 20 or fewer users, Perforce's list price is $900 per user, though discounts are available for larger shops. If you have a large software inventory or you need to support multiple versions, then you'll need an SCM solution with the capabilities of Perforce. For purposes of comparison , other packages that provide the same functionality include Visual Studio Team Foundation Server (TFS) or Subversion. At this level of complexity, all three packages are roughly equivalent, but, generally speaking, Perforce provides slightly more sophisticated features than the others.
While the per-user charges for TFS are about half of Perforce's charges, you also need to buy the TFS server (about $2,500) and SQL Server (which, in a Microsoft shop, you probably already have). If you have more than six users, Perforce will be more expensive than TFS. Of course, if cost is your primary criteria, and you're willing to give up customer support, you can consider the open source SCM package, Subversion.
However, if you have developers using tools other than Visual Studio -- such as Eclipse -- then integrating TFS with those tools will bring the per-user cost into the same range as Perforce while adding complexity. Perforce is the better choice for enterprise shops with a large number of non-Visual Studio users.
At A Glance
Perforce Software Inc.
Price: $900 per user (volume discounts available)
Quick Facts: A comprehensive SCM package that provides support for complex development projects with multiple team members.
Pros: Good integration with Visual Studio and a wide variety of IDEs, and good support.
Peter Vogel is a system architect and principal in PH&V Information Services. PH&V provides full-stack consulting from UX design through object modeling to database design. Peter tweets about his VSM columns with the hashtag #vogelarticles. His blog posts on user experience design can be found at http://blog.learningtree.com/tag/ui/.