Handling Bugs Found in Previously Delivered Functionality
Encountering bugs in previously delivered functionality is a common scenario in software development. Knowing how to address these issues while maintaining the flow of the current work is crucial for maintaining product quality and team efficiency.
Exam Question
While changing software, you find a bug in a previously delivered piece of functionality. What should you do?
(choose the best answer)
A. Fix the bug.
B. Stub out the code that caused the bug so it no longer occurs.
C. Revise the tests so that the bug no longer appears on the bug report.
D. Fix the bug if it is critical or easily fixed. Otherwise, put the new bug into the Product Backlog to be prioritized and fixed in an upcoming Sprint.
Correct Answer
D. Fix the bug if it is critical or easily fixed. Otherwise, put the new bug into the Product Backlog to be prioritized and fixed in an upcoming Sprint.
Explanation
Correct Answer
D. Fix the bug if it is critical or easily fixed. Otherwise, put the new bug into the Product Backlog to be prioritized and fixed in an upcoming Sprint:
In Scrum, it’s important to maintain a balance between addressing urgent issues and continuing to deliver value through planned work. If the bug is critical or can be fixed quickly without disrupting the current Sprint’s work, it should be addressed immediately. However, if the bug is not critical or would require significant time to fix, it should be logged in the Product Backlog. This allows the Product Owner to prioritize the bug relative to other work, ensuring that the team maintains focus on the Sprint Goal while planning to address the issue in a future Sprint.
Why the Other Options Are Less Appropriate
A. Fix the bug:
Fixing every bug immediately might disrupt the current work and could prevent the team from achieving the Sprint Goal. Not all bugs require immediate attention, especially if they are not critical or urgent.
B. Stub out the code that caused the bug so it no longer occurs:
Stubbing out code to hide a bug is not a viable solution as it does not address the root cause of the issue. This approach could lead to more significant problems in the future by leaving the underlying issue unresolved.
C. Revise the tests so that the bug no longer appears on the bug report:
Revising tests to hide a bug is unethical and counterproductive. It does not fix the actual problem and could lead to a false sense of security, where the team believes the software is more stable than it actually is.
Relevance to the PSD Exam
Understanding how to prioritize and address bugs within the Scrum framework is essential for the PSD exam. This question highlights the importance of balancing immediate fixes with long-term planning to maintain both product quality and team focus.
Key Takeaways
- Critical bugs should be fixed immediately if they are easily addressed.
- Non-critical bugs should be logged in the Product Backlog for future prioritization.
- Maintaining the Sprint Goal is important, so not all bugs should be fixed immediately unless they pose a significant risk.
Conclusion
Managing bugs in previously delivered functionality requires a strategic approach that balances immediate fixes with ongoing development work. By prioritizing critical bugs and deferring non-critical ones to the Product Backlog, the Scrum Team can maintain focus while ensuring that issues are eventually addressed. For more information on preparing for the PSD exam, visit our Professional Scrum Developer PSDâ„¢ Exam Prep.