Subject Matter Expert != Technical Expert

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, and since they aren’t a technical expert to begin with, the decisions end up at the lowest common denominator of what this person can grasp.

Often times, the higher-ups driving the upgrade directive recognizes this, but end up in a dilemma.  They need to wrestle the technical implementation from the SME, but the existing solution is the SME’s ‘baby’ (in one rather funny example from years ago, the SME was talking about the existing code base and kept referencing it as “my code…this is my code” in a Gollum type manner (I kept waiting for him to refer to it as '”My precioussssssss!!!!!!”, but I digress)).  The SME is essentially being asked to relinquish control, but he is the only one that can actually figure out how the current house of cards functions. 

As far as I can tell, there is no easy solution when one is faced with a scenario like this.  You can’t cut the SME out of the picture entirely, as you need their ‘expertise’ in how things currently work, but at the same time, they are a major roadblock in getting any significant improvements implemented, since they don’t get why their code sucks in the first place (and telling them that their code sucks in the first place tends to lessen their willingness to work on the upgrade, as you might imagine). 

This actually relates to DDD, in a tangential way, which I’ve talked about here and here.

In any event, this is a real problem, with no easy solutions.

As an aside, I’m trying to figure out a ‘title’ for a person like this.  “Subject matter expert technical amateur” just doesn’t roll off the tongue.  “Jagdorf” is just rude, and not necessarily accurate (the SME might have been put in this position against his will at the start).

posted on Wednesday, November 18, 2009 6:50 PM Print
No comments posted yet.

Post Comment

Title *
Name *
Comment *  
Please add 3 and 1 and type the answer here: