When it comes to metaprogramming, even the most technical folks can
find their eyes rolling back into their heads. I’ll admit, with all of
the fun and new technologies out there, a discussion about
metaprogramming is, in the name of brutal honesty, just outright
boring… but, so is being addicted to brute force.
During a recent ETL implementation using T-SQL, changes in
architecture and scope began to threaten the project’s delivery dates. I
desperately wanted to begin development but feared throw away work
resulting from requirement changes coming out of ongoing design and
analysis discussions. How do you develop code without a finalized set of
requirements and prevent re-writing each piece of code when
requirements change?