Responsibility-driven design specifies object behavior before object structure and other implementation considerations are determined. We have found that it minimizes the rework required for major design changes.
p. 74 - Object-oriented design: a responsibility-driven approach (1989)