I’ve run into this situation a couple of times over the years. Let me tell you, it is fun!!!!!!! (That’s sarcasm for the sarcasm impaired). The general scenario is something like this: at some point in the history of a department, usually a number of years ago, the department decided it needed to upgrade its technical infrastructure (I’m leaving that purposefully vague), and decided that it needed someone who had a significant amount (or significant enough) of domain knowledge to drive that decision. Often times, this means the SME learns enough to implement some sort of technical design. Usually, what they learned is not necessarily the most ‘robust’ technology. Sometimes, it is Access, but it could be DTS, VBScript, batch files, etc. At some later point, it becomes clear that the technical infrastructure is well short of being manageable, and so a directive from the department or a higher-level entity is issued that an upgrade is required. This could be an upgrade to C# or Java or, hell, Perl….something. What often happens though is that, since the SME built the original implementation, they often become a crucial component of the upgrade process. And this is when all hell can break loose. Every decision has to involve this person...