Table of Contents
ToggleA. It is represented in prioritized backlog items Architect define to build the Architecture Runway
B. It changes the system’s functionality but leaves the internal structure intact
C. It is work that teams should defer until the Innovation and Planning (IP) Iteration
D. It should be a natural part of software development
Correct Answer is
D. It should be a natural part of software development
Explanation
The true statement about refactoring code is that it should be a natural part of software development.
Refactoring is the process of restructuring existing computer code without changing its external behavior, to improve nonfunctional attributes of the software. Here’s why this statement is correct and the others are not:
- It is represented in prioritized backlog items Architect define to build the Architecture Runway: While architects may prioritize certain technical tasks to build or enhance the Architecture Runway, refactoring is typically not exclusively defined or driven by architects nor is it exclusively represented as prioritized backlog items for this purpose. The Architecture Runway supports new feature development and typically involves more than just refactoring.
- It changes the system’s functionality but leaves the internal structure intact: This statement is actually the opposite of what refactoring does. Refactoring is aimed at improving the internal structure of the code without changing its external functionality.
- It is work that teams should defer until the Innovation and Planning (IP) Iteration: Refactoring should not be deferred until the IP Iteration. While the IP Iteration can be used for larger refactoring efforts or technical debt reduction, regular refactoring should be an integral part of the daily development process, helping to maintain code quality and manage technical debt continuously.
- It should be a natural part of software development: This is correct. Refactoring is a key practice in Agile and software development at large, aimed at continuously improving the codebase for maintainability, scalability, and performance. It’s an ongoing activity that developers should engage in as they work, rather than a task to be scheduled separately.
Incorporating refactoring as a natural part of the development cycle ensures that the codebase remains clean, well-organized, and adaptable to future changes, which is essential for the sustainable development of quality software.
Other SAFe Scrum Master Question – Which two timestamps are required at minimum to measure lead time by using a Team Kanban board? (Choose two.)