Business rule mining

Business rule mining is the process of extracting essential intellectual business logic in the form of business rules from packaged or legacy software applications, recasting them in natural or formal language, and storing them in a source rule repository for further analysis or forward engineering. The goal is to capture these legacy business rules in a way that the business can validate, control and change them over time.

Overview
Business rule mining supports a Business rules approach, which is defined as a formal way of managing and automating an organization's business rules so that the business behaves and evolves as its leaders intend.

It is also commonly conducted as part of an application modernization project evolving legacy software applications to service-oriented architecture (SOA) solutions, transitioning to packaged software, redeveloping new in-house applications, or to facilitate knowledge retention and communication between business and IT professionals in a maintenance environment.

Alternative approaches
Alternative approaches to rule mining are manual and automated.

A manual approach involves the hand-writing of rules on the basis of subject matter expert interviews and the inspection of source code, job flows, data structures and observed behavior.

Manually extracting rules is complicated by the difficulty of locating and understanding highly interdependent logic that has been interwoven into millions of lines of software code.

An automated approach utilizes repository-based software to locate logical connections inherent within applications and extract them into a predetermined business rules format.

With automation, an effective approach is to apply semantic structures to existing applications. By overlaying business contexts onto legacy applications, rules miners can focus effort on discovering rules from systems that are valuable to the business. Effort is redirected away from mining commoditized or irrelevant applications.

Further, best practices coupled with various tool-assisted techniques of capturing programs’ semantics speeds the transformation of technical rules to true business rules. Adding business semantics to the analysis process allows users to abstract technical concepts and descriptors that are normal in an application to a business level that is consumable by a rules analyst.

System integrators, software vendors, rules mining practitioners, and in-house development teams have developed technologies, proprietary methodologies and industry-specific templates for application modernization and business rule mining.