211k views
2 votes
Refactoring changes are great because ____, but sometimes require _____, raising development costs.

User Whiskey
by
8.0k points

1 Answer

3 votes

Final answer:

Refactoring is a process used to improve software that can enhance efficiency and maintainability but may increase development costs due to the need for additional resources and time, as seen in spiral design processes that require iterative testing and evaluation.

Step-by-step explanation:

Refactoring changes are great because they improve the design and functionality of the software, making it more efficient, maintainable, and scalable. However, they sometimes require additional time and resources, which can result in increased development costs. In software development, it's common to start with an initial design that may include some poor decisions. As the software evolves, refactoring is the process of restructuring the existing code without changing its external behavior to improve the nonfunctional attributes of the software.

An example of this process is a spiral design process, where changes are made to the design, and then the improved design is evaluated. Each loop in the spiral can make the design better suited to the customer's needs but requires more time and resources, which can lead to overruns in both budget and schedule if not carefully managed.

Finally, as the design is refined through testing and evaluation, weaknesses may be addressed or new, more effective designs might be adopted. However, such improvements might require going back to earlier steps, adding more loops to the spiral, and thus potentially increasing development costs.

User Karatedog
by
7.9k points