A retail business improved its supply chain efficiency by analyzing buying patterns of groups of products with similar attributes, across similar stores, using geographical and demographic based parameters. A leading bank delivered better services with Agile-Business Intelligence (BI) for its analytical-driven, sales automation and marketing initiatives. Another leading steel company enhanced operational agility by integrating BI across geographically-spread business operations. Agile and BI are helping business around the world. Whether it is grocery stores sending re-stock reminders or florists sending friend birthday notifications, BI applications keep everyone informed, and generate business demand too.
However, BI is depend heavily on availability of real-time data. This in turn demands that enterprise systems are robust enough to capture data from varied internal and external sources, and feed into BI applications. However, this leads to a real-time report generation challenge, especially in scenarios where the reporting parameters keep changing, and the erstwhile waterfall testing model falls short. BI demands a flexible approach, to quickly accommodate business requirement changes, and Agile provides the much needed flexibility. Different functions work closely with each other, enabling free flow of information exchange between teams, which in turn translates to better collaboration and effective solutions.
Agile transformation requires a mindset change, beginning with the requirements gathering stage itself – a fixed set of requirements that make way for requirements which continuously evolve. This flexibility and ability to accommodate evolving business changes, meet organizational demands for faster and more measurable information, and accelerated releases facilitate faster market reach and ensure better returns from BI investments.
However, Agile for BI has its own challenges for the Quality Assurance (QA) and testing function:
- Underestimating Data Quality: Time bound Agile iterations and sprints often lead to a compromise on the quality of data. Provisioning real time test data and maintaining it throughout the test cycle, is also challenging. Lack of audit trail and reusability makes the process time consuming as well.
- Frequent Changes Impacting Regression Testing: With sprint-wise implementation of requirements and stories, Agile based BI projects involve query-intensive test design, making maintenance of the regression suites difficult. Frequent changes to underlying logic and objects necessitate frequent changes to the queries as well. The situation is further complicated with complex queries. Hence, maintaining and executing a regression suite often becomes a challenge for Agile-based BI projects.
- Water-Fall and Agile: In many instances, waterfall methods creep into parts of Agile based BI projects. As a result, testing teams must wait for completion of development, thereby impacting overall testing effectiveness.
- Impact of Data Volume: The data challenge is further complicated with complex queries that take longer to execute and fetch results. The query execution time directly impacts testing time during sprint execution. The impact can be even higher in live, production environments.
These challenges must be addressed with a combination of effective and modern QA practices. I am listing below four best practices for QA teams:
- Mandatory Data Quality Checks in each iteration, especially for complex programs, help improve test data quality. User story tasks must also cover data quality remediation. Teams must interact with source owners and assure databases. Acceptance criteria must be in line with data quality. Each phase of the BI lifecycle must be tested thoroughly. Sprint-wise, effective end to end testing gives confidence to real time business users, enabling them to take decisions based on BI-generated reports.
- Progressive Regression and Automation is a key ask. Agile-BI deliveries must include in-sprint automation, so that coding and automation run in parallel. Collaboration between code creators and code breakers is the key to success. Code breakers must also be code creators. With strong emphasis on database, linkage, logic, and queries, BI projects require robust automation frameworks to address high level complexities.
- Test-First, Fail Early Development Approach is critical for Agile-BI projects, which, with parallel testing, witness more testing than the traditional waterfall. The approach optimizes overall cost of quality and improves solution performance, security and usability. The user story prioritization plays a key role here, and testing must be sequenced accordingly.
- Performance Testing with the right set of tools, is equally important. Enablers and spikes must be added to sprints, to facilitate performance tuning and improvement. Testing of the archival strategy minimizes issues related to data scalability. Aspects such as failure recovery, report readability, usability, and report parameter customization, must also be adequately tested. Load & stress testing too must be planned to improve the performance of applications.
Agile has helped many organizations succeed with BI, and clearly, is the way forward. Success with BI demands continuous QA and not just continuous integration and continuous development (CI/CD). Continuous QA may well be the differentiator!