G.3.  The Session

Before starting a session a part of the problem needs to be selected for the session to focus on. Essentially, this means picking the set of classes that are to be used.

Pick the scenarios that are to be walked through that use the classes picked above. Start with scenarios that are part of the systems normal operation first, and then exceptional scenarios, like error recover, later.

Assign each class to a member of the group. Each person should be responsible for at least one class. They are the owner of that class for the session. Each person records the name of their class on a card. One class per card.

Walk-throughs are the heart of the CRC card session. To walk through a scenario address each action in it one at a time. First decide which class is responsible for this function. The owner of the class then picks up his card and holds it up in the air. When a card is up in the air it is an object and can do things. The owner announces that he needs to fulfill his responsibility. The responsibility is refined into smaller tasks if possible. These smaller tasks can be fulfilled by the object is appropriate or they can be fulfilled by interacting with other objects (collaborators). If no other appropriate class exists, you may need to make one and assign it to someone. This is the fundamental procedure of the scenario execution.