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 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.

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.

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.

The focus on "the ability to create virtual work spaces where far flung teams can work together in real time", and indeed the ever increasing bandwidth around the worldwould perhaps leans towards the centralized approach to distributed development, and we will be interested to see how this evolves.

Application Lifecycle Management (ALM)

Marketing machines have been ramping up within vendors on the theme of ALM: the scope of CM is expanding to include activities even earlier in the product lifecycle, such as product management and marketing, portfolio management and planning, integrated systems engineering; as well as later in the product lifecycle to deployment/install/upgrade, and even run-time configuration management & monitoring of run-time components and web-based services. Vendors of integrated tool-suites (IBM/Rational, Telelogic, Borland, Microsoft, etc.) are expanding their offerings of integrated solutions to support development "from cradle to grave".

Globalization will underscore the desire for and increase the focus on enterprise-level CM/ALM.

Distributed Component-Based Development

Component based development requires component based SCM and continuous integration/staging. Distributed teams are increasingly likely to be split across "component" boundaries and/or feature boundaries making this more difficult. This is still an area where tool support needs to improve and we look for more progress here.

SOA is an architectural style whose goal is to achieve loose coupling among interacting software agents. A service is a unit of work done by a service provider to achieve desired end results for a service consumer. Both provider and consumer are roles played by software agents on behalf of their owners.

There are two main styles of Web services: SOAP web services and REST web services.

The increasing emphasis on SOA will also fuel needs for component-based, as well as attempts at SOA-based integration for enterprise CM/ALM. If the component-based versioning problem is messy, just wait till the industry starts to tackle versioning at the service-level for SOA!

ALF (Application Lifecycle Framework)

As an alternative to vendor specific integrated suites, we have ALF (an "SOA for Developers") - quoting from the the Eclipse ALF project home page:

The Application Lifecycle Framework (ALF) Project is a subproject of the Eclipse Technology Project. Its purpose is to create a technology framework that will enable a diverse set of vendor tools, irrespective of architecture or platform, to exchange user data, manage business processes and collaborate in support of the chosen ALM (Application Lifecycle Management) infrastructure technologies in use by development communities.

It is designed to eliminate the proliferation of point-to-point integrations developed by software vendors and replace them with a single integration point and a common set of conventions for establishing universal interoperability amongst tools.

This is a very interesting initiative with a number of vendors (with Serena in the vanguard) providing effort and resources to move it forward. The web site lists various documents including drafts of the Architecture Design and Conformance Guidelines. The design is based around publish and subscribe mechanism with all interfaces and data described in XML schemas.

It is obviously early days yet, there are many challenges ahead in getting competing organisations to pull together, but with the experience of Eclipse project itself we hope it succeeds and we really want to encourage this initiative.If successful it may provide one way for best-of-breed tools to continue to survive and thrive in the face of the "all singing, all dancing" mega suites from the likes of IBM/Rational and Microsoft which promise to provide all you might ever need in the software lifecycle from requirements management through to deployment.

Visibility and Status Reporting

Increasing distribution will increase the need for "virtual" information radiators and visibility & status-reporting. An interesting project to keep an eye on in this space is BIRT (Business Intelligence and Reporting Tools) - another Eclipse-based way of extracting and reporting on all the CM data.

Distribution also raises issues of how to either unify (into a datamart) and/or gather data from multiple sites and/or distributed repositories to meet the needs of SOX and other compliance requirements.

The Rise of ITIL(BS15000 and now ISO20000)

In the world of IT Service Management, the IT Infrastructure Library (ITIL) has grown from something created by the UK Government which was rapidly adopted across Europe as the standard for best practice in the provision of IT Service, and has became a British and ISO Standard.

Although the ITIL covers a number of areas, its main focus is on IT Service Management (ITSM). The major ITIL disciplines are:

One of the things that ITIL has been doing very well is getting its message across to the business which has bought in in a big way. Business managers can see the resulting benefits. ITIL Certification is ramping up very quickly and becoming a requirement for sub-contractors in many areas. CMM certification has become a marketing weapon and competitive edge, particularly for off-shore development over the past few years, and ITIL is fast achieving a similar status.

The challenge ahead is to integrate ITIL with software development and ALM, particularly in distributed environments.

Microsoft's Team Foundation Server

Microsoft managed to release Visual Studio 2005 in November, although they pushed back the introduction of Team Foundation Server to Q1 of 2006. This is definitely an event that can't be ignored by both other vendors and the rest of the industry. It is part of Visual Studio Team System and includes tools for:

Class/UML Design

Unit Test Coverage

Load Testing

Performance Testing

Defect Tracking

Configuration Management

among others. In addition they include workflow support and fully customizable process frameworks including out of the box "Agile" flavours. It will be very interesting to see how it fares in the market. Microsoft's reputation for getting things right with version 1 of new product may not be too high, but they look like they are committed (whereas they have shown less commitment to Visual SourceSafe over the years) and thus it is bound to carve out a significant share. Various aspects may also "raise the bar" for other tools in terms of user interface and integration, areas where Microsoft is traditionally stronger.

Conclusion

An interesting year gone by: some new trends appearing but lots of old issues still to be addressed.

All in all, plenty of challenges to keep us busy and on our toes as Agile SCMers going forward - Happy New Year!

Connect with Me

About the author

Brad Appleton is an Agile Development leader, coach (Scrum, XP, Kanban, DAD, SAFe, LeSS) and ALM/SCM/DevOps solution architect at a large Fortune 100 company. Currently he helps projects and teams scale. adopt and apply lean/agile development methods. and Agile ALM/SCM/DevOps 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.

Connect with Me

About the author

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 a TechWell community.

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