Dr. Dobb's Journal December 2007

OpenALM and Its Manifesto

Borland's bid to universally codify the software development process

By Mike Riley

Mike is a DDJ contributing editor and can be contacted at mike@mikeriley.com.

The tumultuous history of Borland is a reflection of the last 30 years of the information technology industry. Born as a result of a product called "Turbo Pascal," which was the Ruby on Rails of its day, Borland has attempted to redefine itself each time it lost when going head-to-head with Microsoft. The most recent concession was the detachment of its developer IDEs, consisting of the once mighty Delphi (Turbo Pascal's successor) and JBuilder (one of the best Java IDEs before Eclipse commoditized the entire IDE market).

Realizing the erosion of its once-core business, Borland swam upstream toward the more lucrative—but considerably more competitive—Application Lifecycle Management (ALM) tools market. Not only would this break Borland out of its Microsoft operating-system dependency, but it would also let Borland apply its lower cost approach to the traditionally high-priced ALM tools market.

Besides offering more competitively priced alternatives compared to other ALM tool vendors, Borland's latest direction has zeroed in on a problem that has plagued the expensive and highly proprietary ALM market since its inception. At first, the proprietary approaches were developed simply because no standard means of integrating all the moving parts of the software development process existed. In fact, the whole idea of ALM was (and some would argue, still is) in flux, further justifying the proprietary approaches adopted by ALM vendors. Now that the ALM process is generally understood and accepted, enough of the workflow has been codified into a predictable, repeatable process that the initial proprietary argument is looked upon with disdain as simply a way for these dominant ALM software proprietors to lock customers to their expensive license agreements. Seeing this as a major pain point, Borland has reengineered its software tools market approach to alleviate that pain.

The OpenALM Family

Borland has restructured its existing portfolio of tools and solutions around the OpenALM strategy. According to Borland's Mike Hulme, the company's OpenALM objective to support any platform-agnostic software development process or tool in a measurable way stemmed from what Borland calls its "Five Rights of OpenALM Manifesto." These are:

Running the Gauntlet

The first Borland toolset that fully encapsulates these principles is an automatic, server-side continuous build tool appropriately named "Gauntlet" (www.borland.com/us/products/silk/gauntlet). In addition to almost instant application builds and results reporting upon code check-in, Gauntlet can integrate with three types of version control systems (CVS, Subversion, and Borland's own StarTeam) and several automated test suites including Mercury TestDirector and Borland's SilkCentral Test Manager (www.borland.com/us/products/ silk/silkcentral_test).

Gauntlet itself is a Java-based application running within its own Tomcat web server. Accessing its functions is done entirely through a standard web browser such as Microsoft Internet Explorer or Mozilla Firefox. The intuitive user interface provides one- or two-click access to a majority of the program's features and settings. Dashboard-style graphs abound throughout most nonAdministrative pages, emphasizing the helpful and numerous metrics collected from Gauntlet's build processing.

Establishing a new project with Gauntlet is simple. Enter the location with proper authentication credentials of a CVS, Subversion, or Borland's own StarTeam code repository. Going a step further, Gauntlet features an impressive historical project view generator called "Replay," which identifies every code check-in made with that project before Gauntlet was employed to manage the build process, performing builds and, if configured, tests on each of these check-in points. Once Replay has been employed, its results can be used like a time machine to study the trends of a project's code history. This can be useful not only for projects currently in progress (to help estimate time and potential issues as that project continues), but also for identifying past project potholes and help developers and managers either avoid or at least plan accordingly for similar project types in the future.

[Click image to view at full size]
Figure 1: Gauntlet can be configured to connect to and interact with CVS, Subversion, or Borland's StarTeam code repositories.

Another technically exciting feature Gauntlet delivers is its ability to sandbox each developer's check-in build to protect it from the main trunk in the event of a problem. Developers who have previously invested in source code and build-management efforts have no doubt encountered errant check-ins that not only broke the main build but also consumed desperately unavailable cycles of time trying to identify and isolate the problem area.

Smooth as Silk Integration

Rounding out Gauntlet's backend integration is its connectivity to test suite software, especially Borland's own SilkCentral Test Manager (SCTM). While the product currently performs a hand-off to links from preconfigured tests performed by SCTM, Borland is currently working on a new iteration of the tool that should provide seamless drill down and bubble ups of test metrics directly related to check-in data so that a developer's work can be closely monitored from any point in the lifecycle. Hooking into client-side installations of Borland's SilkTest (www.borland .com/us/products/silk/silktest) for automated regression and functional test runs, and SilkPerformer (www.borland.com/us/ products/silk/silkperformer) for load testing and application performance analysis, SCTM rolls-up these individual runs into a collective presentation across the active application's construction. The next version of SCTM will bring this accessibility and lifecycle visibility even closer and more real-time than ever before.

Additionally, because of Gauntlet's open platform, the ability to communicate with other IT ALM investments should alleviate concerns of legacy and future product integration efforts. To further facilitate this objective, Borland has opened up Gauntlet's internal APIs to allow plug-in extensions to further enhance the product. As of this writing, Borland has posted several plug-ins (www.borland.com/us/products/silk/gauntlet/ plugins.html) for the platform and anticipates a healthy open and third-party market of future Gauntlet plug-in extensions.

Coming Soon

While Borland is understandably keeping its secrets close, it does provide a key word of what's to come—more. More dashboards, more details, more reporting options, more integration partners, more platforms, and more processes. The Gauntlet cornerstone has been set in place and the OpenALM wheels have been set in motion. Borland has reinvented itself as an enterprise application lifecycle management company and with its products and services aligned, its solutions coming to fruition in the form of an OpenALM-enabled product portfolio, its vision is innovating positive change in the market and destined to help software development organizations succeed.

[Click image to view at full size]
Figure 2: Gauntlet's extensive build analysis statistics can provide rapid evaluation of a project's lifecycle strengths and weaknesses.
[Click image to view at full size]
Figure 3: Borland's SilkCentral Test Manager (SCTM) will provide further integration with Gauntlet beyond similar web application layout in the 2007 release of SCTM.