SCMWise.com

Software Configuration Management Best Practices


Definition

Software Configuration Management Best Practices are the techniques, policies and procedures for ensuring the integrity, reliability and reproducibility of developing software products.

The concept of "Best Practices" is so widely used in business and common place in software development that a step back to look at a more general definition might be useful to those unfamiliar with the concept.

A Best Practice can be considered a standard way of doing things to ensure the most efficient and effective way of accomplishing the task.

For those with an engineering background, a "Pattern" will immediately spring to mind.

They well maybe one-and-the-same, but for this conversation we will stick with the Best Practice terminology.


Categorizing SCM Best Practices

Attempting to categorize SCM Best Practices can be a difficult task.

At first glance, it might seem easy enough to group them by the typical SCM tasks such as source code administration, software builds, configuration management and change management.

However, it gets complicated categorizing these different practices when they do not necessarily fall into just one category.

For example, does developer workspace management fall into source code administration which is where it historically fell because of the close connection with the source code tools.

Except on further inspection, the management of the developer workspace could be considered a configuration management task, or even a software build task depending on development environment and software build tools involved.


SCM Best Practices Categorization Compromise

So, instead of spending tons of time trying to figure out the best practice of categorizing SCM Best Practices...

We will group them at a fairly high level and any SCM task that crosses multiple SCM domains will be grouped into a general category.


Software Configuration Management Best Practices


Software Build Best Practices

  • Use Dedicated Build Server
  • Fully Automate the Build
  • Create a Build Manifest
  • Version Build Artifacts
  • Check in Milestone Builds
  • Software Build Best Practices


Source Code Administration Best Practices


Summation

Many development teams and individual developers struggle with Software Configuration Management.

This happens for many reasons, but the most compelling reason is that it is not altogether intuitive.

Developers and Software Engineers have an over abundance of technical knowledge they must know, understand and internalize on a daily basis.

SCM Best Practices is just one more area of technical expertise that must be mastered.

However, once the best practice is seen or used, it becomes very clear and almost second nature.

Until then, it can be very abstract or figurative.


SCM Links and Resources



Future SCM

SCM Tools have evolved from simple checkin and checkout tools to fully encompassing ALM products.

In addition to source code control, these tools now encapsulate change control, software builds, project management, item/defect tracking, and fully automated testing capabilities.

What direction will SCM take in the future?

Make Your Opinion Known!


Take our SCM Salary Survey

This is a collection salaries of SCM Professionals of different backgrounds, education, experiences and locations

Please add your information to the collection

To Participate



Survey of SCM Salaries

What are other SCM Professionals making?

Interested???



XML RSS
What is this?
Add to My Yahoo!
Add to My MSN
Add to Google


ADD TO YOUR SOCIAL BOOKMARKS: add to BlinkBlink add to Del.icio.usDel.icio.us add to DiggDigg
add to FurlFurl add to GoogleGoogle add to SimpySimpy add to SpurlSpurl Bookmark at TechnoratiTechnorati add to YahooY! MyWeb


© Copyright 2007 - 2010

SCMWise.com's Privacy Policy

Page copy protected against web site content infringement by Copyscape

Return to top