Image courtesy of Shutterstock.
A healthy data warehousing environment is one that is alive and where several elements come together. Those elements should include a framework upon which the individual projects build, with each piece extending and enhancing the overall data warehousing results: an added subject area, a new data mart, new or refactored dimensions, and so forth.
Under an ideal scenario, each new completion provides both user-functionality in and of itself, plus also fits in as yet another tile in the overall mosaic. The development and maintenance team members need to focus on pursuing that framework as well as on the actual delivery within each managed project. Delivery of those projects should be at a relatively fast pace, from a couple months to even shorter timeframes—if the organization supports enough resources to allow for several sub-groups to be working on enhancements concurrently. It is important to remind users of the usefulness of their business intelligence area; new functionality is a very good way to remind them.
Being an “alive data warehouse” also means avoiding the chaos-invoking traps that arise when priorities never stabilize. “Stabilize” does not mean that priorities cannot change, as that would be unreasonable. Priorities do change; change is a part of life that must be accepted. But priorities cannot change every hour, every day, or even every week.
Under such extremely mercurial scenarios, there are no actual priorities. If a project is significant, it must achieve an importance allowing for those tasks to remain in focus through to completion. Certainly unusual situations may arise that will cause efforts to be placed “on hold” for a short time, but such circumstances should be rare and exceptional and not the usual course of events. When priorities change too frequently to allow for completing projects, then management needs to address the problem that is creating the unreasonable pressures to flip-flip, along with the resulting chaos, and fix it, or doom the work group to non-achieving victimhood.
In order to both establish and maintain this delivery-focused approach, the data warehousing environment needs a practice/methodology that helps everyone step through the processes in getting from start-to-delivery again and again. Who is responsible for what tasks, or even what tasks need to be addressed are questions that should not result in re-inventing the wheel for each and every project. Embracing a practice, and adhering to it long enough to bring it to life within a team is an act of faith. At the start, this may seem like following the ideology presented in the Hitchhiker’s Guide series about learning how to fly. One is advised that, “There is an art, it says, or rather, a knack to flying, [the] knack lies in learning how to throw yourself at the ground and miss.” Moving forward requires such faith in the validity of the process and knowing that once a methodology is in place, then one can miss the ground and fly.
A healthy data warehouse environment can self-correct to accomplish the right things. And that self-correction is crucial, for no process is likely to be perfect from the start. Whatever is initially built will have flaws. However, this means one’s practice should allow for re-factoring. It is the re-factoring of components that improves what was initially delivered; therefore time and resources should be committed to re-factoring. Far too often, re-?factoring is a task that never is done, it is simply a name invoked for cutting corners and dumping work items never to be redressed.
A healthy data warehousing environment is one that is alive, active, while achieving a state of virtually continuous delivery. Is your data warehousing environment healthy, or on the path to achieving health?