The Case for Modeling

December 3rd, 2009

I got involved in a couple of threads lately discussing the merits of modeling in light of new technology. I did fill up some space on those threads, but will be merciful and put my semi-rant here.
As a James Martin Alumni, I got to see the benefits of modeling at its best. When used properly in a disciplined approach (such as information engineering, rapid application development, agile development, etc.) modeling leads to two things:
- Faster overall development time
- Increase quality / flexibility
OK, for the folks that about to say the extra work of modeling, how can that make it faster. Quite simply, modeling facilitates higher levels of understanding and communication within a development team and when that team communicates outside of its circle. The data model is still the best mode of communicating business data relationships.
As far as increasing quality, like any other engineering discipline, thinking before doing is a universal tenet. This does not mean modeling in of itself makes for higher quality, but it can be said that modeling gives a proven mechanism for controlling quality and can allow for more flexible expansion of an application.

How can we learn from history?
Back in the days of mainframes, organizations smartened up and stopped hacking code and embraced modeling and methodologies. This was starting to really take hold around 1990, but then all hell broke loose on the technology end and client server was upon us. For some reason, the leaders of the client server tool market (powerbuilder, visual basic, delphi, etc.) said modeling was only for mainframes and the technology made modeling redundant and/or obsolete (does this sound similar to some of the hype in DW now). Fast forward to 1999 and all that powerbuilder stuff was being rebuilt (with funding from Y2K).
The lesson, technology can help, but cannot replace modeling.

It is true that we are going through tremendous changes in the DW/BI/MDM space which will undoubtedly have some impact on the way we use data models (logical and physical). But to assume that technology will make modeling obsolete is destine to repeat the sins of the past.