Software Engineering
Home Planning Requirements Writing Hazard Analysis Requirement Analysis Config Control Software Design Software Testing Software Standards Basic Logic

Software Configuration Management - SCM Activities

The major SCM functions are:

  • Identify items for baselining

  • Implement Change Control

  • Perform Status Accounting

  • Conduct Configuration Audits

The level of formality increases as the project progresses, and it needs to be appropriate for the project's needs and the team culture.

Identify Items

Most developers remember to put source code under version control, but forget about the documents. So, who last had the requirements document? And does anybody know where the document's electronic file is kept?

Change Control

Most people think about change control after product launch, but not during development. Check out the reasons why change control is needed during development as well.

Status Accounting

It's 10pm - do you know where your source code is? Version control software is cheap. Use it. Know what's checked in and out, and who has it.

Configuration Audit

Oops! We forgot to include a major redistributable file! Customers are angry! And did a user manual ever get written?

True Horror Story

Customer: "Feature X of your software doesn't work correctly - it has to be fixed."

Tech Service: "We have never produced a product with feature X."

Customer (getting angry): "Yes you did, and it's broken!"

Tech Service: "No we didn't!"

Customer: "Yes you did! I called your programmer three months ago and asked for the feature. He wrote it and sent us the new disk last month. But the feature doesn't work!"

Not only was there no change control, but there was also no configuration management and no way of identifying configuration items. The programmer had made the change without telling anyone, had quit three weeks ago, and no one knew where he might have kept his source code. There were LOTS of directories with various versions of various programs, but no way to know which one belonged to this particular program.

We were left with no way to fix the defect and no way to avoid the blame! The result was a very unhappy customer, who told many people what jerks we were!