When a team uses “simple design,” developers usually handle local design decisions on the spot but are on the alert for design choices that may have long-term consequences.
When they have to make a quick choice, two or more developers meet for a quick design session, possibly using design aids such as CRC cards and it’s important they follow some guidelines for an effective design session. For instance, they should consider a couple of alternatives so that the final choice is based on simplicity or conceptual integrity;
casting each alternative on the basis of a specific scenario, for instance, figuring out how the acceptance test associated with a given user story would react to each possible design.
The good thing about this is that quick design sessions address the need for more strategic decisions, while refactoring takes care of local design issues.