Blog

Comprendiendo el Dominio del Negocio

Comprender el como funciona el negocio es un requisito fundamental para crear soluciones de software exitosas. Como programadores e ingenieros de software, debemos comprender cómo operan las empresas dentro de su negocio. Al analizar el dominio empresarial, podemos destilar los diferentes subdominios. Esto nos ayudará a diseñar buenos sistemas que estén alineados con los objetivos del negocio y, en consecuencia, asegurará el éxito del negocio.

¿Qué es un dominio?

Un dominio comercial se refiere al área principal de operación de una empresa. Por ejemplo, Starbucks es famoso por su café, mientras que UPS ofrece servicios de entrega global.

Una empresa puede operar en múltiples dominios comerciales. Por ejemplo, Amazon opera tanto en el comercio minorista como en la computación en la nube.

¿Qué es un subdominio?

Un subdominio es un área específica de una empresa. Todos los subdominios de una empresa juntos forman el dominio empresarial. Implementar un solo subdominio no es suficiente para que una empresa tenga éxito. Por ejemplo, Amazon necesita tanto servicios de soporte como de entrega, dependiendo de si nos fijamos en el comercio minorista o en la computación en la nube.

¿Cuáles son los diferentes tipos de subdominios?

En el diseño basado en dominios, dividimos los subdominios en tres categorías: principal, genérico y de soporte.

Subdominio Principal

Un subdominio central es lo que diferencia a una empresa de otra. Un subdominio central es la innovación que introduce una empresa para obtener una ventaja sobre sus competidores. Por ejemplo, el algoritmo de clasificación de la Búsqueda de Google.

Los subdominios principales también se denominan dominios principales.

Un subdominio central que es sencillo de implementar también lo es de copiar. Por lo tanto, sólo puede proporcionar una ventaja a corto plazo sobre los competidores. Por tanto, los subdominios principales deben ser complejos. Usando el ejemplo de Google, el algoritmo de clasificación de la búsqueda es único y difícil de copiar.

Ten en cuenta que los subdominios principales no son necesariamente técnicos. No todos los problemas empresariales se resuelven mediante software. Por ejemplo, un carpintero puede vender sus productos online.

Subdominio Genérico

Los subdominios genéricos son actividades comerciales que todas las empresas realizan de la misma manera. No hay una necesidad real de innovación aquí. Las implementaciones listas para usar están ampliamente disponibles y son utilizadas por todas las empresas para cubrir estas necesidades.

Un buen ejemplo es la autenticación y autorización. La mayoría de las aplicaciones necesitan esta característica, por lo que en lugar de crear un nuevo sistema de autenticación propietario, tiene más sentido utilizar una solución existente.

Subdominio de Soporte

Los subdominios de soporte proporcionan funciones necesarias que permiten que el dominio principal funcione de forma eficaz. Sin embargo, no ofrecen una ventaja competitiva real ni una diferenciación empresarial.

El criterio principal para distinguir los subdominios de soporte es la complejidad; son bastante sencillos de implementar. Suelen ser sistemas basados en operaciones CRUD.

Comparación de Subdominios

Repasemos las principales diferencias entre las tres categorías de subdominios.

  1. Ventaja competitiva: Sólo los subdominios principales cambian las reglas del juego para una empresa. Aunque todos los subdominios son necesarios para que la empresa ofrezca sus servicios, sólo el subdominio principal proporciona una ventaja competitiva real.
  2. Complejidad: Los más complejos son los subdominios principales, ya que deben ser únicos. Los competidores no deben copiarlos ya que de ello depende la rentabilidad de la empresa. Los subdominios genéricos también son complejos pero no son clave para el éxito de la empresa; por lo general, este tipo de subdominios son los subdominios centrales para otras empresas que resuelven ese tipo de problema. Finalmente, los subdominios de soporte son bastante simples de implementar; generalmente, una interfaz basada en CRUD es suficiente.
  3. Capacidad de cambio: Los subdominios principales DEBEN cambiar con frecuencia. Se deben implementar nuevas funcionalidades con frecuencia en el subdominio principal para mantener una ventaja competitiva sobre los competidores.
  4. Implementación: Los subdominios principales deben implementarse internamente. No se pueden subcontratar. La implementación interna de subdominios principales permite a la empresa añadir funciones y hacer evolucionar la solución rápidamente. Se debe asignar a los más experimentados y qualificados de la organización para trabajar en el subdominio principal. Los subdominios genéricos son problemas difíciles pero ya resueltos, por lo que lo mejor es comprar uno disponible en el mercado. Como se mencionó anteriormente, los subdominios de soporte son simples, por lo que será suficiente implementar uno internamente utilizando un framework de desarrollo rápido de aplicaciones.

Encontrando los Límites del Subdominio

Identificar los diferentes subdominios es un punto clave a la hora de diseñar soluciones de software, ya que nos ayudará a tomar las decisiones de diseño adecuadas.

Los diferentes subdominios de un negocio deben estar definidos por la estrategia comercial de la empresa, es decir, sus dominios comerciales y cómo se diferencia de otras empresas del mismo campo.

Veamos algunas formas de encontrar límites de subdominios:

  1. Unidades organizativas: los departamentos de la empresa y otras unidades organizativas son un buen punto de partida. Cada departamento puede tener conceptos únicos, por lo que analizarlos puede ayudarnos a encontrar los límites de los subdominios.
  2. Conjunto de casos de uso: piense en aquellos casos de uso que generalmente involucran al mismo actor y entidades, y realizan operaciones sobre datos estrechamente relacionados.
  3. Aislamiento de subdominios principales: Es clave identificar adecuadamente los subdominios principales, definiendo los límites tanto como sea posible, ya que eso nos permitirá extraer las funcionalidades genéricas y de soporte.

Conclusión

Comprender el dominio empresarial es crucial para el éxito del desarrollo de software. Al identificar subdominios, diseñamos soluciones extensibles, escalables y mantenibles que impulsan el éxito empresarial. Considera los departamentos y los casos de uso para definir estos límites de manera efectiva. El aislamiento del subdominio principal te ayudará a separar los otros dos fácilmente. Recuerda, los subdominios principales deben crearse internamente, mientras que los genéricos se benefician de soluciones listas para usar. Los subdominios de soporte, aunque más sencillos, son esenciales para la correcta funcionalidad del negocio.

Post Anterior