In Cracking the Code: Breaking Down the Software Development Roles I gave you the 50,000 foot view of the human side of the software development industry and the various roles involved. Here and in the articles to follow I will provide you with details on each of the key roles.
The role of the subject matter expert (SME) isn't so much a role that the core information technology person plays normally, however, the role is an important part of the development process. Sometimes subject matter experts are business owners or business users. In most cases they are most often called "Client" Or "user". Figure 1 give you an idea of where the subject matter expert fits into the bigger picture of an organization.
SMEs are the people in the process who provide the information on what needs to be built. They serve in the most important role in the development process - despite not being a part of the permanent development team.
Without the subject matter expert there would be no need and therefore no development.
What is a Subject Matter Expert?
Subject matter experts really fall into a few categories. The first category is the business owner who initiates the development process. For internal development this might be the manager who is sponsoring the project. For external development projects it might be the customer paying the bills. For software development companies the SMEs are most often the users of the software who understand what the product is supposed to do the most or at the very least what the product is expected to do.
SMEs provide all of the raw material for the development process this includes the requirements for the system and how it will be used. Their input describes the problem or the opportunity that the software solution will ultimately solve.
Who is a Subject Matter Expert?
SMEs are perhaps the most broadly described part of the development process. Because they can come from all walks of life, all levels of awareness of the software development process, and all levels of interest, trying to describe them is a futile process.
The most defining characteristic of a SME is the fact that, with few exceptions, they won't understand the software development process. They are not a reoccurring part of the process and therefore they won't have experience with what is happening-nor should they. This lack of understanding regarding the process is not a critical limitation, because the SMEs will work with a Functional Analyst who will guide them through the process. It is the FA's job to understand the information that the SME has to share and to guide them through understanding how the process will work.
What Isn't in Their toolbox?
Unlike most roles, which bring extra skills to the table, the SME removes some of the inherent skills that other members of the team possess.
As a part of a development team, here are some skills that you should be careful to avoid assuming a SME has:
- Don't assume that the SME will clearly communicate what they know. Most people aren't good at clearly organizing their thoughts on a topic and communicating them in detail. The expectation that the SME can turn on a faucet and start spewing out information in a way that the rest of the team can understand it is unrealistic. Set expectations should be that they wouldn't be able to simply drop their knowledge directly into a document or even into a discussion. It should be expected that things will be left out, some processes may be misunderstood, and that an individual's idea of current priorities might not match that of the company.
- Don't assume that an SME will understand models Architects, Development Leads, Functional Analysts, and other members of the team often develop fancy diagrams to describe complex program structures. These structures are readable because the development team has learned how to read them over time. The SME may or may not be able to read technical diagram. Because they are largely outside the development process, they shouldn't be expected to read such documents. Another way to think about this is to think about it is to think about reading a blueprint for a building. While the basic structure may be understandable from a blue print, not everyone will be able to fully understand the meaning of all the lines and numbers on the document.
- Don't assume that a SME understand or can use defect logging and tracking systems. Some SMEs won't have the skills to even track the discrepancies from what they want. They'll need help getting their knowledge into the systems used to drive the software development process.
- Don't assume that a single SME has all the answers. Each person has their own perspective SMEs are no exception. You may need to work with dozens of SMEs to reach a single consensus based on the amount of knowledge the SME has, the scope of the solution you're trying to create and the lack of consensus in the industry or organization.
Where's the Role Heading Anyway?
There will always be a need for subject matter experts - particularly those who can clearly articulate the needs the organization faces. Although SME is not the primary role that an Information Technology person typically fills it's one that can be a great asset for an organization.
If a SME shows particularly good skills at articulating the business needs then perhaps there's the opportunity to take a part-time or full-time role as a functional analyst (FA). The functional analyst's job is to create clear, precise communication and to support the SME role. This combination makes it a natural path for those SMEs who become hooked on the software development process and want to be more involved.
Of course, the path is not paved in gold. The SME will need to focus on being able to document details, extract information from other SMEs, pay attention to the details, and in general become a more integrated member of the software development process. SMEs who want to make the leap to being a functional analyst will have to accept a greater level of process and technical knowledge while leveraging their familiarity with being an SME and the struggles that a SME has in working through the process.