Table of Contents
ToggleA. Create all Features using behavior-driven development
B. Automate all unit-tests
C. Decouple deployment from release
D. Couple development cadence and deployment cadence
The Correct Answer is
C. Decoupling deployment from release
Explanation
Continuous Deployment is an advanced practice where every change that passes all stages of the production pipeline is released to customers automatically, without explicit approval. Decoupling deployment from release is crucial because it allows changes to be deployed to a production environment or ready-to-produce environment without making those changes visible or available to end-users immediately. This approach provides the flexibility to test new features in a production environment and release them to users at the most appropriate time. It supports rapid, reliable delivery of features, enabling organizations to respond quickly to market changes and customer feedback while maintaining control over the user experience.
Why the other options are not specifically requirements for Continuous Deployment
- Create all Features using behavior-driven development (BDD): While BDD can enhance communication between developers, testers, and business professionals and can contribute to higher quality software development, it is not a strict requirement for Continuous Deployment. BDD is more about how features are specified and developed rather than how they are deployed.
- Automate all unit-tests: Automating unit tests is a good practice and part of Continuous Integration, which is a prerequisite for Continuous Deployment. However, the automation of unit tests alone is not sufficient for achieving Continuous Deployment. A broader range of tests and deployment practices must be automated to ensure changes can be deployed to production automatically and reliably.
- Couple development cadence and deployment cadence: Actually, the goal in many Continuous Deployment environments is to decouple the development cadence from the deployment cadence, allowing for more flexibility. Changes can be deployed as soon as they are ready and verified, rather than waiting for a scheduled release date. This enables a more continuous flow of value to customers.
Decoupling deployment from release is a key practice that supports the Continuous Deployment goal of automating the delivery pipeline to the extent that new changes can be made live with minimal manual intervention.
Other SAFe Scrum Master Question – Which of the four SAFe Core Values is an enabler of trust?