Thursday, April 16, 2009

Flexibility and Complexity in Business Intelligence

Where to star, where to start? Let's begin by defining what I mean by Flexibility and Complexity:

Flexibility - The ability to do what you need to do. In regards to BI or technology in general, it is the ability to build a custom application to meet your specific, customized needs.

Complexity - The measure of how difficult a particular task, system, technology, what have you, is. This term is also used many times as usability, which is not necessarily true. Something may be very usable to an engineer but not to a typical user.

Many times, too many to count, I have companies requesting a BI tool that "Offers great flexibility and powerful enough for developers to use but easy enough for end users to use as well". This is a very common misplaced expectation that people have. The reason is simple, there is an direct relationship between flexibility and complexity. Take a look at this graph and you will see what I mean.



Basically, the more flexibility that you require a technology, a tool, a software package to be, the more complex it becomes. Think about it this way...let's say you wanted to buy a car. You go to the show room and the only choice you have is one car and two colors, red or blue. That is a very simple decision, basically what color do you prefer? This option offers very little flexibility, however, it offers very little complexity in making a decision. Now let's take this a step further, the dealer offers you the following option, you can choose between a 2.1 ltr engine or a 3.4 ltr engine, you also can choose between a regular gas or hybrid. You also get to choose between 5 different stereo packages, an extended warranty, leather or cloth seats, 5 speaker or 8 speaker system, tow package, child safety features. All of these options increase the flexibility you have in owning a car that meets your specific needs (flexibility), however, now the decision you have is much more complex. You need to research the benefits of hybrid over gas, 5 speaker or 8, extended warranty or not. You see with these added options (flexibility) comes added complexity in you final decision making.

Technology is the same way, especially when it comes to Business Intelligence. When a user comes to me and asks me for a tool that is flexible enough to meet all the needs of a BI developer while making it very easy to use (not complex), it tells me that they do not have very much experience evaluating enterprise level software solutions. Enterprise software companies spend much time and expense in developing tools that meet the needs of specific user communities. So what I have done is taken the chart above and added the different user groups.




Going through my stats on my blog I notice I get a lot of hits from people who are looking at implementing BI and to those people I say, keep this chart in mind. Evaluate each individual tool for the intended audience and do not try to solve your problem with a "fits all sizes" approach because we all know that "one size fits all" does not mean "fits like a glove" but rather "minimum required to accomplish its basic task"