Jon Udell is blogging the Infoworld CTO forum. He has a very detailed post on Adam Bosworth's (CTO, BEA Systems) talk. There's a lot of interesting insights there, but something that Adam said relative to integration challenges caught my eye:
- How many databases under your control were started as the data foundation to a single application.
- How many of those ever get called on by some other application.
I'd bet the answer to these questions is "all" and "a few" in that order. This isn't surprising---most IT is done incrementally, reactively, in response to the problems of the day. Someone starts an Access database to keep track of a few things at work and in a few years the database is mission critical, living on direct attached disks, under someone's desk.
As an example, in the State of Utah an individual can exist in over 225 separate databases and they have no way to normalize this data. It sounds easy but its not. Even getting the various agencies to sit down and talk about a single database for information on individuals is difficult because it solves no immediate problem and everyone has their own agenda. There are even databases that allow an individual to be associated with more than one SSN. The long term benefits are huge, but so is the short term pain.
Much of what is interesting in IT today is an effort to solve at least part of this problem. CRM is, at its heart, about creating a single, logical data store of all the data about an organizations customers and its interactions with them. ERP has the same goals for human resource and financial data. Large organizations, including the federal government, are working on enterprise architectures. An important, and as of yet still unrealized, part of the federal enterprise architecture initiative is a data reference model.
Thinking of data proactively and attempting to build data models independent of applications is difficult not just technically, but politically as well. I think we can make some progress toward independent data by adhering to some fairly simple prinicipals about making data more usable outside an application. That doesn't solve some of the thorniest problems however. Its time to break up the one-to-one relationships between applications and data. But the only way this will happen is if CIOs make it an issue, take a stand, and play a leadership role. CIOs by nature should have a longer term vision than the operational folks and this is a perfect example of where that principal ought to have an impact.