Table of Contents
ToggleA. Smaller batch sizes
B. Specific customer functionality
C. Potentially deployable code
D. New builds on the test environment
The Correct Answer is
C. Potentially Deployable Code
Explanation
The purpose of Continuous Integration (CI) is to deliver potentially deployable code.
Continuous Integration is a software development practice where members of a team integrate their work frequently, usually, each person integrates at least daily — leading to multiple integrations per day. Each integration is automatically verified by building the project and running automated tests against the build. This approach aims to detect integration errors as quickly as possible, which helps in maintaining a high quality of the codebase, reducing the time taken to validate and release new software updates, and ensuring that the code is always in a state that can be deployed to production even if the decision to deploy is not taken immediately.
Here’s a brief overview of why the other options, while related to the CI process, do not fully capture its primary purpose:
- Smaller batch sizes: While CI encourages smaller, more frequent updates to the codebase (which could be seen as promoting smaller batch sizes), the primary goal is not the batch size itself but the ability to integrate changes frequently and ensure the codebase remains deployable.
- Specific customer functionality: Delivering specific customer functionality is a goal of the broader development process, which CI supports by ensuring that new changes can be integrated and tested quickly. However, CI itself is more focused on the technical process of integrating and validating changes rather than the content of those changes.
- New builds on the test environment: While CI often involves automatically creating new builds and may involve deploying those builds to a test environment for automated testing, the ultimate purpose goes beyond just testing. CI aims to keep the code in a state where it can potentially be deployed to production at any time, enhancing the agility and responsiveness of the development team.
In summary, the core purpose of Continuous Integration is to ensure that code changes are integrated regularly and verified by automated builds and tests to keep the codebase in a constantly deployable state.
Other SAFe Scrum Master Question – What are three opportunities for creating collaboration on a team?