Black Box Software

What is a “Closed System”?  It’s a system where stuff happens and you don’t know what it is, except that the stuff still happens.   It’s like a “black box”.    Stuff goes in.   Stuff comes out.    In between?   Who knows?   For those of us who are “auto challenged”, it’s like we know our car takes us from Point A to Point B, but we’re in serious trouble if we have to figure out how it does it, especially if we’re being chased by bad guys.

We’re currently involved in a project that includes replacing an old CRM software with SugarCRM, upgrading the client’s Sage MAS 90 to a newer version, and then integrating SugarCRM with MAS 90.    Straight forward enough.  The old CRM is integrated with MAS 90 in some way that is unknown to everyone on the client’s staff.     In addition, the software company that makes the old CRM is “unavailable” for assistance.   And, the old CRM Software support person doesn’t understand how the integration works.  He just knows that it does.

Accordingly, when we upgraded the client’s MAS90 to the newest version 4.4, we predictably started receiving obscure error messages when we tried to do the integration after the upgrade was complete.    When bringing the error messages to the attention of the software company and the software company’s support person, we were met with blank stares (metaphorically, anyway).   When we did the upgrade, we (the client and us) were all prepared that this might be an issue, but we felt like giving it a shot since the file structures of the MAS90 modules involved in the integration didn’t change between the old MAS 90 version and the new version.   We were cautious optimists 🙂  Alas, the error messages anyway….

The old CRM system and the integration especially is a “Black Box”.      At this point, we have some ideas about how to work around the “black box”, but the whole experience reinforces one of my basic tenets of software – don’t allow black box software to be installed in your company.   Make sure 1) source code is available for all of it, and 2) you have a variety of options for accessing the source code when necessary.    As an open source software package, SugarCRM fits this bill nicely, not to mention the variety of Sugar and PHP support and developers available in the world.  There’s always a choice.   In the Sage MAS 90 world, we’re a master developer (which means we have source code), and there are dozens of other master developers in the community as well.   There’s always an out.   There’s always an option.  It’s never a “black box”.

A black box is like a dead end.    There may be advantages to some black box systems, but make sure you’re fully educated on the pros and cons before you go down that road.    It’s no fun driving your car  into a dead end when you’re being chased by zombies.   And in the software world, it seems like the undead are always around the corner….