Knowledge engineers work to capture knowledge from a messy, abstract domain and turn it into logic-based rules structured in a very methodical way within a concrete, tangible knowledge base. Managing scope is a key to success.
Managing scope of problems
While work is under way to define the problem and potential responses, knowledge engineers must define and manage scope.
An expert system can solve multiple problems within a domain, but it’s important to avoid taking on too many challenges at once. If multiple problems are within the defined scope of work, they can be parceled up and knowledge engineered discretely.
Managing scope of responses
Scope must also be managed with respect to the potential responses to the problems. Knowledge engineers should manage expectations by being specific about what is in and out of scope with respect to responses.
The over-promise / under-deliver dynamic
The temptation to over-promise in terms of scope of problems and responses will be the strongest when approval is being sought for a project, or when a proposal is being discussed with stakeholders.
Knowledge engineers may not fully appreciate the importance of a manageable scope before they actually begin working in the domain. Many stakeholders won’t ever really appreciate issues around scope – especially if they’re the type to focus primarily on the negative aspects of new projects that use technology to augment or displace human experts.
Stakeholders who see expert systems as a threat to their self-interests might also attempt to compare them to an ideal standard that doesn’t actually exist in reality. Knowledge engineers have to deal in a much more tangible, restricted context.
In my experience, the final deliverable will often be slightly less ambitious than the vision shared by the team before knowledge engineering is under way.
Staging knowledge base development
It’s perfectly acceptable, and surprisingly practical, to plan on an expanded scope within a single domain in a “version 2” of the knowledge engineering work. After version 1 is loaded into the system, knowledge engineering can start on subsequent versions of content that will be added to the knowledge base in the future.