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


   

 
 
Download Current Issue
ISSUE 2/1/2010 PDF

Need Back Issues?
DOWNLOAD HERE

Receive the print Edition?


 
blogs tab
Visual Studio 2010 Release Candidate Available Today
A Visual Studio 2010 release candidate is available on MSDN.
02/09/2010 09:45 AM EST

Is Microsoft eyeing Office subscription pricing?
Microsoft may be preparing to offer a new Office pricing option called "union," which charges the same for cloud as on-premises.
02/01/2010 09:38 AM EST

Facebook rewrites PHP runtime
Facebook is about to open source its own PHP runtime, written from scratch for speed.
01/30/2010 08:53 PM EST

 

Events calendar tab
2/9/2010 to 2/13/2010
San Francisco
IDG World Expo

2/10/2010 to 2/12/2010
San Francisco
BZ Media

2/17/2010 to 2/25/2010
Atlanta
Python Software Foundation

2/19/2010 to 2/20/2010
Los Angeles
SCALE

2/21/2010 to 2/24/2010
Las Vegas
IBM


 
Most Read Latest News Blog Resources

Projecting Success


Managers are using broader applications of SCM to get a handle on development



October 1, 2001 — 
Despite budget cutbacks, software configuration management tools are remaining on evaluation and buy lists because they provide development managers with more control over software development and maintenance. SCM tools provide a central repository where software assets, such as requirements, source code, models, documentation and test suites, can be stored to allow separate versions of software to be accurately maintained and reproduced. Project managers can control which developers have access rights to files and govern those changes within one version or among many. SCM tools also can improve developer communications, which can result in higher product quality and higher productivity among geographically dispersed development teams.

"[SCM tools] give you a visual view of source code, which means you're not working out of a black box," said Vikas Sinham, senior manager of the development support group and QA engineering at SPSS Inc., a provider of customer relationship management and business intelligence solutions. "We can see how an OEM release differs from the baseline, for example. There's no guesswork."

Sinham uses Rational Software Corp.'s ClearCase to concurrently manage multiple projects. Like most companies, SPSS has limited resources, so developers often work on multiple versions of the same software. ClearCase provides Sinham with a unified view of multiple projects so changes intended for one version are not applied accidentally to another version.

One of the biggest benefits of SCM tools for corporate and commercial developers is cost reduction. The tools can help reduce rogue or redundant development efforts, and provide visibility into who changed what, when and why. The end result is fewer man-hours, which means lower development costs and faster time-to-market.

"Project leaders are going to pay the price for a bad decision," said Bill Thornberg, director of product marketing at Rational. "They're looking at [SCM tools] as a way of becoming more effective."

IMPROVING THE DEVELOPMENTSome tools, such as Rational's ClearCase and Perforce from Perforce Software Inc., provide branching capabilities that allow developers to create different versions of software by creating or modifying a minimal set of files. Using the branching technique, several software versions share a common baseline, but portions of the code are modified to suit different requirements. SPSS has used such capabilities to develop Windows, OEM and market-specific versions of its software.

Like SPSS, most development shops are faced with aggressive development schedules but have limited resources to carry them out. SCM tools help ensure that team members are working on approved files and that those files-and the project at large-reflect the original project requirements and business objectives.

"If you want to be sure your developers are working on the right stuff, SCM is critical," said Lydia Patterson, vice president of marketing at Starbase Corp. "[SCM tools] allow you to document changes and refer back to those changes as necessary."

Starbase's StarTeam enables project managers to prevent unwanted changes to source code by making developers justify why they want to make changes. Most of the other vendors also address this issue (albeit differently) so project managers can maintain full control of development. In the absence of such control, developers can more easily make changes to code based on personal opinion, rather than project requirements. Some tools also provide file-locking capabilities.

"Developers want to change things, which breaks other things. You just can't do that with commercial products," said Mike Eason, director of quality for NCR Teradata Solutions. "If you can't control changes, there's no [requirements] traceability, no life-cycle management and no accountability. What you don't know can hurt you."

Maintaining tighter control also is important for global development teams, where processes and methods may differ significantly. Using an SCM tool, development requirements and policies can be enforced and communication can be improved.

The messaging capabilities of SCM tools are becoming more sophisticated. For example, if two developers are working concurrently on a single file, the tool will send an e-mail message to both parties alerting each that another developer also is working on the file or that changes need to be resolved with another developer's changes. In most cases, SCM tools also provide merging capabilities so concurrent development can be reconciled manually or, in some cases, automatically.

"A lot of companies suffer from a lack of coordination among their developers and development teams. They don't know where things are at," said David Martin, vice president of product development at MKS Inc., a provider of SCM tools. "They're turning to SCM tools because they want to optimize [the development] cycle and improve process control."

Some companies that already use SCM are discovering that the tools can help reduce risk, not only in terms of understanding changes to source code, but also for the purposes of recovery. An untimely server crash is just one example.

Earlier this year, a server crashed at SPSS' headquarters in Chicago, but the data had been replicated at four branch offices around the globe every 15 minutes. Within a few hours the server was back up and only minimal changes had been lost. Without the SCM tool and mirroring, Sinham would have had to restore from tape, which would have meant losing an entire day's work.

NCR's Eason had a more severe problem. An entire source code vault crashed, but he was able to recover using Starbase's StarTeam in just a couple of hours. Without the tool, he said his team never could have recovered from desktops and his organization "probably would have shut the doors."

UNCLE SAM WANTS SCMBill Jones, who is responsible for software quality assurance and configuration management at Lockheed Martin Corp., is required by the Department of Energy to use an SCM tool so his records can be audited. Jones uses MKS' Source Integrity Enterprise Edition to capture task orders, statements of work, documentation, project analyses, system descriptions, test plans and test results so he can reconstruct a version of software that was developed at any point in time. He also stores the applications and government guidelines associated with a particular version of software in the repository for audit and recovery purposes.

Jones is required to maintain 75 years of prior history because all his projects are related to nuclear power.

"We are required to configuration manage everything we do," he explained. "The primary benefit to us is cost avoidance-we're fined if we don't use SCM tools. They allow us to build and enforce more controls and incorporate regulations right into the software development process."

FOCUS ON THE BOTTOM LINESCM tools, despite their potentially high price tags, may be easier to justify than some other tools because they can significantly improve developer and development team efficiency. Moreover, SCM tools increasingly are being integrated with other tools such as defect trackers and IDEs so enterprises can further improve workflow capabilities and developer productivity.

Without SCM tools, managing changes to source code is difficult at best, particularly as development cycles continue to accelerate. Using SCM tools, development managers can enforce requirements and processes, improve team communications, maintain tighter control of software releases, speed time-to-market and control costs.


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

Add comment


Name*
Email*  
Country     


  • Comment
  • Preview
Loading