Microsoft Software Developer Mock Interview

Practice 30 Microsoft Software Developer interview questions covering algorithms, system design, and coding assessments.

WRITTEN BY WILLIAM SWANSEN
QUESTION 16 OF 30

How would you define software configuration management?

In simple terms, software configuration management systematically manages, tracks, and controls changes that happen in the software development lifecycle. This includes changes in the code, documentation, and process. Change control, however unpopular, is a function that ensures all changes made to the software system are consistent with Microsoft development practices and internal methodologies. The ultimate goal is to see productivity improvement with a minimal amount of mistakes throughout the development lifecycle. Here, the interviewer is looking for how you prioritize configuration management duties and responsibilities and your experience controlling something even if you don't know what it is. This can be tricky, so let me explain. Configuration management is used if multiple team members are working on a software or revision running on multiple machines or needs constant updating. Another reason is if a company has multiple locations or divisions that need to distribute work concurrently.

"My definition of software configuration management is a set of activities that identify a number of items including source code modules, test cases, requirements specification documents, tools used, objects, files, and CSCI in SCM repositories, to name a few. There are also other important activities that I coincide with these actions as well. I look at a baseline, which lets me know the accepted version of a software configuration item. The second is change control, which is a method that ensures quality and consistency when changes are made. Third on this list is configuration audits, which verify that the software meets the minimum baseline needs, and the deliverable is being met."

Community answers are written by other candidates practicing this set. Reading how others frame the same question is one of the fastest ways to sharpen your own.

Anonymous Answer

My definition of software configuration management would consist of 3 things. First, the tools, code, files, and tests need to create the software. Second, the change process needed to ensure the quality and consistency of changes to the software. Third, auditability of the software to be able to see what was changed, when, and by whom.

Marcie's Feedback

Nice! It sounds like you're very knowledgeable about software configuration management, which the interviewer will appreciate. Consider beginning your response with a more generic overview of SCM along the lines of 'SCM is the process of tracking and controlling changes in software." Also, do you have personal experience in this area that you can discuss? If so, don't hesitate to mention this as well. Good job!

Create a free account to add your own answer →
William Swansen
30 QUESTIONS & ANSWERS · MICROSOFT
See membership