Create loosely coupled DRLs
The same principles that apply to a good system design apply to the resources in a KIE Base and even to the KIE Bases themselves: create tightly-integrated, loosely-coupled assets.
Regarding the Drools Rule Language (DRL) resources (and any other resource that will eventually be converted into DRL, such as Decision Tables, Rule Templates, DSL, and so on), it is always a good idea to keep them separated by some criteria. The criteria could be the input of the rules (that is, all the rules about Customers), the topic of the rules (that is, risk evaluation rules, customer scoring rules, and so on), or any other criteria that makes sense in our current implementation.
If the rules belong to independent modules of our system or even if these modules are not tightly related, it is also considered a good practice to create separate knowledge bases for them. Having separated knowledge bases not only makes our modules easier to test, but it will also render our system more...