There are few things out there in IT more delusional than
the Single Canonical Form, the idea that IT can define a super schema, a schema
so complete, so pure that all will bow down before it. Sheer idolatry. Whether it is for integration or for Data
Warehousing the reality is that a Single schema is never going to be
‘canonical’, different people have different perspective and its this very
contention between business areas that actually drives the business forwards. Sales obeys the rules from Finance in certain
areas and in others is in open rebellion as the KPIs for Sales compete against
the need for regulation in Finance. To
forecast correctly means rigor and repeatability, but anyone who phones up
Sales with an open checkbook is going to find their order fulfilled despite the
claims of a sales process.
At the heart of a Single Canonical Form is a simple premise
‘as long as everyone can agree’ it’s
the sort of premise that is wonderfully naïve in its inception. The reality is
sadly that such a simplistic view ignores local perceptions and attempts to
force a straight-jacket upon the business by providing a single, almost
Stalinistic, view upon them. By starting
with that beguiling premise IT sets out on a journey that can only end on
failure. The Sales, Finance and
Operations teams all have local KPIs, different division and regions have
different strategies and all may have a different view on how they sell and
whom they sell to. This does not mean
the business is dysfunctional or wrong, it simply means that the business is
complex and not constrained within a single view of what should be done.
The Single Canonical Form aims to achieve the unobtainable
and by doing so creates its own downfall.
Because it doesn’t meet the objectives of everybody then individuals are
forced to create their own local solutions as the agility of the single
canonical form is relatively, or indeed astronomically, low. The goal of a single canonical form is to create
a single view on one of the most variable things in a business: the view on
information. One part of the business
may require only 10 pieces of information about a customer, another 200,
neither are right or wrong it is simply their own local information, they
critical element is that an individual customer be recognized across the two,
not that 210 attributes be agreed. The
same goes for invoices, orders, contacts and everything else: agree when it
matters, don’t bother when it doesn’t.
The Single Canonical Form is a straight-jacket on the
enterprise, it’s a dumb idea based on an unachievable idea. Its time for IT to grown up and work
differently.