During the requirement gathering phase, we were taken through all the rules which governed the foreign exchange. Reserve Bank of India (RBI) had laid down these rules which needed to be strictly adhered to by any Foreign exchange company. We were also informed that these rules might change periodically depending on the notices offered by the Reserve Bank of India (RBI). Our very first challenge was integrating all the rules governing Foreign exchange in a way that the rules which are susceptible to change are editable. We also had to make sure that the rules were presented in a subtle and organized manner to the user.
Our team did a lot of research on how to manage the rules so that it will be easy for the developers and the clients to modify them later. Research suggested that rule engine was the apt way to organize these rules. However, we had the challenge of presenting these rules in the most pleasing way to the user, without the user realizing that he is being taken through so many rules. Our team then came up with the idea of integrating each of these rules with the wizard style architecture which the user will be taken through while performing the online transaction. Since the rules were distributed across the screens it became modular and easy to maintain. The rules which were susceptible to change were maintained as settings so that both the developers as well as the clients could modify these rules whenever needed.