Bi Project Implementation Life Cycle

I have posted the same article on my blog here. youThis will give an extremely slow performance as well
can also read my other articles.as from maintainance perspective also the time taken
Recently I went through the website of Qliktech andto load the fact table will be more and unpractical.
read where it says "And unlike traditional BI, QlikViewOnce we decide on our strategy for the development,
delivers immediate value with payback measured inwe start with developing the data model as per the
days or weeks rather than months, years, or not atdesigns created in the previous phase i.e Planning and
all.". It made me think for a while. what are theyDesigning.
referring to ? Do they mean Qlikview as a BI solutionThe data model is developed generally in layers. In
can be implemented in weeks? Are they talking onlyOracle OBIEE, there are three layers and Cognos
about small department level deployments or just theallows you to build as many layers as you wish and
development phase of the BI project life cycle or is itBO provides 2 layers(I am not very sure on this and
just a sales pitch? I am just wondering how much partwould request some comments on this).
a tool plays in a BI project Implementation life cycle andIn Qlikview, we can make it single layered or 2 layered
how does a tool effect the development phase.by renaming the column names in the script.
Whether you use Qlikview or some traditional BI likeFor all practical purposes, upto 3 layers is a good idea
OBIEE for that matter, about 70% of the project lifebut you may agree or disagree on that. Based on
cycle remains unaffected or untouched.yourrequirements of maintainance you can decide on
Then I thought about my recent Oracle BI Project. Ifthat.
we would have replaced OBIEE with Qlikview, will theOBIEE has 3 predefined layers namely Physical Layer,
whole project gets implemented in weeks instead ofBusiness and Modeling layer and Presentation layer.
months or years. I don't think so.Physical layer is where we simply make connections
Well, The topic is BI Project Implementation Life Cycleto the database and import the metadata for
and not Qlikview.database objects like tables, columns, views, primary
I have worked on some small Qlikview projectand foreign key relationships. Now we do not make
Implementations which generally span from 2-4 Monthsany changes related to changing the names of the
and also large OBIEE implementations ranging from 9columns which help the administrator and developers
months to close to 1 year.from maintainance perspective.
My latest assignment was a large Oracle BI (OBIEE)Based on the available physical layer objects we
Global Implementation Project.create our OLAP models in Business layer by defining
I would like to share my knowledge and learnings fromdimensions, facts and Hierarchies.
the current as well as previous projects. I will alsoIn the presentation layer, we categorize the objects
discuss how large deployments differ from smallerbased on subject areas from the objects available in
ones and also the different phases involved in a BIOLAP model in Business layer. We rename the
project.objects present in Presentation layer from end users
Big deployments generally includes ETL as well as BIperspective or business terminology.
and takes somewhere around 9 months to 2 Years toThis whole process really helps the developers to
implement the solution. But when we compare it withunderstand and visualize the complete model and
small deployments using tools like Qlikview, it has asaves lot of time in debugging or day to day
small life cycle ranging from somewhere around 3maintainance activities. This process oriented approach
months to 6 months because they generally do notis again an attempt to divide and rule and making our
involve a datawarehouse.life a bit simpler.
There are various reasons for not having aOnce you are done with your model, the next step is
datawarehouse liketo start developing your reports and bringing in the
1. Time and Cost: For smaller organisations the ITidentified resources for report development into the
budgets are generally small. Including Datawarehouse inteam.
a BI initiative increases the project cost significantly.The reports based on the subject area are divided
The organisations needs to Purchase additional licenseamong the team and with the help of report
for a new database. Even if they already have aspecifications available in Technical design document
database in place, it can not be used for variouscreated in the previous phase.The reports are
reasons and is not recommended as well. Thegenerally designed by report developers.
organisation also needs to purchase a license for aWhile the report designers are engaged, the data
ETL tool and required hardware. Other than themodel developers work developing the next subject
software and Hardware, the cost is involved in hiringarea. Initially the team size is less and as the work
resources for database and ETL.keeps on growing, more people are added in the team.
2. Small data size: As small organisations do not haveThe development also includes setting up the object
large or huge data sets (Even if they have multiplelevel as well as data level security , creating users and
applications) and hence generally neglect the relevancegroups and creating variables as per the technical
and importance of having a datawarehouse in place.design document.
Not only it complements BI by providing faster4. Testing
response times for BI end users but also it reduces theTesting is one of the most critical phase and also
development cycle of the BI by reducing the level ofsometimes most time consuming phase of a BI project
complexities of the logic. Using a datawarehouse helpsImplementation.
in having much simpler BI data models which requiresThere are 3 types of testing done on a project
less development time and maintainance.namely Unit Testing (UT), System Integration Testing
3. Less complex data models: Small organisations(SIT) and User Acceptance Testing (UAT).
generally have small customised business applicationsUnit Testing is generally done by the developers and
running which do not have very complex OLTP datathey test that the code or report they have developed
structures and hence it becomes relatively easy tois working as per the requirement or specifications.
design BI data models eliminating the need for aThis is performed in Development environment where
datawarehouse solution.Developers had developed thereport. Developers
4. Less number of Users: Organisations having smallerprepare a test case plan for themselves listing all the
number of BI users (Using the application at a givencases they would like to test. These cases could be
point of time) generally have this option of building theirtesting the font size, color, spell check, prompts, filters,
BI solution directly on top of their OLTP database.data values etc.
They can either allow BI users to directly query theSometimes developers may exchange the reports
OLTP database which in some way reduces thewith their team members to perform a peer unit
performance of the business application users alreadytesting and this is a good practice as it is little easier to
connected or they can use tools like Qlikview orfind out mistakes in other's report than your own.
Hyperion Essbase which employs this technique ofOnce Unit testing is complete, the code (data models
storing the data in their proprietery data file formatsand reports) are transferred to Test Environment.
and allow a disconnected type analysis. The later oneThis Testing Environment is generally similar to the
is a much better option as it provides a much fasterproduction environment but that is not the case
performance as against querying an OLTP databasealways. Having the test environment same as
as for some reason unknown to me these proprietaryproduction environment allows us to anticipate the
data files are highly optimized to be used by theirperformance and behavior of the developed solution in
respective applications and also this do not impact thea much better way.
performance of the OLTP application.Once the code is transferred to Test environment,
Now let's discuss a typical BI Project life cycle whichSystem Integration Testing is performed. SIT checks
comprises of following phases:how all the individually pieces works collectively and
1. Project Initiation and Analysis:are integrated well to produce the desired output. This
For any project to start a business need is a must. fortest is performed by the IT team members or by
example "replacing an old customized reportingidentified testers from the client side. However before
system with a new reporting and analysis systemthey perform the test a sampling based dry run is
which is more flexible, cost effective, fast and requiresrequired to be performed by the development team.
less maintainance" or "Need to consolidate data fromOnce the testing team start testing the application, they
disparate sources and a common standardizedput all the defects in a defect log sheet mentioning
platform for reporting and analysis" could be athedetails of the defect.
business need.This business need is evaluated at aAt this point of time, it is recommended to appoint
very high level as to how critical is the need and how itsome dedicated members from the development
well it falls in line with the strategic objectives of anteam to fix those identified defects and update the
Organization. Formally a Project manager is identifieddefect log sheet. While this activity is going on, other
and appointed who further investigate and performteam members are assigned next set of development
some first level of analysis.work and they keep working on developing next batch
It is then Project manager who creates a documentof reports. It may happen that the same team will fix
with details like Business case, initial risk assessment,the defects by allocating some portion of their time
scheduling and budgeting, stakeholders identification etcand rest of the time in developing next batch reports.
taking help from the available resources and then aBut this may bring some imbalance or turbulence in the
formal approval is taken.system as it will become very difficult to really work
2. Planning and Designing:on two things simultaneously. Bug fixing involves lot of
Requirements gathering is the most important andcoordination with ETL team as well as testers and
critical part of the whole project. A requirementsometimes consumes time more than what was
document is created for this purpose and all theanticipated which ultimately may impact the
requirements are documented in much details. Thedevelopment activities. Having a dedicated team for
requirements are finalized and then project scope isbux fixing activities would be very useful and effective.
created. To fulfill these requirements, various tools areOnce all bugs are identified and fixed, the Business
evaluated and whichever is the best fit is selected.users are asked to perform the User acceptance test.
Now the team resources are identified. All the logistics,The test cases are prepared by business users and
hardware and software requirements are identifiedthey check if all the requirements are fulfilled and they
and procured.really getting what they want. Here business users
Data models are designed and it is documented in acompare the result set with the result set from their
Technical design document which also specifies otherexisting system and verify the results.
technical details like features and functionalities of theOne of the biggest challenge in SIT or UAT is if any
design, security and authentication, best practices,data related inaccuracies are found, it becomes really
repository variables, layers, database connections,difficult to find the root cause. The developer needs to
connection pools etc etc..check which version is true. There may be some
Prototypes are designed to show the features andinternal logic or transformations or formulas applied in
functionalities as documented in the requirementthe existing application and this analysis consumes
document and is formally approved. Project kickoff.whole lot of time requiring lot of coordination with the
3. Development:team supporting the existing application or system.
Before starting the development of the data models5. Implementation
and reports, the project scope is divided into smallAfter the code is tested and verified completely, it is
more manageable modules or batches.transferred to the production environment and opened
It is a good practice to divide it on the basis offor the real end users. Before that general awareness
functional areas and subject areas.sessions and training sessions are held for the end
So let's suppose we decided to do it for functionalusers to use the new system. For some time the new
area Human Resources among other functional areassystem is put on a stabalization period (Generally
like Sales and Distribution, finance, Inventory andranges from 15 days to 2 or 3 months) where in case
Manufacturing etc under which we are planning toa bug occurs, it is fixed by the same development
create different subject areas liketeam.
Employee Compensation and Bonus, Learning andDuring this time the new system or application is made
Development, Employee movements and transfersto run parallely with the existing system or application
etc. You may have one data model for complete HRand once the stabilisation period is over, the old system
or seperate data models for each subject areas.is replaced partially or completely.
For smaller organizations with less complex OLTPOnce the stabilization period is over and the system
data structures, it is possible and feasible to have agets stabilised, the support team is provided with all the
single data model for complete Human Resources.project related knowledge and the development team
For large and complex OLTP structures, it is generallyis rolled off.
not possible as otherwise the size of the fact table willThe implementation of BI Project gets over.
be extremely large horizontally as well as vertically.