Saturday, July 26, 2008

ETL Specification, Part 1

Specifications are vital to the success of a data warehouse project, just as good specifications are vital to ANY software project. Specifications are important not for their page count or weight, but for the thought required to commit their contents to paper. I have seen too many "White Board Cowboys" create a so-called specification as a series of scribbles on a dry erase board. I am a big fan of White Boards, but they are a collaboration tool. A good spec should communicate the following:
  1. What the developer is to do
  2. How the developer will know when it the work is done
  3. Anticipate and eliminate points of potential confusion

Item #3 is the whole reason for the specification. It is in thinking the design through in which truly calendar-busting problems are resolved. A recent client suggested that because development tools (and frameworks) had evolved to such an efficiency point, the task of software design was obsolete. Nothing, in my opinion, could be further from the truth.

"...I have always found that plans are useless but planning is indispensable." - Dwight D. Eisenhower

More on this subject shortly...