Software Engineering Solutions for Business Challenges
They Always Become Stovepipes and Data Islands
What happened to the mainframe? In the good old days (not that many years ago) we had a centralized processing architecture implemented on a mainframe computer. Everything was in one place; everyone on the system could share data and resources. Life was good. Well, good if you overlooked the cost, the lack of flexibility, the low productivity of writing everything in Fortran or Cobol, and the inability to automate all functions of the business.
Then someone invented the microprocessor and the Internet. All of a sudden we could afford to put computers everywhere. We started building more powerful machines: typewriters became word processors; cash registers became point-of-sale terminals; drill presses, lathes, and mills became CNC centers; and we could no longer repair our own cars. Then came local area networks and the Internet and all our machines could talk to each other. We could, and did, automate just about everything. We have reaped a huge benefit from this in increased productivity. The problem has been stovepipes and data islands.
What is a stovepipe? In software and information technology circles the term usually refers to a purpose-built application that can only talk to itself and can not receive or share information with other applications. Data islands are a similar concept, where data is collected and stored by one application, department, or operational unit, and can not be shared with peers. They are the result of inexpensive computers and software being implemented at the organizational level, without concern for the requirements of the total enterprise. They have the unfortunate effect of forcing the same data being used by different organizations to be maintained separately, leading to poor data quality and increased cost.
Custom, purpose-built applications are no longer stovepipes. With today’s software architectures custom applications don’t have to become stovepipes or data islands. Software tools are available to allow inexpensive development of service oriented architectures, tiered software, and high-level services. The typical application is divided into presentation, business rules, data interfaces, and data storage. Auburn SeeWolf uses this design to allow applications to be developed using either a local data store, a departmental data store, or an enterprise data store. And if business needs change, the data can be integrated into another store and the application continues to operate by simply changing the data interfaces.
Custom applications may offer far more flexibility than off-the-shelf applications. In most cases, off-the-shelf application vendors have little or no incentive to allow data from their system to be shared within the enterprise. If anything, they want their customers to wait for the next release and pay more for the additional functionality that could be gained by sharing the data. Over the long run, this can force the off-the-shelf application to become a stovepipe, limiting customers access to existing data, slowing changes to new business requirements, and driving up costs.
Our next topic discusses how to live with changing technology.
Copyright © Auburn SeeWolf 2009-2015