Polymorphism vs Circumstancing [LSA Data Excellence]
When should we use Circumstancing and when should we use the Polymorphism setup?
Circumstancing is absolutely a key differentiator of the Pega platform and an appropriate option to consider for the same use cases as Polymorphism.
Circumstancing isn't as Citizen Developer / App Studio friendly as implementing class-specializations of Data models, Validations and Views, as shown in the webinar. The decision is less obvious when the specializations are for rules that are still maintained in Dev Studio.
Remember that once you have chosen a direction on the properties used to Property-circumstance a rule, you can't alter this direction. Where your variations are "type based" I would lean towards Class Specialization / Polymorphism so that Circumstancing remains available for applying other variations (such as applicable date ranges).
The number of rules implemented between both approaches will be approximately the same. Consider the application needs and the skills of the technical delivery and BAU teams.
Discussion on this topic was sought from the LSA Data Excellence (Pega 8.4) webinar conducted in July 2020. The webinar and its full set of discussions that arose from it are available at LSA Data Excellence: Webinar, Questions & Answers.