CAD Collaborative Development Practices 2 — Questions and Answers
Question 1: In a mob programming session, what is the primary role of the 'driver'?
- Types the code as directed by the navigator (Correct answer)
- Makes all architectural decisions for the team
- Reviews pull requests from other team members
- Facilitates the daily standup meeting
Correct answer: Types the code as directed by the navigator
The driver types the code but does not decide what to write — that direction comes from the navigator.
Question 2: Which practice best supports collective code ownership in an Agile team?
- Assigning each module to a single developer who 'owns' it
- Allowing any team member to modify any part of the codebase (Correct answer)
- Requiring written approval from the original author before changes
- Locking files during active development to prevent conflicts
Correct answer: Allowing any team member to modify any part of the codebase
Collective code ownership means any developer can improve any part of the codebase without gatekeeping.
Question 3: A team is struggling with long-lived feature branches causing frequent merge conflicts. What Agile practice addresses this?
- Use semantic versioning on each branch
- Adopt trunk-based development with short-lived branches (Correct answer)
- Add a dedicated merge engineer to the team
- Increase sprint length to allow branches to stabilize
Correct answer: Adopt trunk-based development with short-lived branches
Trunk-based development keeps branches short-lived, reducing divergence and merge conflicts.
Question 4: What is the key benefit of 'Definition of Done' in collaborative Agile teams?
- It replaces the need for code reviews
- It ensures shared understanding of when work is truly complete (Correct answer)
- It assigns blame when features are not finished on time
- It automatically closes tickets in the backlog
Correct answer: It ensures shared understanding of when work is truly complete
A shared Definition of Done aligns the whole team on quality standards and completion criteria.
Question 5: During pair programming, the 'navigator' should primarily:
- Type the solution as fast as possible
- Review each line as it is typed and think about the bigger picture (Correct answer)
- Write unit tests while the driver codes the feature
- Manage stakeholder communication during the session
Correct answer: Review each line as it is typed and think about the bigger picture
The navigator reviews code in real time and keeps the broader design and approach in mind while the driver types.
Question 6: Which of the following is a red flag indicating poor collaborative development on an Agile team?
- Team members rotate pairing partners frequently
- Code reviews are completed within 24 hours
- Only one developer understands how the payment module works (Correct answer)
- The team holds brief daily standups
Correct answer: Only one developer understands how the payment module works
A single point of knowledge creates a bus-factor risk and violates collective ownership principles.
Question 7: What is the primary purpose of a team working agreement in Agile collaborative development?
- To replace the sprint backlog with a shared task list
- To establish norms and expectations for how the team will work together (Correct answer)
- To document individual performance metrics for reviews
- To serve as a contract between the team and the product owner
Correct answer: To establish norms and expectations for how the team will work together
A working agreement captures team norms — communication, code standards, meeting rules — that guide collaboration.
In a mob programming session, what is the primary role of the 'driver'?