Term of the Week: Business Intelligence
Business Intelligence (BI) is a catch phrase that was coined in the mid-1990s to describe taking data from its raw form and turning it into something usable that business decisions can be based on. It is an umbrella term that ties together other closely related data disciplines including data mining, statistical analysis, forecasting, and decision support. Developers should take an interest in BI as BI features are being built into new versions of developer tools and databases. For example both Microsoft (with MS Visual Studio 2005 and SQL Server 2005) and Oracle (with Oracle Database 10g and Oracle Developer Suite) tout BI as important components. And as BI begins to pop up as a job title, part of a job description, or in project specifications, you'll need to know just exactly what it refers to.
A BI platform is going to tie in to your corporate database platform. For the front end, there will be a user reporting and querying interface, typically a browser-based model that users will already understand the basic UI for. There are scores of BI products sold as add-ons for all of the major database platforms. One drawback is that these can be expensive to purchase, implement, and support. As mentioned above, there are also new BI features making their way into core development tools and RDBMS products. In the Microsoft example, with the VS 2005 and SQL Server 2005 products, a developer should be able to create a home-grown BI system using the VS 2005 environment which provides built-in hooks to the SQL Server 2005 Reporting Services BI components. The drawback of that model is that the developer needs to learn a new version of the tool and to work with new components, costly in terms of developer time and training.
A critical component of a good BI plan is that the end-user tool must be easy to use. BI should take the job of analysis from distant analysts and put it into the hands of as many decision makers in your organization as possible. A manager or sales rep shouldn't have to ask an analyst to run a report or create a new report with BI. Instead the manager or rep should have an easy to use tool they can master using skills they already have to run their own reports and create ad-hoc queries on their own. Compare this to OLAP for example which you wouldn't reasonably expect an end user to want to use.
For most BI applications other core requirements will be real-time analysis, visualization features, forecasting, and decision support. It will probably also need to tie in to your CRM application and your production systems as well (to analyze and predict customer behavior and to look at production costs and efficiency). If your company has a six-sigma program or similar quality management philosophy, expect a BI application to need to interact with that tool too. As you can see, there's very little that a BI plan might not encompass.
To work with BI development, you'll need to learn OLAP and DTS (Data Transformation Services). And you'll need to know MDX (multidimensional expressions - think of this as SQL for OLAP cubes) - all of this in addition to your development platform and database.
Although most BI tools are proprietary, there is a moved toward at least some standardization with the XMLA (XML for Analysis) specification. This BI spec was originally championed by Microsoft and Hyperion and now also has the support of SAS.
In the U.S., many pundits are citing the recent Sarbanes-Oxley legislation (affecting corporate financial reporting and accounting rules for publicly held companies) as a driver for BI adoption. These experts state that a good BI system will be needed to insure the timely and accurate analysis of data needed to be in compliance with Sarbanes-Oxley.
Jim Minatel is a freelance writer for Developer.com in addition to working with Wiley and WROX publishing.