If you must couple, couple loosely

Alastair Aitken 25 February 2013 0

An up-and-coming customer relationship management (CRM) company wanted to put their system into our organisation; this was to represent quite a coup for them and would show the rest of the industry that they had arrived as a serious player.

The application was installed across the organisation; it wasn’t great but nor was it terrible. Problems appeared when it came to integrating the CRM into the workflow. The initial capture of a new customer from the web was to be fed into the CRM – this seemingly routine requirement appeared to have eluded implementation by the CRM developers. A poorly documented, poorly developed black-box interface component was supplied a few weeks before our system’s live date. Using the interface component supplied by the CRM developers brought down the CRM’s application server. We put in a support call and the incident was assigned a level “five”. The temporary resolution that came back? Don’t use that component until further notice.

Weeks passed and various updates and patches were applied to both the application server and the interface component. None were successful. The support incident had been raised, we were told, to a level “four”.

In the mean time, sensing that all was not right with the CRM and its integration, we made sure that our systems were decoupled from the CRM to as great an extent as possible. This allowed us to test our systems and prepare for backing out the CRM implementation and sourcing a different supplier.

The CRM vendor came back with what it claimed was a fully-functioning and stable solution. The solution was installed and proved to be every bit as flaky as the previous versions. The support incident was raised to level “three”.

With our deadline for live release fast approaching, we still didn’t have a working CRM system. The support incident was raised to a level “two”, which triggered the dispatch of a team of developers from the CRM company to work on the problem in situ.

With one week to live date there was still no sign of a working system. I suggested to the on-site developers that we raise the support incident to a level “one”. At this suggestion a look of panic manifested itself on the developers’ faces; “we can’t do that!” Apparently, an incident changed to level “one” would mean that the CEO of the company would be informed and all hell would break loose. We walked these developers through our system. We pointed out that during the time it had taken them to not resolve the problem, we had reconfigured our system to be able to switch in any old CRM system. The implications were understood: the incident level was raised to level “one” and pretty much all of the CRM company’s developers were assigned to the problem and it was resolved within days.

The moral? Always decouple systems where possible. And the minor moral: don’t implement a support incident level system where the customer can guess that they’re not being given top priority.


Alastair Aitken (124 Posts)

As a contract developer and manager I’ve worked in a wide range of enterprises in a variety of countries where I’ve encountered everything from great work, awful work, bizarre work, all the way down to quasi-legal work. If you think that you recognise your own organisation within my articles then you’re undoubtedly wrong, where you work isn’t that unique.

Leave A Response »