Amarco case study: Business
intelligence project (BI)
A company that has developed proprietary business intelligence
tools needs to upgrade them.
These tools are used by internal and external customers that can produce
very comfortably market analysis and value added cross tables. The customers
use an intuitive graphical interface to produce the data requests and set up
the output report format. There is no requirement to master any SQL-like
queries or for specialized IT intervention to produce customized programs
and reports with tools like SAS, BO... The reports generated may also be
personalized and addressed automatically by email to target users.
The current problem is that these tools were developed by a contractor
that is no more able to maintain and further develop them.
Our customer envisaged first to use the existent source code to find
another contractor for these purposes. An audit mission for the source code
was commissioned.
The audit showed that there is no intermediate documentation, that the
source code was of low quality and had no useful comments. It was a typical
example of "spaghetti code", with millions of C / C+++ code lines. Add-ons
were continuously layered, with lots of redundancies. Any discussion about
the application leads inexorably to code chunks. High priced estimations
accompany any tentative to touch the code by outside companies.
Giving some perspective to the analysis, we see that this company has
lost track of the "knowledge objects" that made its business
application. This information is dissolved to code information only.
All higher architecture forms - in Amarco, we call them the "Archo"
(architectural) objects - were lost. .
Our intervention helped rediscover the real functional surface and
limits of the application. It showed graphically its external and internal
architecture in a way the company management was able to approve further
development directions. The first structural down level was clearly
identified. The services the application supports were associated with
priorities for the forthcoming application overhaul.
The result is a clear requirements document and a reasonable action plan
(target functions, time table) to get finally an extensible and maintainable
solution. At the end of the project the company gets back the control upon
its strategic product and insures the proper satisfaction for its own
customers.
|