Overview
One of FundApps' distinguishing factors is our rigorous approach to rule testing. Here you can get a "behind-the-scenes" look at how FundApps codes the rules engine, and the internal controls we employ to reduce the risk of mistakes.
When Do We Create or Change a Rule?
At FundApps, we rely on aosphere and its interpretation of the regulation as our trusted legal information provider. A new rule may be created when a new regulation is introduced which affects a holder’s compliance obligations (e.g. EU SSR, Transparency Directive). Rules may also be updated either when there is an update to aosphere memos or when we improve our legal interpretation. In some circumstances, we may introduce new properties or change existing ones if required by regulation in order to ensure rule accuracy.
We commonly engage in discussions with aosphere and our clients about regulatory matters. You can read more about that here.
How Do We Code Our Rules?
FundApps has a dedicated compliance team that maintains our entire library of rules and creates new ones. Before any new rule versions are pushed into the cloud and deployed across client environments, we have a firmly established procedure that all new code must pass through.
Legal memo analysis: Once the legal memo is received from aosphere, our Regulatory team will interpret the changes and outline how they apply to our rules.
Interpretation review: The interpretation of the legal memo is reviewed by a second person to ensure accuracy.
New rule version: The first "draft" of the rule is coded by an assigned member of the team
Testing: We test this code against individualised, automated test cases involving up to 100 real business scenarios. This is known as Behaviour-Driven Development. For example, we test for particular asset classes, characteristics, and other nuances the rule needs to pick up.
Code improvement: Test failures are reviewed and used to improve the current draft of the code, upon which more tests are run.
4-eye review: After passing those stages, the code is assigned to a second person (reviewer), who is tasked with checking the regulatory justification for the rule and proving from testing that the rule is coded in accordance with interpretation.
Deploy! If the rule coding passes review, then it is ready to be deployed into the live version of FundApps, which will affect all client environments. More on this below.
Behaviour-Driven Development
Essentially, this is an automated, scenario-based testing method where the initial assignee specifies a set of testing criteria in a 'Given, When, Then’ model. This has a number of benefits:
Each rule is tested against a set of strict criteria, determined completely from an individual and specific use case.
Simple syntax – easy to understand and, importantly, easy to see exactly what is being tested and, perhaps more importantly, exactly what is not.
Expressive test names are useful when tests fail.
Simple sentence test cases make the tests focused
Deploying a new rule
When deploying any new rules or properties, a FundApps notification is sent out to inform clients if any special action is required of them, including any new data requirements.
Whether it's a completely new rule, such as a new jurisdiction, or a new version of an existing rule, it will appear on your task list and need to be approved by you before it takes effect in your environment. When you review the new rule version, FundApps will highlight the changes for comparison.