Responsibility Driven Design (RDD)


Topics:   Definition  Object Modeling  Incorporation into OPF

Definition

Developed by Rebecca Wirfs-Brock, et al., Responsibility Driven Design (RDD) is a software development method that, like XP, has its origins in the Smalltalk community. Compared to data driven and use case driven design methods, RDD promotes the production of pure object-oriented designs that:

Object Modeling

Where RDD fits into object modeling (in rough order of occurance, assuming iteration):

  1. Name the role (class/interface) on diagram during whiteboarding
  2. Define the role in Project Glossary
  3. Stereotype the role in class comment (RDD)
  4. Capture the responsibilties on CRC card during whiteboarding, in class comment during coding (RDD)
  5. Capture the public interface during coding
  6. Specify the public interface with assertions and exceptions during coding (DBC)
  7. Develop the unit tests during coding (XP)
  8. Develop the implementation during coding
  9. Run the unit tests

Incorporation into OPF

The following documents where RDD fits into the OPEN Process Framework: