News on Monday
more>>
SharePoint Tech Report
more>>


   

 
 
Download Current Issue
ISSUE 7/1/2009 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
Is the mystery Borland suitor Serena?
Borland software is considering an offer from another company after a preliminary deal with MicroFocus. Is Serena the new company?
06/30/2009 01:55 PM EST

Windows 7 - An eBayer's dream product?
Windows 7 pre-orders can make people money on eBay.
06/29/2009 03:48 PM EST

Know thine cloud provider
Cloud computing require companies to understand compliance and regulation. Third parties will play a big role in regulated industries.
06/29/2009 02:58 PM EST

 

Microsoft Worldwide Partner Conf.
7/13/2009 to 7/16/2009
New Orleans
Microsoft

OSCON (Open Source Convention)
7/20/2009 to 7/24/2009
San Jose
O'Reilly Media

XBRL Technology Workshop & Summit
7/28/2009 to 7/30/2009
Santa Clara
XBRL US

ACM SIGGRAPH
8/3/2009 to 8/7/2009
New Orleans
ACM SIGGRAPH

OpenSource World (formerly LinuxWorld)
8/12/2009 to 8/13/2009
San Francisco
IDG World Expo


 
Most Read Latest News Blog Resources

It's Hip To Be Square


Configuration management isn’t cool, but some say it’s undeniably more important than ever in a distributed services world



November 1, 2006 — 
Want to have some fun, or at least generate several weeks’ worth of e-mail to read? It’s easy. Find several smart people steeped in the world of software configuration management, then ask them the following question.

Because software development is becoming a more agile and process-light endeavor, isn’t configuration management decidedly less important today than it was even a few years ago? After all, the glossy business magazines declare that edge-generated innovation and services are in, while centralized and plodding control is out. And what could be more centralized and plodding than configuration management?

“The opposite is true,” said Steve Berczuk, co-author of the 2002 book “Software Configuration Management Patterns: Effective Teamwork, Practical Integration” and senior software engineer at Fast Search & Transfer in Needham, Mass. “With more going on, it’s more important to be able to understand dependencies, track changes and coordinate.”

Suffice it to say that Berczuk and most of his peers seem unconcerned about any pending obsolescence. And after some amount of indignation at that suggestion passes, most of them can cite a plausible laundry list of reasons why configuration management matters more than ever.

One is the inexorable rise of standards and regulations. Another is the push toward geographically distributed development, which if anything fuels the trend toward consolidation, centralization and more integrated soup-to-nuts-type management software. The rise of Web services and service-oriented architectures, or SOAs, may in fact create new issues. But such technologies won’t necessarily solve any of the old configuration management problems, nearly all of which require competent use of a handful of well-known tools.

Yet it’s wrong to consider configuration managers to be tool freaks who never met a check-in/check-out system they didn’t like. After strenuously pointing out that some sort of tool is essential to nearly every project, most developers working in this space will emphasize that people and processes matter far more than software programs in managing a codebase.

RULES AND REGULATIONS
More than a few programmers probably chose software development as a career because they wanted to avoid painfully dull subjects like securities law and process engineering—both of which are relevant to software like never before.

The Sarbanes-Oxley Act of 2002, or SOX, requires IT managers to have proper controls in place when making changes to software that plays a significant role in financial reporting. Unfortunately, this provision is interpreted broadly. And since software increasingly is the DNA of most businesses, nearly any application can be seen as having some connection to a company’s financial health.

Also on the rise are various industry regulations related to corporate operational health. One example is the ISO 20000 standard—it’s aligned with the IT Infrastructure Library, or ITIL, standard—that aims to be the new international standard for IT service management. Another is Capability Maturity Model Integration, or CMMI, an increasingly popular process improvement approach that sprang from the Software Engineering Institute at Carnegie Mellon University.

“I think configuration management is going to remain just as important, but it’s going to become easier to do because of general acceptance and also advances in tools to support it,” said Robert Cowham, principal consultant with Vaccaperna Systems in London. “Things like SOX and other corporate governance initiatives are a help. Also ITIL, now ISO 20000, has done a lot to raise the profile, as has CMMI. Traceability is becoming more important.”

Cowham currently is reviewing the collection of software used by a large financial services company. One major outsourced piece of this collection has suffered from lack of investment in configuration management over the years. The vendor has been using totally different processes to maintain this particular component, Cowham said.

But Cowham’s client now is including new requirements that all vendors use certain ITIL principles and achieve minimum CMMI levels in their contracts. As a result, he said, the financial services company’s third-party software providers may have to think about hooking together ITIL and CMMI.

“This will be the key to delivering a service from initiation through to live support for many years,” Cowham said. “Taking the service view is a challenge for many people involved in what they see as pure development, which finishes when the project delivers.”

FAILURE TO COMMUNICATE
Another development challenge today is coordinating geographically distributed teams that practice around-the-clock, follow-the-sun development. Despite tools ranging from IM to Skype, miscommunication remains a potentially costly issue, especially when working across cultures.

And no technology can erase the fundamentally asynchronous nature of such work. That is, when the sun is up in Sunnyvale, Calif., the developers back in Bangalore, India, who worked on the code the 12 hours ago are now fast asleep.

Berczuk, who occasionally consults for teams with members in different countries, also sees distributed development as driving the need for better configuration management. A practitioner of agile processes and Scrummaster, he uses a continuous integration tool such as CruiseControl and follows practices such as unit testing in an effort to boost the speed and efficiency of such teams’ work.

“The version control history is the key to understanding what happens when a test breaks,” Berczuk said. “Trying to be agile and develop code quickly from a number of cities can make things pretty complex.”

More work done across time zones is one reason behind centralization and integration, other important trends in configuration management. Other reasons include the need to mitigate complexity and combat server sprawl.

For Mario Moreira, director of technology at a large Boston-based financial services company, centralized environments are among the two or three big configuration management trends today.

“Organizations want to reduce overall costs,” said Moreira, author of the 2004 book “Software Configuration Management Implementation Roadmap” and regular columnist at CM Crossroads. “This includes consolidating on less hardware, sharing licenses and using fewer personnel to support more users.”

Configuration management tools also appear to be moving well beyond their source- and version-control roots. New features handle branching and merging, build management, defect tracking and deployment—either built into a broad solution or through integrations with other complementary software.

The new push for integration helps engineers such as Michael Sayko, a software configuration management consultant in Austin, Texas, whose clients frequently ask him, “What’s in the build?”

Said Sayko: “Those who ask this question are looking for a description of the changes, such as a new feature or defect fix, and not simply the version numbers of source code files.”

YEAH, BUT THE PAY’S GOOD
Several other indicators suggest that configuration management is not simply an obscure corner of the software world.

Jobs in the field continue to command good salaries. Being a software engineer is the best job in America, according to a survey published by Money magazine and Salary.com. The survey calls out release engineers, a category that includes configuration management specialists, as the top-paying software-related job.

“Job postings for configuration managers and build engineers seem to be more sophisticated than they were several years ago,” said Sayko. “Many postings mention the need to develop or support branching strategies for parallel development.”

Employers also seek engineers who can support the integration between version control and change management, Sayko added. For example, the engineer may need to maintain the workflow model used by the change management tool.

In addition, competition in the field remains vibrant. Wikipedia’s page devoted to revision control software includes a few dozen open-source and commercial titles.

“There appears to be a lot of new configuration management tool vendors,” said Moreira. “It’s hard to keep up with them.”

Among the vendors jockeying for position in this space are AccuRev, Borland Software, CA, IBM Rational, MKS, Perforce, Seapine Software, Serena Software and Telelogic. From the build side, BuildForge, Catalyst Systems and Electric Cloud all have solutions that extend into what they’re calling production management systems.

The existence of viable open-source tools also hints at the general health and well-being of the configuration management industry. Subversion and Concurrent Version System, better known as CVS, are among the more popular open-source version control tools, which lack many of the other features that more and more are becoming part of a full configuration management tool suite.

“I like the open-source configuration management tools better because there are more tips on how to do things,” said Jeanne Boyarsky, a New York City-based Java developer at a large bank. “I find it easier to create custom reports, and there are more books on the open-source tools. Beyond that, I don’t feel a need for the extra features that the commercial tools offer.”

Configuration management-related innovation is coming down the open-source pike, as well. Several developers expressed their hopes for the Eclipse Application Lifecycle Framework, or ALF, project. Led by Kevin Parker of Serena, the project is working on a framework that allows different tools to integrate without having to develop custom APIs. Despite the central importance of configuration management to development projects today, the question of how to deal with the general rise of services does loom on the horizon.

Even federal government IT managers, presumably far from technology’s bleeding edge, now are showing an affinity for service-oriented architectures, roughly defined as architecture built around a collection of network-based services.

More than half of such managers recognize the need to address inter- and intra-agency integration as an SOA

driver, according to a recent survey by the Merlin Federal SOA Coalition. And among those who’ve been through an SOA implementation, 75 percent would recommend that other agencies adopt an SOA approach.

“Configuration management is more important when it comes to SOA,” said Jason Bloomberg, senior analyst with ZapThink.

Supporting SOA is about handling configurations of various loosely coupled bits of software, Bloomberg said. Such configurations increasingly reflect nuanced business logic instead of just dumb functionality. And several configuration issues crop up when offering a new service.

“You have to put the service together, register it, deploy it, access it, bind to it, version it and deal with various policies and governance,” said Bloomberg.

Several companies tracked by ZapThink help to keep things straight when it comes to services, including Flashline (recently acquired by BEA Systems), Infravio (recently acquired by webMethods), Layer 7 Technologies, LogicLibrary and Systinet. Most of these companies tout their ability to do service life-cycle management, asset management or SOA governance. They might not use the term “configuration management,” but that’s really what they’re talking about, Bloomberg said.

But this new rise of services doesn’t necessarily displace old configuration management problems. All the code related to end-user applications, databases, middleware, operating systems, network management and so on is still around.

“You still have to manage all that stuff, but now we also have to manage configuration of the services,” said Bloomberg. “It’s a new configuration problem that goes on top of the old one that’s still around.”

A FOOL WITH A TOOL
Another old configuration management problem is getting lost in hairsplitting discussions about features and benefits of various tools while ignoring more fundamental issues about the people working on the coding project.

“As the saying goes, ‘A fool with a tool is still a fool,’” said Brad Appleton, software engineer for Motorola and co-author of “Software Configuration Management Patterns” with Berczuk. “There are lots of people out there with the best tools around who are falling all over themselves because they still don’t really know what good configuration practices and process are or how to achieve them.”

For Appleton, good practices include writing patterns, documents that describe context- and situation-specific solutions to configuration management problems. Using wikis is one way to share and disseminate these patterns. Sharing also is facilitated by rotating people across various teams and departments within a company in an attempt to build like-minded communities of practice—something that only works, Appleton said, “if the place they rotate to is open and accepting of the knowledge they have to share.”

German developer Ilja Preuss accepts that configuration management is an essential part of the development process. Preuss, who co-wrote the 2005 book “Softwaretests mit JUnit,” won’t start any coding project, however small, without using some version control system. He even uses Subversion to store work-in-process documents and presentations.

Yet, like many of his peers, Preuss, who’s also a proponent of agile processes, is not one to cram a tool or process down his team’s throat. Successful configuration management is “even more about team members deciding how to collaborate on a day-to-day basis than about process,” he said. “It’s no coincidence that the first line of the Agile Manifesto states that ‘we value individuals and their interactions over processes and tools.’”

Indeed, after reading the thoughtful yet lengthy responses of Preuss and many of his colleagues, at least one conclusion is reasonable: Configuration management, however dull and rules-based it’s seen to be in the eyes of the wider software world, remains an undeniably valuable part of development.

What about those glossy business magazines and talk of a new wave of nimble programming practices to support sexy Web 2.0 technologies?

“Heck, 40 to 50 percent of software engineering is maintaining legacy products,” said Moreira, who has weathered much hype in two decades doing configuration management work. “These legacy projects, in particular, will always require rock solid configuration management.”


Share this link: http://www.sdtimes.com/link/29740
 

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading