In a past post, I talked about a different approach to Association Management Software, in fact, starting a company where the software provided simply an interface to other vendor solutions. Anymore, I think this approach is reasonably valid given the sophistication of the various niche players for such things as financial systems, meeting registration systems, publication systems, political action systems.
In another post, I talked about things like a “generic product” to get around the complexity of the typical association purchase where there is a combination of a membership, book, and meeting registration sold as a single product. Ultimately you need something that will recognize what the “generic product” is and then do something with that knowledge, i.e. send a packing slip to the order entry system, send badges and information to the meeting registrant, and notify the membership chairman that a new member needs to be contacted with a welcome package.
What could bring all of this together is a good rules engine. There are a number of commercial rules engines out there – inRule is one that comes to mind for .NET developers but there are many others too.
For those not familiar with rules engines, the idea is to isolate the rules and workflow from the interface and from the basic application to encourage reuse of the rules and allow end users to define the rules and workflows themselves. A rule might look for a specific condition either automatically or by specific request and then raise and “event” or send the application a message simply saying “yes” or “no”. There can be many of these rules. “Does the order contain more than 10 things?” “Is the customer a member?”
Then, there is a workflow layer where, based on the event raised by the rule, the system can actually do something, i.e. if the customer is a member and also purchases more than 10 things, give that customer a 10% discount. Another example might be to send the customer a message saying they can’t buy anything unless they pay their outstanding balance.
Anyway, it seems to me that if you combine a rules engine with the concept of generic products and customers (members) along with all of the best-of-breed vendors, you could create an extremely flexible and scalable solution for association management.
What do you think?