Dealing with Non-Functional Requirements in Scrum
Non-functional requirements (NFRs) are critical to the success of a product as they define the system’s quality attributes, such as performance, security, and usability. In Scrum, these requirements must be addressed consistently to ensure each Increment is potentially shippable.
Exam Question
How should a Scrum Team deal with non-functional requirements? (choose the best answer)
- A. Ensure every Increment meets them.
- B. Assign them to the lead developers on the team.
- C. Manage them during the Integration Sprint proceeding the Release Sprint.
- D. Make sure the release department understands these requirements, but it is not the Scrum Team’s responsibility.
Correct Answer
A. Ensure every Increment meets them.
Explanation
Why A is Correct
A. Ensure every Increment meets them: In Scrum, each Increment must be potentially shippable, which means it must meet both functional and non-functional requirements. Non-functional requirements should be considered as part of the Definition of Done. This ensures that every Increment delivered by the Scrum Team adheres to the required quality standards. By ensuring that every Increment meets non-functional requirements, the Scrum Team maintains a consistent level of quality and avoids technical debt.
Why B, C, and D are Incorrect
B. Assign them to the lead developers on the team: Non-functional requirements are the responsibility of the entire Scrum Team, not just the lead developers. This approach goes against the collaborative nature of Scrum.
C. Manage them during the Integration Sprint proceeding the Release Sprint: Scrum does not advocate for separate integration or hardening Sprints. Integration and adherence to non-functional requirements should be continuous throughout each Sprint.
D. Make sure the release department understands these requirements, but it is not the Scrum Team’s responsibility: The Scrum Team is responsible for delivering a potentially shippable Increment, which includes meeting non-functional requirements. Delegating this responsibility to another department is not in line with Scrum principles.
Key Points
- Definition of Done: Non-functional requirements should be part of the Definition of Done, ensuring each Increment meets the required quality standards.
- Consistent Quality: Ensuring every Increment meets non-functional requirements maintains a consistent level of quality and avoids technical debt.
- Team Responsibility: Addressing non-functional requirements is a shared responsibility of the entire Scrum Team.
Responsibilities in Scrum
- Product Owner: Ensures the Product Backlog is ordered and refined to maximize value and align with the team’s capacity. Collaborates with Developers to ensure all requirements, including non-functional ones, are considered.
- Scrum Master: Facilitates communication and collaboration, removes impediments, and helps the team adhere to Scrum principles, including addressing non-functional requirements.
- Developers: Collaborate to complete all tasks necessary to deliver a potentially shippable Increment, ensuring all work, including non-functional requirements, meets the Definition of Done.
Relevance to the PSM I Exam
Understanding how to deal with non-functional requirements is crucial for the PSM I exam. This knowledge ensures that you recognize the importance of including these requirements in the Definition of Done and maintaining consistent quality in each Increment.
Conclusion
In Scrum, non-functional requirements are essential to the overall quality of the product and must be met in every Increment. By including these requirements in the Definition of Done, the Scrum Team ensures that each Increment is potentially shippable and adheres to the necessary quality standards. This approach maintains a consistent level of quality and avoids technical debt, aligning with Scrum principles and practices.
For comprehensive preparation and practice exams, check out PSM I Exam Prep to enhance your understanding and application of Scrum principles.