President and CEO of Neuma Technology, Joe Farah is a regular contributor to the CM Journal. Prior to cofounding Neuma in 1990, he was a director of software at Mitel. In the 1970s, Joe developed the Program Library System (PLS), still heavily used by Nortel (Bell-Northern Research), where he worked at the time. He's been a software developer since the late 1960s.
Joe Farah writes that there’s a lot more to the cost of configuration management than licenses for version control and problem tracking, and all those open source CM tools out there may be a lot more costly than you might have thought.
Branching and merging are necessary, but they can be minimized to reduce the overhead. In this story, Joe Farah shares several helpful branching and merging tips as well as his simple philosophy of creating a new branch when you need to support the old one.
Joe Farah details the key features necessary in application lifecycle management (ALM) tools to make them practical for agile development. At a minimum, agile-friendly ALM tools must support user stories, prioritization, traceability, continuous integration, and metrics for post-iteration analysis.
Joe Farah explains that if you are using 2nd-generation or even 1st-generation software configuration management technology, you are stuck in the past. To learn what is possible today, you need to look at the capabilities of the latest 3rd and 4th generation tools. Then, you need to get going!
Studying release notes tells you a great deal about your software configuration management (SCM) and application lifecycle management (ALM) environment. They will also help you understand why SCM and ALM are so important. ALM tools provide the capability to get release notes automatically.
Joe Farah explains to us that a branching strategy is central to a configuration management (CM) plan and that it extends beyond version control. Remember, It's not just the files that need to be organized, it's the entire CM and application lifecycle management (ALM) data repository.
Joe Farah writes that an integrated application lifecycle management (ALM) toolset is one that has ALM functions working together to provide a well-defined lifecycle process and capability. However, not all integrations are alike. Your tool suite needs to look and act like a single tool.