CAD FREE CAD Collaborative Development Practices Questions and Answers 2 — Questions and Answers
Question 1: In a Certified Agile Developer context, what is the primary benefit of pair programming during complex feature development?
- Reduced need for code reviews
- Real-time knowledge transfer and defect prevention (Correct answer)
- Faster individual coding speed
- Elimination of technical debt
Correct answer: Real-time knowledge transfer and defect prevention
Pair programming enables real-time knowledge sharing between developers and catches defects as they are introduced, reducing downstream rework.
Question 2: Which practice best supports continuous integration in a collaborative agile development team?
- Merging feature branches once per sprint
- Committing and integrating code to the mainline multiple times per day (Correct answer)
- Designating one developer to handle all merges
- Waiting until all features are complete before integrating
Correct answer: Committing and integrating code to the mainline multiple times per day
Frequent integration to the mainline, ideally multiple times daily, is the core principle of continuous integration that reduces merge conflicts and integration risk.
Question 3: A development team notices that knowledge silos are forming around specific modules. Which collaborative practice most directly addresses this issue?
- Assigning permanent module owners for accountability
- Implementing collective code ownership with rotating assignments (Correct answer)
- Creating detailed documentation for each module
- Hiring additional specialists for each module
Correct answer: Implementing collective code ownership with rotating assignments
Collective code ownership with rotating assignments ensures multiple team members gain familiarity with all parts of the codebase, breaking down knowledge silos.
Question 4: What is the recommended approach when two developers disagree on a design decision during a mob programming session?
- The most senior developer decides immediately
- They escalate to the product owner for resolution
- They timebox a discussion, explore both options with quick prototypes, and let the group decide (Correct answer)
- They split into separate tasks and each implement their preferred approach
Correct answer: They timebox a discussion, explore both options with quick prototypes, and let the group decide
Timeboxing the discussion and using quick prototypes allows the team to make an evidence-based decision collaboratively without stalling progress.
Question 5: In agile collaborative development, what does the practice of 'swarming' specifically refer to?
- Multiple team members focusing on a single high-priority item to complete it faster (Correct answer)
- Dividing all backlog items equally among team members
- Running multiple sprints in parallel across sub-teams
- Assigning the hardest tasks to the most experienced developers
Correct answer: Multiple team members focusing on a single high-priority item to complete it faster
Swarming means the entire team or a subset converges on a single work item to accelerate its completion, particularly useful for removing blockers.
Question 6: Which metric best indicates healthy collaborative development practices within an agile team?
- Individual lines of code written per developer per day
- Low bus factor across all components
- High percentage of code commits touching shared modules by different authors (Correct answer)
- Number of pull requests opened per sprint
Correct answer: High percentage of code commits touching shared modules by different authors
A high percentage of commits by different authors across shared modules indicates genuine collective ownership and active cross-team collaboration.
In a Certified Agile Developer context, what is the primary benefit of pair programming during complex feature development?