Attend PACK EXPO – this year’s can’t-miss event in Chicago, Oct 23-26.
Discover solutions from 2,000+ exhibitors to advance your operations and network with colleagues at PACK EXPO International.
REGISTER TODAY

Version Control Systems: Gotta Have 'Em

Managing software-programming development - including revisions to any specific program - should be a concern to all programmers and developers involved.

Aw 4886 Isservice10

To manage changes, a must-have in software development is a version control system (VCS), suggests Bartosz Milewski, Ph.D., and president of Seattle-based Reliable Software (www.relisoft .com). Those VCSs track revisions through a dynamic database. That common repository where software developers can share files enables companies to secure their source-code assets, explains Pat Burma, sales engineer for Seapine Software Inc. (www.seapine.com), Mason, Ohio. He notes that version control provides some basic source-code-control features such as merging, file locking, and identifying release and build configurations through labels or branches, plus common activities such as check-in and checkout.

From a business-process-management view, version control is essential, Burma stresses. A sub-process, version control defines how the company manages its source-code assets. A proven methodology such as version control to manage software changes will ensure several things, he believes: predictable project planning, and auditable and traceable change management, as well as efficient and reliable build management.

But version control by itself is not very useful on a corporate scale, Burma says, particularly if everyone uses his or her own VCS that is tailored only to individual needs. “Version control as a business process can effectively regulate application-lifecycle management and software-development lifecycle with surprisingly predictable outcomes,” he says.

“Working as a team with common VCS implementations can help achieve this (predictable outcomes) by generating a measurable environment, which is possible through consistent practices,” Burma says. “This differs from using many different tools and techniques, which makes it much more difficult to measure performance and create baselines.”

Must have

Several items comprise Milewski’s list of VCS must-have attributes. Those include ease of use, ease of installation and ease of maintenance. “A VCS should be as unobtrusive as possible. It should become an integral part of the development cycle. It should help the programmer’s work, rather than impose its own demands and restrictions,” he explains.

Ease-of-use also means a good user interface. “If a team uses mostly command-line tools to develop a project—compilers, linkers, make utilities—then a command-line VCS might be appropriate,” Milewski observes. But if the team is used to graphical user interfaces (GUIs) in their integrated development environment, the VCS should also have a comparably sophisticated GUI, he adds.

But no single recipe exists for choosing a VCS. End-users should seek features that support their development styles and environments. “For instance, if there is a lot of independent development, then branching and merging are important,” Milewski explains. But in agile development, the ease of making small change-based check-ins, quick integrations and code reviews is paramount, he believes. He notes that end-users should avoid file-based VCSs, but seek “atomic check-in (a database theory term meaning the operation either succeeds fully or fails completely) of multiple files,” which he says is standard now. Other attributes Milewski believes VCSs should have include keeping track of files that have been renamed, moved or deleted; and integrating with other tools, whenever possible.

What’s the most important thing about a VCS? “Use one! I’m always amazed at programmers who don’t. You don’t have to buy an expensive system requiring a dedicated server,” Milewski explains. “But if you are serious about programming, or Web development, you must have a VCS!” 

C. Kenna Amos,

Where the Entire Industry Meets
Discover solutions from 2,000+ exhibitors to advance your operations and network with colleagues at PACK EXPO International, Oct 23-26.
REGISTER TODAY
Where the Entire Industry Meets
Revealed: Sensor & AI Secrets
New report features peers and pros on how machine vision, smart instrument sensors and AI can improve manufacturing.
Download e-book
Revealed: Sensor & AI Secrets