Once upon a time when computers were young, it was the delight of the young programmer to write code that handled everything from opening and closing of files, to the calling of other programs, to expressions for what should happen when X was present, as well as, of course, the code necessary to perform the function required. We all know now that this sort of approach leads to a lack of business governance and visibility, a lack of traceability, a maintenance nightmare and inconsistent implementation.
So, over time, the software industry has broken out of this monolithic program various pieces, so that the programs become easier to understand. The first piece to go was file handling, which evolved into database management software, then came integration - the calling of another program - with enterprise application integration. This was closely followed by stripping out of the program the sequencing of different modules through business process management software. Then, along with the need to produce a special type of code to handle artificial intelligence, the software industry saw a way to produce a new component that we must have - business rules management software (BRMS).