Finance:Agile Business Intelligence

From HandWiki

Agile Business Intelligence (BI) refers to the use of Agile software development for BI projects to reduce the time it takes for traditional BI to show value to the organization, and to help in quickly adapting to changing business needs. Agile BI enables the BI team and managers to make better business decisions, and to start doing this more quickly.

Agile BI

Agile Business Intelligence (BI) refers to the use of the agile software development methodology for BI projects[1] to reduce the time-to-value of traditional BI and helps in quickly adapting to changing business needs.[2] Agile BI enables the BI team and managers to make better business decisions. Agile methodology works on the iterative principle; this provides the new features of software to the end users sooner than the traditional waterfall process which delivers only the final product. With Agile the requirements and design phases overlap with development, thus reducing the development cycles for faster delivery. It promotes adaptive planning, evolutionary development and delivery, a time-boxed iterative approach, and encourages rapid and flexible response to change.[3] Agile BI encourages business users and IT professionals to think about their data differently and it characterized by low Total Cost of Change (TCC).[2] With agile BI, the focus is not on solving every BI problem at once but rather on delivering pieces of BI functionality in manageable chunks via shorter development cycles and documenting each cycle as it happens.[4] Many companies fail to deliver right information to the right business managers at the right time.[5]

Definition

Agile BI is a continual process and not a onetime implementation. Managers and leaders need accurate and quick information about the company and business intelligence provides the data they need. Agile BI enables rapid development using the agile methodology. Agile techniques are a great way to promote development of BI applications, such as dashboards, scorecards, reports and analytic applications.[6]

"Forrester Research defines agile BI as an approach that combines processes, methodologies, tools and technologies, while incorporating organizational structure, in order to help strategic, tactical and operational decision-makers be more flexible and more responsive to ever-changing business and regulatory requirements".[7] According to the research by the Aberdeen Group, organizations with the most highly agile BI implementations are more likely to have processes in place for ensuring that business needs are being met.[7] Success of Agile BI implementation also heavily depends on the end user participation and "frequent collaboration between IT and the business".[7]

Key Performance Criteria

Aberdeen's Maturity Class Framework[5] uses three key performance criteria to distinguish the Best-in-class in the industry:

  1. Availability of timely management information – IT should be able to provide the right and accurate information in timely manner to the business managers to make sound business decisions. “This performance metric captures the frequency with which business users receive their information they need in the timeframe they need it”[5].
  2. Average time required to add a column to an existing report – Sometimes new columns need to be added to an existing report to see the required information. "If that information cannot be obtained within the time required to support the decision at hand, the information has no material value. This metric measure the total elapsed time required to modify an existing report by adding a column"[5].
  3. Average time required to create a new dashboard – This metric considers the time required to access any new or updated information and it measures the total elapsed time required to create a new dashboard[5].

The Agile SDLC

Agile SDLC Iterative Process

Five Steps To Agile BI

Bruni[8] in her article 5 Steps To Agile BI outlines the five elements that promote an Agile BI enterprise environment.

  1. Agile Development Methodology – “need for an agile, iterative process that speeds the time to market of BI requests by shortening development cycles”.[8]
  2. Agile Project Management Methodology – continuous planning and execution. Planning is done at the beginning of each cycle, rather than one time at the beginning of the project as in traditional projects. In Agile project, scope can be changed any time during the development phase.
  3. Agile Infrastructure – the system should have virtualization and horizontal scaling capability. This gives flexibility to easily modify the infrastructure and could also maintain near-real-time BI more easily than the standard Extract, transform, load (ETL) model[8].
  4. Cloud & Agile BI – Many organizations are implementing cloud technology now as it is the cheaper alternative to store and transfer data. Companies who are in their initial stages of implementing Agile BI should consider the Cloud technology as cloud services can now support BI and ETL software to be provisioned in the cloud[8].
  5. IT Organization & Agile BI – To achieve agility and maximum effectiveness, the IT team should interact with the business, but also address the business problems and should have a strong and cohesive team[8].

Twelve Agile Principles

There are 12 Agile Principles (Manifesto) Agile Manifesto grouped as Process, People, and Other.

Process

1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.[9]

2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.[9]

3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.[9]

4. Working software is the primary measure of progress.[9]

People

5. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.[9]

6. Business people and developers must work together daily throughout the project[9].

7. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.[9]

Other

8. The most efficient and effective method of conveying information is face-to-face conversation.[9]

9. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior.[9]

10. Continuous attention to technical excellence and good design enhances agility.[9]

11. Simplicity-the art of maximizing the amount of work not done-is essential.[9]

12. The best architectures, requirements, and designs emerge from self-organizing teams.[9]

BI model and its characteristic goals

Kernochan, in his two-year study of organization's BI process came up with the below model and its characteristic goals:[10]

  1. Data entry — accuracy
  2. Data consolidation — consistency
  3. Data aggregation — scope
  4. Information targeting — fit
  5. Information delivery — timeliness
  6. Information analysis — analyzability

Common Issues

Kernochan's study found these common issues with the current BI processes:[10]

  • 20% of data has error in it (accuracy)
  • 50% of data is inconsistent (consistency)
  • It typically takes 7 days to get data to the end user (timeliness)
  • It isn't possible to do a cross-database query on 70% of company data (scope)
  • 65% of the time, executives don't receive the data they need (fit)
  • 60% of the time, users can't do immediate online analysis of data they receive (analyzability)
  • 75% of new key information sources that surface on the Web are not passed on to users within the year (agility)

The result concluded that the adding of agility to existing business intelligence will minimize problems. Organizations are slowly trying to move the entire organization processes to agile methodology and development. Agile BI will play a big part in company's success as it "emphasizes integration with agile development and innovation".[10]

Improving Business Intelligence Agility

There are couple of factors that influence the success of Business Intelligence Agility.

Data Entry

20% of data is inaccurate and about 50% is inconsistent and these numbers increases with new type of data. Processes need to be re-evaluated and corrected to minimize data entry errors.[10]

Data Consolidation

Often companies have multiple data stores and data is scattered across multiple data stores. "Agility theory emphasizes auto-discovery of each new data source, and automated upgrade of metadata repositories to automatically accommodate the new information".[10]

Data Aggregation

Is a process in which information from many data stores is pulled and displayed in a summary report. Online analytical processing (OLAP) is a simple type of data aggregation tools which is commonly used.

Information Delivery

One of the key principal of Agile BI is to deliver the right data at the right time to the right individual. Historical data should also be maintained for comparing the current performance with the past.[10]

Information Analysis

One of the largest benefits of Agile BI is in improving the decision-making of its users. Real Agile BI should focus on analysis tools that make an operational process or new product development better.[10] The Agile BI approach will save company money, time, and resources that would otherwise be needed to build a traditional data warehouse using the Waterfall methodology.

Agile BI Checklist

  • A team of developers and business representatives should be assembled to work together
  • Select either a business stakeholder or technical liaisons to represent the business
  • Identify and prioritize appropriate user stories or requirements to address during an initial project[1]
  • Assess various Agile BI delivery tools that can integrate with your existing data warehouse and BI environment[1]
  • Initiate iterative development process

Advantages of using Agile BI

Agile BI drives its users to self-serve BI. It offers organizations flexibility in terms of delivery, user adoption, and ROI.

Faster to Deliver

Using Agile methodology, the product is delivered in shorter development cycles with multiple iterations.[11] Each iteration is a working software and can be deployed to production.

Increased User Acceptance

In an Agile development environment, IT and business work together (often in the same room) refining the business needs in each iteration.[11] "This increases user adoption by focusing on the frequently changing needs of the non-technical business user, leading to high end-user engagement, and resulting in higher user adoption rates".[11]

Increased ROI

Organizations can achieve increased rate-of-return (ROI) due to shorter development cycles. This minimizes the IT resources and time while delivering working, relevant reports to end-users.[11]

Agile BI Best Practices

  1. A program charter should be created, which will set the stakeholder expectations on how Agile BI system will work.[12]
  2. Start with the business information needs to provide context for scope.[12]
  3. Iterations should be time-boxed.[12]
  4. Stress on data discovery through the requirements and design phase.[12]
  5. Use the Agile process of incremental and iterative development and deployment.[12]
  6. Validate the BI Architecture and get approval on the proof of concept.[12]
  7. Data validation and verification should be completed for each development iteration.[12]
  8. Use flow charts or diagram to explain the BI process along with some documentation.[12]
  9. Any change that will be deployed to production should be thoroughly tested in regression environment.[12]
  10. Have a formal change control; this will minimize the risk as all changes have to be approved before it goes into production.[12]

References

  1. 1.0 1.1 1.2 "Enabling Agile Business Intelligence with Balanced Insight Consensus". http://www.balancedinsight.com/wp-content/files/BIWhitepaper_EnablingAgileBI.pdf. 
  2. 2.0 2.1 "What is Agile BI". http://www.nathean.com/index.php/what-is-agile-bi/. 
  3. Agile software development
  4. DeSarra, Paul. "BI Dashboards the Agile Way", BUSINESS INTELLIGENCE Journal • vol. 17, No. 4
  5. 5.0 5.1 5.2 5.3 5.4 White, David. "Agile BI – Three Steps to Analytic Heaven", April 2011
  6. Sherman, Rick. "How to leverage agile BI to help your BI architecture", January 2011
  7. 7.0 7.1 7.2 Violino, Bob. "Getting a fast start with agile BI development", ComputerWorld, Nov 21, 2011
  8. 8.0 8.1 8.2 8.3 8.4 Bruni, Margherita. "5 Steps To Agile BI", Informationweek.com, June 13, 2011
  9. 9.00 9.01 9.02 9.03 9.04 9.05 9.06 9.07 9.08 9.09 9.10 9.11 "Agile – Does It Work With Data Warehouse"
  10. 10.0 10.1 10.2 10.3 10.4 10.5 10.6 "Kernochan, Wayne. "What Agile Business Intelligence Really Means", IT Business Edge, April 7, 2011". http://www.enterpriseappstoday.com/business-intelligence/what-agile-business-intelligence-really-means-1.html. 
  11. 11.0 11.1 11.2 11.3 "Making Business Intelligence Easy". http://www.yellowfinbi.com/Document.i4?DocumentId=118864. 
  12. 12.0 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 Larson, Deanne. "BI Principles for Agile Development", Business Intelligence Journal, Volume 14, Number 4, Pg 41, 2009