Agile SCM January 2006: Looking Ahead

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

About the author

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.