CRC Cards

The CRC - class-responsibility-collaboration - card process is often an interactive exploration of the relationships between interactors in a software system. This is predominantly a brainstorming tool, although keeping the cards and using them as a model that is maintained as the software evolves is both valid and practiced by some teams.

CRC cards are usually physical cards that are intentionally small and easy to change or replace, and are used to tease out an understanding of what parts should make up a software system, and how those parts will interact. Keeping the cards small is used as a way to encourage keeping the design simple. Using physical cards is recommended because many people can create, modify and move cards at once. The intention is to minimise the possible barriers to the creative process.

The process of using CRC cards is attributed to Ward Cunningham and Kent Beck.