CAD Agile Principles and Mindset Questions and Answers 1 — Questions and Answers
Question 1: An Agile team is in the middle of a sprint when the product owner identifies a critical new requirement based on urgent customer feedback. According to the principles of the Agile Manifesto, what is the most appropriate action for the team to take?
- Complete the current sprint as planned and address the new requirement in the next sprint planning session.
- Immediately stop the current sprint, re-plan with the new requirement, and start a new sprint.
- Welcome the changing requirement and work with the product owner to determine if it can be incorporated into the current or a future sprint without compromising the sprint goal. (Correct answer)
- Reject the requirement because the sprint backlog is locked and cannot be changed once the sprint begins.
Correct answer: Welcome the changing requirement and work with the product owner to determine if it can be incorporated into the current or a future sprint without compromising the sprint goal.
One of the 12 principles of the Agile Manifesto is to 'Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.' This principle emphasizes adaptability. The team should not rigidly reject change, but rather collaborate with the product owner to assess the new requirement's importance and decide on the best way to incorporate it, whether in the current sprint if feasible, or by prioritizing it for a future one.
Question 2: Which of the following is the PRIMARY measure of progress for an Agile development team?
- Comprehensive documentation
- The number of story points completed in an iteration
- Working software (Correct answer)
- Approval from the project management office
Correct answer: Working software
The seventh principle of the Agile Manifesto states, 'Working software is the primary measure of progress.' While other metrics like velocity (story points) can be useful for planning, the ultimate indicator of progress and value delivery in an Agile context is functional software that can be demonstrated to and used by the customer.
Question 3: A development team is consistently working long hours and weekends to meet their sprint commitments, leading to burnout and decreased morale. This practice violates which Agile principle?
- Customer satisfaction through early and continuous delivery.
- Simplicity—the art of maximizing the amount of work not done.
- Agile processes promote sustainable development. (Correct answer)
- Business people and developers must work together daily.
Correct answer: Agile processes promote sustainable development.
The eighth principle of the Agile Manifesto states, 'Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.' This means teams should work at a pace that is consistent and can be maintained long-term without causing burnout. Overworking is unsustainable and ultimately detrimental to quality and productivity.
Question 4: What does the Agile value 'Individuals and interactions over processes and tools' signify for a developer on a team?
- Processes and tools are unimportant and should be ignored in favor of ad-hoc communication.
- Effective communication and collaboration within the team are more critical to success than strictly adhering to a rigid process or relying solely on a specific tool. (Correct answer)
- The team should select their own tools and processes without any management oversight.
- Daily stand-up meetings are the only form of interaction required for an Agile team.
Correct answer: Effective communication and collaboration within the team are more critical to success than strictly adhering to a rigid process or relying solely on a specific tool.
This core value from the Agile Manifesto emphasizes that while processes and tools have their place, the success of a project relies more heavily on the quality of communication and collaboration among team members. It prioritizes people and their ability to work together to solve problems over a strict adherence to predefined procedures or the capabilities of a software tool.
Question 5: A manager new to Agile is concerned that the team is not producing enough detailed design documentation upfront before starting to code. An Agile mindset would suggest that...
- The team should create a comprehensive documentation suite for all features before implementation to satisfy the manager.
- The best architectures, requirements, and designs emerge from self-organizing teams as they work, rather than from a large upfront design phase. (Correct answer)
- Documentation is not an Agile practice and should be eliminated entirely.
- Only the senior developer is responsible for creating and maintaining documentation.
Correct answer: The best architectures, requirements, and designs emerge from self-organizing teams as they work, rather than from a large upfront design phase.
A key Agile principle is that 'The best architectures, requirements, and designs emerge from self-organizing teams.' This supports the idea of emergent design. The Agile value 'Working software over comprehensive documentation' also applies, prioritizing the creation of a functional product over extensive preliminary paperwork. While documentation isn't eliminated, it's created in a just-in-time, lightweight manner.
Question 6: In the context of an Agile mindset, what does the principle 'Simplicity—the art of maximizing the amount of work not done—is essential' mean for a developer?
- Developers should always choose the easiest and quickest coding solution, even if it is of low quality.
- The team should focus on delivering the simplest solution that meets the immediate requirements, avoiding over-engineering and building features that are not currently needed. (Correct answer)
- The project should have as few features as possible to be completed quickly.
- Developers should avoid complex tasks and delegate them to others.
Correct answer: The team should focus on delivering the simplest solution that meets the immediate requirements, avoiding over-engineering and building features that are not currently needed.
This principle is about focusing on the essential work required to deliver value now, rather than building complex, speculative features that might not be needed (a concept also known as YAGNI - 'You Ain't Gonna Need It'). It encourages developers to find the simplest, most direct path to solve a problem and meet the acceptance criteria, which enhances agility and reduces waste.
An Agile team is in the middle of a sprint when the product owner identifies a critical new requirement based on urgent customer feedback.
According to the principles of the Agile Manifesto, what is the most appropriate action for the team to take?