CRC cards are brainstorming tools used for conceptual modeling and detailed design. Using CRC cards is an activity that combines aspects of role-playing games and object-oriented design.
CRC stands for Class, Responsibilities, Collaborators:
Class refers to a collection of similar objects or (more commonly in product design) people
Responsibilities are something a class knows or an action they perform
Collaborators is another class that the original class will need to work with to achieve their desired goals.
Examples of CRC cards and the CRC framework in product design could be:
Class = Fleet managers of a delivery company
Responsibilities = Manage the fuel expenses of multiple fleet drivers
Collaborators = Fleet drivers
The framework was originally proposed by Ward Cunningham and Kent Beck as a teaching tool. As time went on, the idea was picked up by design experts and XP advocates. It was popularized thanks to Rebecca Wirfs-Brock and Alan McKean’s 2002 book on responsibility-driven design, ‘Object Design: Roles, Responsibilities and Collaborators’.
The value of CRC cards was quickly realized as it transitioned from a teaching tool to a commonly used framework in product design. This is because it allows people to move away from a procedural mode of thought and appreciate object technology instead.
Each CRC card contains information like the description of class, its attributes, and responsibility. By using CRC cards, the entire team can contribute towards the design in a truly collaborative manner. This is based on the idea that the more people involved in a brainstorming session, the more great ideas you will get.
Using CRC cards can benefit ideation, as they are portable, tangible objects that can be easily examined by all team members in a group meeting or elsewhere. Teams are unable to log every single idea onto a card due to its limited size, which triggers meaningful discussions about which ideas to move forward with and which have little value.
The individual CRC cards are used to represent objects, with the class written at the top of the card, responsibilities written on the left side and collaborative classes listened on the right.
Cards can be made using physical materials such as actual cards and a pen, or they can be created digitally with any program that can make tables.
To create your CRC cards, simply make three areas on your card. A thin strip at the top to write in the class name, and two larger areas for responsibilities (in the left column) and collaborators (in the right column).