change management with version control and requirements management, you can effectively track what is changing in the design and in the software and how it ties into approved changes. This is useful information after the fact, but this kind of integration can also help enforce change control as a preventative measure, e.g., code can’t change unless it’s an approved change. Integration with source code management also is also a tremendous help with baseline audits. A good integration should show complete traceability between each file check out (i.e., a change to your software baseline) and a problem report or change request. This is another time saver on whoever is conducting your baseline audits and assists in meeting CMM SCM Level 2 requirements that pertain to changes to your baseline.
It’s Not a Perfect World
So, will using tool integration make you rich and famous? Probably not. It’s easy to talk about the theory of how integration can solve all your problems (just ask any software salesperson), but there are many issues that can discourage this type of approach. It is difficult to find a solution that integrates all of your tools. You just love your requirements management tool and the team has been using the same issue management tool since the dawn of time (somewhere in the mid 80’s, according to some), but they come from competing companies. Trying to change tools could cause severe unrest in your development staff. You might also have tools that are supposed to integrate, but the integration is weak and sometimes doesn’t even work. Integrated tools can also be pricey and might exclude smaller companies and those with limited budgets. It is also important to remember that purchasing an integrated solution won’t fix any fundamental process problems you might have. Remodeling your house won’t stop the termites from eating your foundation.
As the demand for software process improvement increases, the supply of process oriented tools and integration between related software applications also increases. This will encourage the introduction of newer and cheaper tool suites that are designed with integration as a key requirement. Existing tool integrations will also continue to improve over time, and partnerships between different companies are forming to create new integrations to existing tool sets. The companies who continue to improve their process and enhance it with SCM tool integration will no doubt be the companies who survive the longest in today’s low margin, dog-eat-dog software development environment.
Matthew K. Johnson is a Contributing Editor for CM Crossroads and is a Software Configuration Manager responsible for several commercialization software projects for his Rochester, NY based employer. Mr. Johnson has a BA in Economics and a BS in Computer Science.
You can reach Mr. Johnson by email at firstname.lastname@example.org