Agile SCM January 2006: Looking Ahead

[article]
Summary:
This month, in common with our fellow columnists, we are looking ahead at things related to SCM (and particularly the Agile flavour) that we either think will happen in 2006 or that we hope for progress during the new year.

The Trend Towards Increasing Globalization

One of the increasing trends is globalization as discussed in several  interesting books. The challenges of dealing with globally distributed  development teams are going to be an even bigger focus for organizations. This  is particularly true for the "agile principles" of collaboration and people &  interaction, and frequent feedback over global boundaries. How can we ensure our development and SCM processes are up to the task?

The first book is Thomas Friedman's "The World is Flat" : 

The world is moving from a place where value was created in vertical silos of command and control to a world where value is increasingly going to be created horizontally by how you connect and collaborate.

Another thought-provoking tome on the subject is Peter Fingar's "Extreme Competition: Innovation and  the Great 21st Century Business Reformation" (see the provocatively illustrated Executive Summary ). With the coming of the "wired world", how can companies  compete?   

Operational innovation-where you forge new relationships across to globe to form extreme supply chains, pursue extreme innovation and collaborate with extreme specialists-is the next true source of competitive advantage.

A related article by Fingar called "The Coming IT Flip-Flop" (also available in a BPM Trends article ) builds on the same trend, and talks of the increasing need for human interaction management, and tools that try to facilitate that INSTEAD of trying  to do more workflow/process automation (see related book of the same name ). These are subjects near and dear to agility  (supporting "people and interactions over processes and tools"). Some relevant  excerpts:    

It won't be just the satellite/fiber networks that drive the continued  globalization of highly skilled white-collar workers, it will be the ability to create virtual work spaces where far flung teams can work together in real time. As globalization continues, the demand for a new generation of technology support for work accomplished by geographically dispersed teams becomes clear.     

What's needed is dedicated support for dynamic human-to-human interactions that cannot be preordained or pre-programmed the way system-to-system interactions are. Further, it's the human-driven business processes that are the very heart of business process management and project management. A New Category of Business Technology.

 
Centralized vs. Decentralized Tools?
There is a fundamental divide in architecture between tools supporting the  distributed model: centralized or decentralized.   
    • The centralized model has one repository and seeks to make remote use as  fast as possible. This includes efficient protocols and using caching  mechanisms such as repository proxies. Example tools in this category  include MKS, Perforce, Accurev, SpectrumSCM and others.
    • The decentralized model provides writeable remote repositories (in various  forms) with obvious performance advantages for people at the other end. Example  tools include ClearCase Multi-site, BitKeeper, Neuma CM+ and Wandisco.

For Open Source solutions in both spaces,  see David Wheeler's excellent review .

The advantages of the decentralized approach include better performance which  can be useful with an offshore site with potentially unreliable comms links.  However, if both sites are working on the same files in real time, it is often  simpler to have them working in the same repository since conflicts will be more  readily visible and resolvable by the people involved, automatic merging has its limits). Note that CM+ and Wandisco have a slightly  different distributed model to ClearCase which may make their approaches easier  to use. David Wheeler quotes Bastiaan Veelo :    

[In decentralized development, merging] of your code with the main branch has to be done by the one project maintainer, [whereas] centralized in the sense that there is just one repository, is actually more decentralized in a social sense since there are as many code integrators as there are developers with write access to the repository.

About the author

Steve Berczuk's picture Steve Berczuk

Steve Berczuk is a Principal Engineer and Scrum Master at Fitbit. The author of Software Configuration Management Patterns: Effective Teamwork, Practical Integration, he is a recognized expert in software configuration management and agile software development. Steve is passionate about helping teams work effectively to produce quality software. He has an M.S. in operations research from Stanford University and an S.B. in Electrical Engineering from MIT, and is a certified, practicing ScrumMaster. Contact Steve at steve@berczuk.com or visit berczuk.com and follow his blog at blog.berczuk.com.

About the author

Brad Appleton's picture Brad Appleton

Brad Appleton is a software CM/ALM solution architect and lean/agile development champion at a large telecommunications company. Currently he helps projects and teams adopt and apply lean/agile development and CM/ALM practices and tools. He is coauthor of the book Software Configuration Management Patterns, a columnist for the CMCrossroads and AgileConnection communities at Techwell.com,  and a former section editor for The C++ Report. You can read Brad's blog at blog.bradapp.net.

About the author

Robert Cowham's picture Robert Cowham

Robert Cowham has long been interested in software configuration management while retaining the attitude of a generalist with experience and skills in many aspects of software development. A regular presenter at conferences, he authored the Agile SCM column within the CM Journal together with Brad Appleton and Steve Berczuk. His day job is as Services Director for Square Mile Systems whose main focus is on skills and techniques for infrastructure configuration management and DCIM (Data Center Infrastructure Management) - applying configuration management principles to hardware documentation and implementation as well as mapping ITIL services to the underlying layers.

AgileConnection is one of the growing communities of the TechWell network.

Featuring fresh, insightful stories, TechWell.com is the place to go for what is happening in software development and delivery.  Join the conversation now!

Upcoming Events

Sep 22
Sep 24
Oct 12
Nov 09