April 27, 2005

CM Interview Questions

Here are a bunch of CM interview questions. Most are from here

Q Please describe the purpose of Software Configuration Management?
A The purpose of Software Configuration Management is to establish and maintain the integrity of the products of the software project throughout the project’s software lifecycle.

Q Give me some examples of problems caused by the lack of Software Configuration Management?
A Examples are:
• The latest version of source code cannot be found
• A difficult bug that was fixed at great expense suddenly reappears
• A developed and tested feature is mysteriously missing
• A fully tested program suddenly does not work
• The wrong version of the code was tested
• There is no traceability between the software requirements, documentation and code
• Programmers are working on the wrong version of the code
• The wrong version of the configuration items is being baselined
• No one knows which modules comprise the software system delivered to the customer

Q Please give me your definition of a Baseline.
A A baseline is an approved snapshot of the system at appropriate points in the development lifecycle. A baseline can be a specification, a product that has been formally reviewed and agreed upon or even a partial system under formal change control.

Q What does baselining provide?
A Baselining provides:
• A baseline establishes a formal base for defining subsequent change. Without this line or reference point the notion of change is meaningless
• The items in the baseline form the basis for the work in the next phase of the software development cycle
• The items of the next baseline are measured and verified against previous baselines before they become baselines themselves

Q How can one file compare future dated output files from a program which has change, against the baseline run which used current date for input. The client does not want to mask dates on the output files to allow compares. A Rerun baseline and future date input files same # of days as future dated run of program with change. Now run a file compare against the baseline future dated output and the changed programs' future dated output.

Q Please describe the difference between a configuration item, a version, a variant, a configuration, and a baseline?
A A CONFIGURATION ITEM is a work product (documents, code, unit test, etc...) identified and explicitly placed under configuration control.
A VERSION is a defined state of a configuration item at a particular time. Each time a configuration item is revised and replaced under configuration control, a new VERSION is created.
A VARIANT is one of several versions of a configuration item that exist at the same time.
A CONFIGURATION is a collection of configuration item versions that are put together (to form a module, a subsystem, a product, etc..)
A BASELINE is a configuration whose content has been carefully recorded and verified as coherent

Q Give me some characteristics of a good change control process.
A A process that:
• Specifies who can initiate the change request
• Identifies the individuals, group, or groups who are responsible for evaluating, accepting, and tracking the change proposals for the various baselined products
• The “change impact” analysis expected for each requested change
• How the change history should be kept

Q Please give your reaction to the statement – “Without change control a software engineer could make an important change to a configuration item or its interfaces without a lot of extra work and red tape.”
A This may be true but no record would be kept for:
• What the change was and why the change was requested
• Who wanted the change made
• Who approved the change
• Who made the change
• Who verified the change

Q The term SCCB or CCB comes up often when discussing change control. Please tell me what that term stands for and what its purpose is?
A The term stands for Software Configuration Control Board or Configuration Control Board and it:
• Authorizes the establishment of baselines and the identification of configuration items
• Represents the interests of all groups who may be affected by changes to the baselines
• Authorizes changes to the baselines
• Authorizes creation and release of products
Q Please explain what Configuration Status Accounting is.
A A function that maintains a continuous record of the status and history of all baselined items and proposed changes to them and reports on the metrics and traceability of all changes to the baseline throughout the software lifecycle

Q Give me some examples of what information a configuration status accounting system may include.
A Examples are:
• The time at which each baseline was established
• When each software configuration item and change was included in the baseline
• A description of each configuration item
• All change requests
• The description of each software change
• The status of each software change request
• The changes planned for each identified future baseline
• A configuration item index that lists each configuration item along with its creation date and current released version
• Change logs that show the history of the changes made to the source files as well as their release histories

Q Please give some examples of configuration status reports.
A Examples are:
• SCCB meeting minutes
• Change request summary and status
• Trouble report summary and status
• Summary of changes made to the software baselines and their frequency
• Revision history of all configuration items
• Results of software baseline audits

Q Give some examples of questions that a comprehensive configuration status report may answer?
A Examples are:
• What is the status of an item? (Specification approved? Subsy
stem been tested? State of a project item – Developed, reviewed, tested, …)
• Has a change request been approved or rejected by the SCCB?
• Which version of an item implements an approved change request?
• What is different about a new version of a system?
• How many faults are detected each month and how many are fixed?
• What is the cause of the trouble report?

Q What is the configuration auditing function?
A The configuration audit verifies that the software product is built according to the requirements, standards, or contractual agreement. It verifies that all software products have been produced, correctly identified and described, and that all change requests have been resolved.

Q The term “FCA” is often seen when configuration audits are described. What does it stand for and what is its purpose?
A The term stands for Functional Configuration Audit. It is the formal examination of functional characteristics of a configuration item, or system to verify that the item has achieved the requirements specified in its functional and/or allocated configuration documentation.

Q The term “PCA” is often seen when configuration audits are described. What does it stand for and what is its purpose?
A The term stands for Physical Configuration Audit. It is the formal examination of the "as-built" configuration of a configuration item against its technical documentation to establish or verify the configuration item's product baseline.

Q What is the purpose of a Software Configuration Management Plan?
A The Software Configuration Management Plan documents how configuration management is to be applied to the project. It describes all aspects of configuration management including identifying SCM roles and responsibilities, SCM procedures and practices to be followed, libraries to be established, change authorities, backup and archiving.

Q What distinguishes one SCMP from another?
A Each plan must take into account the specific needs and characteristics of the project.

6 comments:

Maverik!! said...

Is is of great help...Thank you!

Baby said...

Thank you..nice questions

Gaurav said...

Your work is really worth appreciating. It did really help me a lot..Many Many Thanks

Unknown said...

It helped me a lot. Thanks !!!

Unknown said...

Hi

I read this post 2 times. It is very useful.

Pls try to keep posting.

Let me show other source that may be good for community.

Source: Process management interview questions

Best regards
Jonathan.

Anonymous said...

Thank you for your post, it was very useful.