37. In order to maintain system stability, a company's software developers cannot merge updates into the code base without supervisor approval. Which of the following is the best description of this practice?
Answer: B
Change management
Change management refers to the structured approach utilized for managing changes to a system, ensuring that modifications are made in a controlled and systematic manner. In this case, requiring supervisor approval before merging updates into the code base exemplifies a fundamental aspect of change management.
A) Separation of duties
Separation of duties is a security principle aimed at preventing fraud and errors by dividing responsibilities among different individuals. While this practice may indirectly support change management, it does not specifically describe the process of requiring supervisor approval for software updates.
B) Change management
This option is correct as it directly addresses the practice of overseeing and controlling modifications to software systems. By requiring supervisor approval, the company is implementing a change management process that helps maintain stability and minimizes the risk of introducing errors or vulnerabilities into the code base.
C) Vulnerability remediation
Vulnerability remediation involves identifying and fixing security flaws within a system. Although change management can aid in vulnerability remediation by ensuring that updates are properly vetted, this term does not accurately describe the supervisory approval process for merging code changes.
D) Collusion prevention
Collusion prevention refers to measures taken to prevent individuals from working together to commit fraud or other unethical actions. While the approval process may reduce the risk of collusion, it primarily serves the purpose of managing changes to the software rather than specifically preventing collusion.
Conclusion
Change management is the most appropriate term for the practice of requiring supervisor approval before merging updates, as it directly relates to maintaining system integrity and stability. The other options, while relevant in different contexts, do not accurately capture the essence of this practice and its primary function in software development.