DW/BI applications are a huge investment. So much time, effort and cost goes into the implementation of the ETL solution, the staging area, the actual data warehouse, the data marts and the BI solution, so why do organizations not follow or have procedures in place to manage communication, enhancements and /or troubleshooting?
There is a huge investment in a DW/BI application, so much time, effort and cost has gone into the implementation of the ETL solution, the staging area, the actual data warehouse, the data marts and the BI solution. Why do organizations simple not follow or have processes or procedures in place to manage communication, enhancements and /or troubleshooting?
This is what happens when there is no process….chaos!
I was assigned to an account primarily to work on streamlining a DW/BI application. I was struck by the fact that not only was there minimal documentation (that should have been my first sign) but also that there really were no processes or procedures to manage the application and its related components. I am speaking of change management, release management or communication management. So what do you think happened during the first release under my watch? Well here's what happened. As this was a data change at the source application, it meant that the entire set of processes to populate the data marts and generate reports had to be tested through and through. This battery of tests included the ETL cycle to ensure that there would be no issues in populating the data mart and the cube with the new source data. There also had to be testing of the reports impacted, as well as regression testing.
In this case, the method of communication of this change came in the form of our business users not being able to access data in the production on Monday morning. After some troubleshooting, we discovered that the source application had made some data changes but neglected to inform us! So after the dust settled. We developed a plan to somehow deploy into production.
The first test of the ETL cycle went well. As the initial testing was beginning on the report generation process, the business analysts from the source application stated that the data was entered in error and the test is invalid. Therefore, the source data had to be corrected and the ETL cycle had to be rerun. This went on for several cycles, which meant that the window for testing for the users of the DW/BI application was drastically reduced. There was such a limited time for testing and validating the ETL cycle and the report generating processes, that the production implementation was postponed twice! The impact of this postponement was that the business users did not have the reports they needed to complete a number of their business processes. Having business users adversely impacted because of miscues, mistakes and missed deadlines is unacceptable and can be avoided.
This is what happens when there is process……success!
How could this disaster have been avoided? Well, for starters, as the source application began its development work related to this data change, the DW/BI team should have been included in the communication loop. The DW/BI team or designate should be a part of the extended project team of the source application. This speaks to having a communication management plan in place. Working with the source application, a plan should be in place that manages the development, testing and deployment. A release management plan does just that! Once a modification or enhancement has been approved, the release management plan is executed. It would oversee the integration and flow of development, testing, deployment, and support of both the source and downstream BI applications. The release management plan and communication management plan would ensure that the development, testing and issues resolution would be managed such that both applications would be implemented into production within the budgeted cost and time with minimal disruptions or outages (if any) to the business users.
However, here's the thing, whereas a communications management plan and a release management plan provides a framework and structure for the effective deployment of changes into production, agile development methods iterates software development. What does agile development provide? Well, it stresses close collaboration between the IT and the business teams. This means constant communication between organized teams working to deploy business valued solutions into production, and, of course, reducing the number of surprises or outages in production!
Successful DW/BI Deployment requires a blend of project methodologies
In order for an organization to have a competitive advantage in the market place, its DW/BI application must deliver timely and innovative products to a widening set of business users. Agile methodology offers organizations the ability to deliver innovative solutions in an iterative and timely way. It is especially effective during software development where tasks are broken into small increments, with each iteration going through a full development lifecycle to deliver a new product or new version of an existing product. However, as agile methodology works best for software development, a more traditional project management approach provides tremendous value in areas such as communication management, release management and program management. It is with this combination of project management methodologies that a DW/BI application will be able to successfully implement innovative, high quality products without breaking its components, incurring outages and increasing costs!