This article has multiple issues. Please help improve it or discuss these issues on the talk page . (Learn how and when to remove these messages)
|
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]
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]
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]
Aberdeen's Maturity Class Framework [5] uses three key performance criteria:
Bruni [8] in her article 5 Steps to Agile BI, outlines the five elements that promote an ABI enterprise environment.
Kernochan, in his two-year study of organization's BI process, came up with the below model and its characteristic goals: [9]
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."
There are several factors that influence the success of ABI.
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]
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.
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]
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 drives its users to self-serve BI. It offers organizations flexibility in terms of delivery, user adoption, and ROI.
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.
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]
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]
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.
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:
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.