Agile Business Intelligence

Last updated

Agile Business Intelligence (BI) refers to the use of Agile software development for BI projects to reduce the time it takes to show value to the organization in comparison to other approaches. It helps in quickly adapting to changing business needs. Agile BI enables the BI team, business people or in general stakeholders to make better business decisions, and to start doing this more quickly. [1] [2]

Contents

There are different approaches for increasing BI agility. Some points are crucial for the success of agile BI projects. For example, the holistic consideration of BI architectures, BI forms of organization and BI technologies as well as the use of agile process models adapted to BI.

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]

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, balanced scorecards, reports and analytic applications. [6]

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]

Definition

"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]

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 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

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 — analyzability

Common Issues

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

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

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

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

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

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

Agile BI Best Practices

  1. A program charter should be created, which will set the stakeholder expectations on how Agile BI system will work. [11]
  2. Start with the business information needs to provide context for scope. [11]
  3. Iterations should be time-boxed. [11]
  4. Stress on data discovery through the requirements and design phase. [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 diagram to explain the BI process along with some documentation. [11]
  9. Any change that will be deployed to production should be thoroughly tested in 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 and technologies used by enterprises for the 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 used to create software. Programming and maintaining the source code is the central step of this process, but it also includes conceiving the project, evaluating its feasibility, analyzing the business requirements, software design, testing, to release. Software engineering, in addition to development, also includes project management, employee management, and other overhead functions. Software development may be sequential, in which each step is complete before the next begins, but iterative development methods where multiple steps can be executed at once and earlier steps can be revisited have also been devised to improve flexibility, efficiency, and scheduling.

Data engineering refers to the building of systems to enable the collection and usage of data. This data is usually used to enable subsequent analysis and data science; which often involves machine learning. Making the data usable usually involves substantial compute and storage, as well as data processing.

<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 the mindset for developing software that derives from values 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>

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.

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.

A programming team is a team of people who develop or maintain computer software. They may be organised in numerous ways, but the egoless programming team and chief programmer team have been common structures.

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 7 "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