Jump to ratings and reviews
Rate this book

Using CRC Cards: An Informal Approach to Object-Oriented Development

Rate this book
Using CRC Cards is a comprehensive introduction to CRC (Class, Responsibility, Collaborator) cards. It includes a description of the cards and how they can be used in interactive sessions to develop an object-oriented model of an application. In this book, the author draws on her years of project experience to describe how CRC cards can contribute at all stages of the software lifecycle. It includes practical examples of how to utilize CRC cards in projects using either formal or informal development techniques. Using CRC Cards also provides a detailed look at how designs created with CRC cards can be mapped to an effective and efficient implementation in C++. Software analysts, designers and developers will use this book to guide their transition to the object-oriented paradigm, as well as provide a process for development of their object-oriented applications.

250 pages, Paperback

First published January 13, 1998

6 people want to read

About the author

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
1 (20%)
4 stars
1 (20%)
3 stars
2 (40%)
2 stars
1 (20%)
1 star
0 (0%)
Displaying 1 of 1 review
Profile Image for Zach Dennis.
25 reviews16 followers
September 5, 2024
This book offers valuable insights, despite software engineering moving past the 90s hype around object-oriented design. Although I’ve used CRC (Class Responsibility Collaboration) cards informally, I was curious to explore what 200+ pages on the subject might offer. While I didn’t follow the book verbatim, I found its principles still relevant. The tools and processes have evolved, but the core ideas—understanding problems, refining designs, and improving implementation—remain essential.

The simplicity of CRC cards works well for fostering discussions and workshops, whether using physical index cards or digital tools like Miro or LucidChart. The book frames conversations at various stages and provides activities that can be adapted for team use. Even something as basic as defining a CRC Card can spark valuable discussions:

A CRC Card is an index card that is annotated in a group setting to represent a class of objects, its behavior, and its interactions.


Using CRC Cards can facilitate low-effort, blameless discussions, helping teams connect the dots between system components. Asking simple questions like "What does this class represent?" or "Why does it exist?" can uncover insights, making it easier to identify adjustments.

A key takeaway is the use of scenarios to test designs early on. Wilkinson emphasizes:

[Scenarios] are the answers to questions that begin with 'what happens when... [These scenarios] correspond to what happens rather than how it happens.


I often find teams neglect to ask these crucial "what happens when" questions, leading to gaps in understanding. Wilkinson’s approach encourages using scenarios to challenge your design while it’s still easy to change.

While this book isn’t a silver bullet for software issues and may feel outdated with its references to C++, the insights are still valuable. It’s a quick read, and sections that feel irrelevant today are easily skimmed or skipped.

For team exercises, I recommend pairing this with Gamestorming: A Playbook for Innovators, Rulebreakers, and Changemakers, which offers great tips for running workshops. For a quick overview of CRC Cards, check out this helpful guide on GeeksforGeeks.

Now, excuse while I go grab some index cards and an erasable pen... I've got some modeling to do.
Displaying 1 of 1 review

Can't find what you're looking for?

Get help and learn more about the design.