International Developer Logo Last Updated 24.07.08 at 11.48
On Sale
This months front cover, click to see the table of contents.
Subscribe
Powered by SEEK
Keywords (optional)
 
FEATURES

Distributed Software Development with Perforce


Tony Vinayak, Consulting Manager Perforce Software Inc.   04.03.08

Abstract

Distributed software development has become pervasive in modern enterprise environments. To support collaboration, a software configuration management (SCM) system should feature a common, consistent repository, be tolerant to network outages, and support heterogeneous environments with minimal administrative overhead. Traditional client/server architectures can be prohibitive in terms of network and server requirements. Replication solutions have been developed to address these issues, but only at significant costs in administrative overhead. A centralized repository with remote caching supports distributed development more reliably and with more scalability than either traditional client/server or replication-based solutions.

 

Introduction

As distributed environments have become the norm for software development, coordinating the efforts of development teams has become one of the biggest challenges faced by the enterprise today. It is hard to imagine any sizable development project managed without an underlying software configuration management (SCM) tool. This paper outlines the operational

requirements that an SCM tool must meet to support distributed software development, the common approaches adopted by tool vendors over the years, and contrasts these approaches with the architecture implemented by Perforce Software.

 

Early models of software development were centralized; every developer working on a project worked in the same building, often with offices located along the same hall. Managers were of the belief that “communication breaks down at a hundred feet”. Today, this kind of centralized development is rare. The pervasiveness and increased reliability of broadband internet access enables developers to work in small offices and even at home. Global teams of thousands of users, combined with newer methodologies such as agile development, result in processes that are both geographically dispersed and highly interactive, requiring real-time exchange of source code, documents, and images between team members.

Read more here.





HAVE YOUR SAY
This article is rated  Rate this article 
 
Editors Letter
Picture of the Editor  
Alphabet Street 

Each month we try our hardest to cover every angle and aspect of software engineering. Indeed, we pride ourselves on our platform-agnostic wide ranging view of the development landscape. How then could we push ourselves even further and really broaden the spectrum of our editorial coverage? The answer had to be – the complete A to Z of software. Well, not complete, but a rip roaring twenty-six letter technology tour to provoke some interest and thoughts in areas you might not normally think about.

But first, a personal confession so that you know how all this started. I actually got the idea from reading a cookery magazine that had done something similar. You know the kind of thing – A for apples, B for bread, C for custard and so on. But those pesky food journalists have it easy don’t they? When they get to X, Y and Z they can just use X for Xérès Sherry, Y for Yeast and even Z for Zabaglione.

Now, X is simple enough with plenty of XMLs out there, Z for zero tolerance we reckoned, but Y, wow - now that is a hard one.

So, please dive in and jump to your favourite letter. It was always going to be the case that we would miss out on a few key areas, but we think it’s pretty cool to be able to work your way through the whole alphabet and just stay within the world of software development. Next month, 1001 aspects of application development and how you can implement them in your daily working schedule. Joke – ok?

Happy coding!

Adrian Bridgwater

Editor

Write to the Editor