If You Build BI, You Must Maintain BI

Custom-built BI applications need tune-ups. And if the rate at which new features are added to shrink-wrapped BI releases from major vendors is any indication, BI consumers, in particular, aren’t shy about asking for more. As a result, there’s a good chance custom-built BI apps will require more attention than other kinds of homegrown software.

The Rx, experts say, is periodic testing and refactoring, which can save organizations bucks over the long-haul. More to the point, some BI practitioners say, companies that build analytic or operational reporting solutions and don’t take into account the need for periodic refactoring are jeopardizing not just ROI, but also the profitability of their lines-of-business.

Consider the plight of Theodore Woo, a software engineer with a global IT services firm. Woo supports several Frankenapps for a prominent Fortune 100 customer, including a reporting app that’s collectively owned by two line-of-business customers, both of which have at various times requested feature or functionality changes. The upshot, he says, is that an application designed to let line-of-business customers run queries and report against an Oracle database now does a whole lot more—but at what cost?

“Originally, the report had raw data in it because the customers wanted to run their own analytics on it,” Woo says. “Once the raw data was outputted, whatever the customer wanted to do with it was on their own cycles. But one big request was for the application to start doing [server-side] analysis and performance reporting based on that [raw data],” Woo says. “They already had SQL statements going against that database, but then they had these additional processing requirements that would grab even more CPU cycles, and which would of course also impact the other interactive users.”

This is just one example, says Woo, of a recurring pattern in which IT has made concessions to line-of-business customers at the expense of operational integrity. “The requests that make the end user’s job easier tend to negatively impact the overall system performance, but the customer’s viewpoint is that this is an OK trade-off because labor [i.e., of end users] is the most expensive thing we have out there,” he says. “This might be true, but the [application] downtime is almost certainly impacting [the line-of-business’] profitability, and they still have to pay for the maintenance to keep this thing running.”

About the Author

Stephen Swoyer is a contributing editor for Enterprise Systems. He can be reached at [email protected].