Reflections on CRC cards and OO design

We recently had the opportunity to introduce object-oriented design to a number of teams, and used CRC cards as one of the key techniques. The team members had varied backgrounds, and we had the opportunity to observe many teams tackle the same design exercises. This allowed us the opportunity to observe the effectiveness of the CRC cards, and reflect on the strengths and weaknesses. This paper documents our observations and reflections, and presents our advice on the strengths of the technique, and strategies we found useful for addressing the weaknesses.