Responsibility-Driven Design References

Over the last ten years many people have adopted Test-Driven Development, Refactoring and Continuous Integration but
often the problems with inflexible and overcomplicated software stem from more basic problems in object-oriented design. There seems to be very little interest in helping people improve these fundamentals.

This is sad because much is known about this and plenty can be done to help people fix the software. I’ve had quite a bit of success using RRC sessions (Roles, Responsibilities and Collaborators) technique. This comes from the Responsibility-Driven Design school of thinking and is something that the original XP team used.