Agile Business Intelligence

Last updated

Agile business intelligence (ABI) refers to the use of Agile software development for business intelligence (BI) projects. ABI attempts to enable the BI team, business people, or stakeholders to make business decisions more quickly. [1] [2]

Contents

There are different approaches for increasing BI agility, and certain factors are crucial for the success of ABI projects. For example, a holistic consideration of BI architectures, organizational forms, and technologies, as well as the use of agile process models adapted to BI, are essential.

Agile methodology works on the iterative principle. This involves providing new features to end users sooner than with traditional waterfall processes, which deliver 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 responses to change. [3] ABI encourages business users and IT professionals to think about their data differently, and it is characterized by low total cost of change (TCC). [2] With ABI, 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 the right information to the right business managers at the right time. [5]

Agile business intelligence is a continual process, enabling managers to access quick and accurate product data for informed decision-making. ABI enables rapid development using the agile methodology. Agile techniques are a way to promote the development of BI applications, such as dashboards, balanced scorecards, reports, and analytic applications. [6]

According to the research by the Aberdeen Group, organizations with the most established ABI implementations are more likely to have processes in place for ensuring that business needs are being met. [7] The success of ABI implementation also heavily depends on end user participation and "frequent collaboration between IT and the business." [7]

Definition

Agile business intelligence (ABI) is a methodology that integrates processes, tools, and organizational structures to enable decision-makers to adapt more effectively to dynamic business and regulatory environments. [7]

Key performance criteria

Aberdeen's Maturity Class Framework [5] uses three key performance criteria:

  1. Availability of timely management information: IT should be able to provide the right and accurate information in a timely manner to the business managers to make sound business decisions. “This performance metric captures the frequency with which business users receive the information they need in the time-frame 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 measures 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 ABI 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 that are in their initial stages of implementing Agile BI should consider 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

BI, 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: [9]

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

Common Issues

Kernohan's study found these common issues with the current BI processes: [9]

The result concluded that adding agility to existing business intelligence will minimize problems. Organizations are slowly transitioning their processes to agile methodology and development. ABI will play a big part in the company's success as it "emphasizes integration with agile development and innovation."

Improving business intelligence agility

There are several factors that influence the success of ABI.

Data Entry

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

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." [9]

Data Aggregation

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 principles of ABI 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. [9]

Information Analysis

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

ABI Checklist

Advantages of using ABI

ABI 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. [10] Each iteration is working software and can be deployed to production.

Increased User Acceptance

In an Agile development environment, IT and business personnel work together (often in the same room) refining the business needs in each iteration. [10] "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." [10]

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. [10]

ABI Best Practices

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

Related Research Articles

Business intelligence (BI) consists of strategies, methodologies, and technologies used by enterprises for data analysis and management of business information. Common functions of BI technologies include reporting, online analytical processing, analytics, dashboard development, data mining, process mining, complex event processing, business performance management, benchmarking, text mining, predictive analytics, and prescriptive analytics.

A software company is an organisation — owned either by the state or private — established for profit whose primary products are various forms of software, software technology, distribution, and software product development. They make up the software industry.

The rational unified process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM since 2003. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs. RUP is a specific implementation of the Unified Process.

Software development is the process of designing and implementing a software solution to satisfy a user. The process is more encompassing than programming, writing code, in that it includes conceiving the goal, evaluating feasibility, analyzing requirements, design, testing and release. The process is part of software engineering which also includes organizational management, project management, configuration management and other aspects.

<span class="mw-page-title-main">Systems development life cycle</span> Systems engineering terms

In systems engineering, information systems and software engineering, the systems development life cycle (SDLC), also referred to as the application development life cycle, is a process for planning, creating, testing, and deploying an information system. The SDLC concept applies to a range of hardware and software configurations, as a system can be composed of hardware only, software only, or a combination of both. There are usually six stages in this cycle: requirement analysis, design, development and testing, implementation, documentation, and evaluation.

Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.

Agile software development is an umbrella term for approaches to developing software that reflect the values and principles agreed upon by The Agile Alliance, a group of 17 software practitioners in 2001. As documented in their Manifesto for Agile Software Development the practitioners value:

<span class="mw-page-title-main">Dynamic systems development method</span> Agile project delivery framework

Dynamic systems development method (DSDM) is an agile project delivery framework, initially used as a software development method. First released in 1994, DSDM originally sought to provide some discipline to the rapid application development (RAD) method. In later versions the DSDM Agile Project Framework was revised and became a generic approach to project management and solution delivery rather than being focused specifically on software development and code creation and could be used for non-IT projects. The DSDM Agile Project Framework covers a wide range of activities across the whole project lifecycle and includes strong foundations and governance, which set it apart from some other Agile methods. The DSDM Agile Project Framework is an iterative and incremental approach that embraces principles of Agile development, including continuous user/customer involvement.

Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System, it is emerging with the support of a pro-lean subculture within the agile community. Lean offers a solid conceptual framework, values and principles, as well as good practices, derived from experience, that support agile organizations.

The incremental build model is a method of software development where the product is designed, implemented, and tested incrementally until the product is finished. It involves both development and maintenance. The product is defined as finished when it satisfies all of its requirements. This model combines the elements of the waterfall model with the iterative philosophy of prototyping. According to the Project Management Institute, an incremental approach is an "adaptive development approach in which the deliverable is produced successively, adding functionality until the deliverable contains the necessary and sufficient capability to be considered complete."

Extreme programming (XP) is an agile software development methodology used to implement software systems. This article details the practices used in this methodology. Extreme programming has 12 practices, grouped into four areas, derived from the best practices of software engineering.

In computer information systems, a dashboard is a type of graphical user interface which often provides at-a-glance views of data relevant to a particular objective or process through a combination of visualizations and summary information. In other usage, "dashboard" is another name for "progress report" or "report" and is considered a form of data visualization.

Real-time business intelligence (RTBI) is a concept describing the process of delivering business intelligence (BI) or information about business operations as they occur. Real time means near to zero latency and access to information whenever it is required.

Strategic planning software is a category of software that covers a wide range of strategic topics, methodologies, modeling and reporting.

Operational intelligence (OI) is a category of real-time dynamic, business analytics that delivers visibility and insight into data, streaming events and business operations. OI solutions run queries against streaming data feeds and event data to deliver analytic results as operational instructions. OI provides organizations the ability to make decisions and immediately act on these analytic insights, through manual or automated actions.

Business process management (BPM) is the discipline in which people use various methods to discover, model, analyze, measure, improve, optimize, and automate business processes. Any combination of methods used to manage a company's business processes is BPM. Processes can be structured and repeatable or unstructured and variable. Though not required, enabling technologies are often used with BPM.

In software engineering, a software development process or software development life cycle (SDLC) is a process of planning and managing software development. It typically involves dividing software development work into smaller, parallel, or sequential steps or sub-processes to improve design and/or product management. The methodology may include the pre-definition of specific deliverables and artifacts that are created and completed by a project team to develop or maintain an application.

Mobile Business Intelligence is defined as “Mobile BI is a system comprising both technical and organizational elements that present historical and/or real-time information to its users for analysis on mobile devices such as smartphones and tablets, to enable effective decision-making and management support, for the overall purpose of increasing firm performance.”. Business intelligence (BI) refers to computer-based techniques used in spotting, digging-out, and analyzing business data, such as sales revenue by products and/or departments or associated costs and incomes.

Continuous testing is the process of executing automated tests as part of the software delivery pipeline to obtain immediate feedback on the business risks associated with a software release candidate. Continuous testing was originally proposed as a way of reducing waiting time for feedback to developers by introducing development environment-triggered tests as well as more traditional developer/tester-triggered tests.

Disciplined agile delivery (DAD) is the software development portion of the Disciplined Agile Toolkit. DAD enables teams to make simplified process decisions around incremental and iterative solution delivery. DAD builds on the many practices espoused by advocates of agile software development, including scrum, agile modeling, lean software development, and others.

References

  1. 1 2 3 "Enabling Agile Business Intelligence with Balanced Insight Consensus" (PDF).
  2. 1 2 "What is Agile BI". Archived from the original on 2013-10-30. Retrieved 2013-02-09.
  3. Agile software development
  4. DeSarra, Paul. "BI Dashboards the Agile Way". BUSINESS INTELLIGENCE Journal. 17 (4).
  5. 1 2 3 4 5 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. 1 2 3 Violino, Bob. "Getting a fast start with agile BI development", ComputerWorld, Nov 21, 2011
  8. 1 2 3 4 5 Bruni, Margherita. "5 Steps To Agile BI", Informationweek.com, June 13, 2011
  9. 1 2 3 4 5 6 "Kernochan, Wayne. "What Agile Business Intelligence Really Means", IT Business Edge, April 7, 2011". 7 April 2011.
  10. 1 2 3 4 "Making Business Intelligence Easy".
  11. 1 2 3 4 5 6 7 8 9 10 Larson, Deanne. "BI Principles for Agile Development", Business Intelligence Journal, Volume 14, Number 4, Pg 41, 2009