AZ-400 Question 65
Select 2You lead a development team working on a newly introduced microservice and a legacy monolith that still requires occasional patch releases. You want to adopt trunk-based development for both projects, but the monolith will need extra stability and the ability to issue hotfixes after release. Which two branch strategy practices should you implement to ensure quick feature development, frequent merges, and stable production releases?
- A
Use short-lived feature branches and merge them into the trunk as soon as their work is complete.
- B
Maintain a single trunk for both microservice and monolithic releases without separate release branches.
- C
Create a scoped release branch from the trunk when preparing for production and keep it only for patch or hotfix updates.
- D
Delay merging features back into the trunk until after all production patches have been deployed to avoid merge conflicts.
Show answer and explanation
Correct answers: A, C
Explanation
Trunk-based development emphasizes continuous integration with minimal branch lifetimes. For production stability, especially for legacy applications, a dedicated release branch is typically used to handle final changes and hotfixes. This lets development on the main trunk continue without disrupting production patches. Refer to official Azure DevOps documentation on branch strategies (https://docs.microsoft.com/azure/devops/repos/git/git-branching-guidance) for best practices on using trunk-based development alongside dedicated release branches.
- A. Correct.
Short-lived feature branches that merge quickly into the trunk align with trunk-based development best practices, ensuring continuous integration and reducing merge conflicts.
- B. Incorrect.
Maintaining a single trunk for every release without separate release branches for the monolithic application can complicate production support and hotfixes, as all changes live in one branch.
- C. Correct.
Having a release branch from the trunk allows you to stabilize a release while continuing to evolve the trunk. This approach simplifies urgent fixes or patches for production.
- D. Incorrect.
Delaying merges into the trunk is contrary to trunk-based development. It increases technical debt and slows down integration cycles, making it harder to keep code bases aligned.