También conocido como experiencia en la materia, el conocimiento del dominio es información relevante para el contenido que se encuentra en un paquete de software. Este tipo de conocimiento es diferente del conocimiento de programación, que influye en cómo el producto de software en sí está diseñado para funcionar. El enfoque del conocimiento del dominio es proporcionar la base de cómo el programador configura el programa de software para que la información que el programa es capaz de albergar y utilizar lo haga atractivo para el mercado objetivo de usuarios.
Una de las formas más fáciles de comprender el papel del conocimiento de dominio en el desarrollo de productos de software es considerar la entrada de los vendedores en el desarrollo de una nueva base de datos de ventas. Los vendedores sabrán qué tipo de información querrían almacenar en esa base de datos. Por ejemplo, datos como nombres de empresas, nombres de contactos e información de contacto general serían esenciales para configurar perfiles de clientes utilizando el software. Al mismo tiempo, a un vendedor también le gustaría tener la capacidad de designar el estado del contacto de alguna manera, como un cliente potencial, prospecto o cliente. La inclusión de secciones para capturar notas de discusiones, programar tareas pendientes relacionadas con un contacto específico e incluso la capacidad de exportar o importar información de otros programas también sería útil.
De la misma manera, el conocimiento de dominio de los profesionales médicos puede contribuir en gran medida a ayudar a los programadores y desarrolladores a crear productos de software que sean útiles en el consultorio de un médico, un hospital u otra instalación médica. Aprovechar la base de conocimientos y la experiencia de los profesionales médicos puede ayudar a desarrollar programas de software que ayuden con todo, desde la dispensación de medicamentos a los pacientes en un hospital hasta el mantenimiento de registros completos de cada paciente. Al saber qué necesitan los usuarios finales en un programa, es posible incluir esas necesidades en las funciones de desarrollo y programación y dar con un producto que sea útil y atractivo.
Desde esta perspectiva, el conocimiento del dominio consiste en ayudar a los programadores a tener una idea de lo que un programa debe lograr para satisfacer las necesidades de los usuarios potenciales. Los desarrolladores a menudo utilizan esta forma de ingeniería del conocimiento como un medio para crear nuevos productos o perfeccionar versiones más nuevas de productos más antiguos de una manera que los haga más útiles para los consumidores. Al mismo tiempo, los programadores buscarán que la interfaz de usuario sea lo más amigable posible y, al mismo tiempo, incluir características y funciones que sean de interés para los usuarios finales. Encontrar este equilibrio ideal generalmente requerirá la participación de esos usuarios si el producto de software debe lograr sus objetivos y atraer una atención significativa de los compradores potenciales.