Top 10 Best Practices in Configuration Management

[article]

In his CM: the Next Generation series, Joe Farah gives us a glimpse into the trends that CM experts will need to tackle and master based upon industry trends and future technology challenges.

you don't know how many problems you've fixed, you'll never have any idea as to how many are still left to fix.  Simply ignore problems (other than true emergencies, and other than getting the source to do the data entry) unless they are in the repository.

15. Use Live Data CRB/CIB Meetings

Use live data at your CRB/CIB meetings and update the information at the meeting.  Today's meeting rooms make this easy to do.  If your tools are not up for the task, time to review and possibly upgrade them.  But the more modern change/problem/feature management tools will support interactive query and update in the context of such meetings.  The result is more timely decision-making, quicker response times and less
administration with fewer errors.

14. Warm-standby Disaster Recovery

Whether it's disk crashes, earthquakes, terrorism, floods, hurricanes, or whatever, you need to be able to continue development and provide ongoing support to your customers.  The way to support this is to ensure that your CM/ALM toolset has full redundancy at an off-site location that can be quickly switched to in case of a disaster.  Whether it serves strictly as a backup site or as a fully redundant node in a multiple site or remote site solution, you cannot afford to put together a solution for your team that will leave them high and dry in the case of a disaster. And it has to work for your entire ALM solution. This may not sound like a CM best practice at first, but it is and for some of you it may need to make the top ten list.

13. Continuous Automation

Ultimately, the quality and responsiveness of your CM/ALM solution will be governed
by the level of automation.  The more advanced the automation, the higher your quality and the lower your costs.  And your processes will be affected significantly.  When automation is in place, there's less need for auditing, there's more time for improving processes, there's more budget for improving your tools, and there's more focus on your
core business.  Once you've automated, step back and look at your gains, but also look at your remaining manual steps.  Can they be further automated?

12. Change Control of Requirements

Change control is not a concept purely for source code.  Requirements need change control as well.  This means that you must be able to group changes to requirements into requirement change packages.  You need ownership of your requirements and this needs to be tied into who is allowed to make changes to them.  Version control is a necessity as is the ability to create baselines.  Promotion levels for your requirements and the ability to view the various configurations.  You likely have fewer people involved in changing requirements, but that doesn't mean you don't need change control.

11. Org Chart Integrated with CM Tool

Your organization chart is a key component of your CM solution.  If you need to identify metrics for different parts of the organization, it sure comes in handy.  If you need to automatically reallocate permissions because of vacations, again the org chart is helpful.  If you want to do reporting by department, or if you want to direct problems to the correct area, the org chart.  If you want to identify what your staff has on their to-do lists, an org-chart based query should let you roll-up a list against all the staff in a particular group.

The Top Ten

OK.  So we've gone through the ones that did not make the top 10.  Not because they're not important.  I'm sure many of use see them as key practices, and so you should.  But let's continue the countdown and identify the more critical, and more basic best practices.

10. Tailor your User Interface Closely to your Process

You've got a CM tool, perhaps an in-house tool, maybe an open source tool, or even a commercial tool.  If you can't

About the author

CMCrossroads is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.