Agile SCM January 2006: Looking Ahead

 

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.

To some extent, component-based development is evolving into:

Service-oriented Architectures (SOA)

From an excellent article, Introduction to SOA :   

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

About the author

Steve Berczuk's picture
Steve Berczuk

Steve Berczuk is an engineer and ScrumMaster at Humedica where he's helping to build next-generation SaaS-based clinical informatics applications. 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 bookSoftware Configuration Management Patterns, a columnist in The CM Journal and The Agile Journal at CMCrossroads.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.