Sometimes information systems professionals can get “caught up” in our own worlds. For example, project managers and their developers might focus on latest and greatest application development methodologies such as Extreme Programming (XP) or Agile Development. Likewise enterprise architects might be adopting some new or updated modeling conventions. While database administrators (DBA’s) are often engaged and engrossed in the latest database versions and their new features. Now also include the new versions of the software we use to build systems, hardware’s exponential growth, new programming languages and everything else in a state of flux in our worlds – it’s easy to see why we’re often so overwhelmed that we forget some very basic facts.
- The “business” is our customer. We build computerized systems to support the business. Information systems people and costs are by their very definition what the business, executives and MBA’s consider “overhead”. That means the business could theoretically run without these people and costs. It might be less efficient, but it could work. Thus we need to always remember that and maintain a deep sense of humility.
- The “data” is a business asset. The business people should define it, own it and be the stewards for it. We need to learn from them enough business to build systems to support their needs (i.e. the business requirements). Thus we need to learn the meta-data from them – which is the data about the data. Then we need to provide two key facilities for handling their data:
- Data storage containers, whether records in files or tables in databases, to house the business data or assets at rest. And when using databases, we may be able to add certain “quality checks” (e.g. constraints and relationships) to help keep that data pristine (e.g. effective). But databases are essentially just containers for the data at rest – and nothing more.
- Data processing mechanisms (i.e. application code when executing) to affect the business data – which equates to data or assets in motion. The data assets should remain true to the business requirements during any such movement. As with the database, the application might include mechanisms or facilities for keeping data pristine – such as edit checks and data value transformations. But applications are simply computerized mechanisms for data in motion – and nothing more.
So why am I up on a “soap box” preaching this information? Because I’m seeing more and more systems that fail to deliver or miss business expectations. In fact I’ve been an expert witness for the plaintiff in several cases for seven figure application development cost recoveries. I highly recommend reading Yourdon’s “Decline & Fall of the American Programmer for more information along these lines. It’s an older book, but the concepts generally remain the same – just substitute today’s hot terms for some of yesteryears’.
Information systems people are very intelligent, highly motivated and well compensated. We just need to maintain some humility and focus. If web hosting providers can market 99.9% uptime, the software we build should be at least 99.9% correct when handling the companies most valuable asset – the business data, whether in motion or at rest.