Continue in 2 seconds

Data Warehouse Quality Assurance Best Practices

  • August 01 2007, 1:00am EDT

Larry would like to thank Ryan Steele for his contribution to this month's column.

In my April column, I commented that many organizations more fully understand the importance of data quality and data governance but are struggling with various aspects of implementing programs to address quality within their customer, value-added applications such as customer relationship management (CRM) and sales force automation (SFA).

While many organizations have been getting better at ensuring quality within CRM applications and understand the importance, they still struggle with the critical task of testing data warehouses and marketing databases. This column talks about some best practices regarding data warehouse quality assurance (QA).

Clearly State the Goal

Many organizations create test plans and assume that testing is over when every single test condition passes their expected results. In reality, this is a very difficult bar to meet. Often, some requirements turn out to be unattainable when tested against production information. Some business rules turn out to be false or incredibly more complex than originally thought.

Collaboration between IT and the business will help identify the reasonable issues versus the issues that cannot be resolved for the current release of the data warehouse. Prioritizing the test plan can help the testing team make these trade-offs.

Ownership and Accountability

It seems that ownership of the process and accountability of the results is one of the most debated topics in quality assurance. It is easy to say that a developer is responsible for unit testing one's own work, but it becomes blurry when delineating whether the business or technical owners should create and execute a user acceptance test (UAT) plan. While is it critical to have end users involved, having them be the sole owner can sometimes greatly lengthen the UAT period and create a divide between the teams that does little, if anything, to help adoption - which is truly the goal.

Clearly defining the roles and responsibilities for quality assurance at all levels is critical to ensuring a high quality end product.

Automate, Automate, Automate

We have all heard, "This is a one-time thing" far too often to ever believe it again, if we ever believed it in the first place. Through the automation of QA procedures, organizations can gain efficiencies while increasing the quality of complex applications. Many organizations have adopted QA frameworks to help standardize the approach to QA and provide the proper tools and processes for QA professionals. For testing customer intelligence applications, there are three aspects to QA automation:

  1. Ensure tests are repeatable;
  2. Tests must have easy to interpret results (e.g., pass, fail); and
  3. Build every test within the same framework.

The benefits of automating the test procedures are most evident as you complete critical enhancements for the application. One of our clients has a 9 terabyte data warehouse that contains more than 400 extract, transform and load (ETL) jobs. The test plan can be executed in 75 minutes and results analyzed in 15 minutes. The outcome is that an enhancement can be confidently regression tested, user tested and deployed in 10 percent of the time it takes for the automation.

Power is in the Process

There are surely dozens upon dozens of QA process flows describing exactly how QA is supposed to work within an organization. There may be actors, processes, decision points, inputs and outputs. While these diagrams are great and serve an important purpose, it is more important that the process is easy to understand and used by everyone within the organization. Processes such as test execution, issue triage, prioritization and bug fix need to be classified and described to ensure that the entire test team understands the tasks associated with each process.

It's All in the People

Balancing the workload across your organization is always a challenging endeavor. As QA becomes more important to the success of CRM applications, this task becomes even more complicated, especially with the many options available. Offshore firms provide outsourced QA solutions as well as blended solutions integrating staff with offshore developers.

Finding the right mix and determining the right allocation of your top talent between architecture, design, development and QA is the key. Some firms have even developed programs that provide their employees with rotations in various roles, which seem to help retain key employees, allowing them to understand the various roles. 

Register or login for access to this item and much more

All Information Management content is archived after seven days.

Community members receive:
  • All recent and archived articles
  • Conference offers and updates
  • A full menu of enewsletter options
  • Web seminars, white papers, ebooks

Don't have an account? Register for Free Unlimited Access