O’Reilly news

Practical Perforce: Channeling the Flow of Change in Software Development Collaboration

November 30, 2005

Sebastopol, CA--While the success of Perforce Software during the post-boom downsizing of recent years is a testament to the company, it also underscores the importance of their product. Perforce is one of several popular software configuration management (SCM) systems that developers increasingly rely upon to keep track of software versions and all the components that go into them during a product life cycle. It's a growing field that includes such well-know tools as RCS, CVS, and Subversion.

"The more developers know about branching, merging, and figuring out which bug fixes went where, the more they are likely to produce better software faster," comments Laura Wingerd, Perforce's vice president of Product Technology and author of Practical Perforce (O'Reilly, US $39.95). "So, while SCM is one of the least sexy aspects of software development, it's also the cornerstone of production for successful software."

Practical Perforce provides an introduction to this immensely popular product and a detailed overview of SCM in general, inspired by calls and emails from software engineers and configuration managers. "Some of their questions were about Perforce, but a large part of them were about how SCM works," Wingerd explains. "This book is not a product manual, but more of a consultant's brain dump. It's 350 pages of what you'd learn if you hired me to come help you sort out the SCM situation at your company. A software developer who was kind enough to review some early chapter drafts told me, 'I never read manuals. But I'd read this book.'"

The first six chapters of Practical Perforce describe commands and concepts to give readers baseline knowledge about fundamental Perforce operations. "It's not a tutorial, nor is it a reference," Wingerd remarks. "It's more of a whirlwind technical tour." The final five chapters describe the big picture, using Perforce in a collaborative environment. The book outlines best practices and shows readers how to implement them with the Perforce operations introduced earlier.

"As I wrote the book, I had in mind a reader familiar with SCM, most likely a project manager, a build engineer, or a coder involved in a collaborative software development project," Wingerd explains. "Especially someone who wears more than one of those hats, and who has just been saddled with the task of selecting an SCM tool and deploying it."

Wingerd goes beyond the official Perforce documentation to cover undocumented commands, explanations of esoteric internals, useful recipes, and clever ways to exploit Perforce to perform tasks such as: keeping track of changes while conducting concurrent parallel work on files, log activity, reports on who did what when, ways to store files and file configurations, and restore lost bug fixes. She also examines branching and merging in depth by taking into account the consequences of refactoring, agile development, extreme programming, emergency patches, and ongoing product maintenance.

"You don't need to be a Perforce user to gain insight from this book," Wingerd says. "Anyone interested in comparative SCM will find worthwhile material. The book also helps users understand why Perforce works the way it does. It's a level of understanding that prompts them to post 'Aha!' messages to online Perforce discussions."

Eventually, Wingerd believes, the entire industry will realize an "aha" moment about SCM. "We'll soon reach a point where software developers understand the inherent behaviors of SCM 'objects' like release branches, build workspaces and change sets," she explains. "Project managers will spend less time trying to define and document SCM procedures because developers will recognize them instinctively. It will be like designing traffic patterns in a city: you don't give drivers thick manuals telling them what to do; you put traffic lights at intersections and let the drivers figure out what to do."

Additional Resources:

Practical Perforce
Laura Wingerd
ISBN: 0-596-10185-6, 336 pages, $39.95 US
1-800-998-9938; 1-707-827-7000

About O’Reilly

O’Reilly Media spreads the knowledge of innovators through its books, online services, magazines, and conferences. Since 1978, O’Reilly Media has been a chronicler and catalyst of cutting-edge development, homing in on the technology trends that really matter and spurring their adoption by amplifying “faint signals” from the alpha geeks who are creating the future. An active participant in the technology community, the company has a long history of advocacy, meme-making, and evangelism.

Email a link to this press release