Muchos días me encuentro con artículos o comentarios sobre los patrones de diseño. Son algo que se usa en el día a día. Nos podemos encontrar con Factorías, Singletons o Proxies de forma muy habitual programando. Ahora bien estos no son los únicos patrones que existen. Otros de los patrones importantes a la hora de trabajar son los patrones de Análisis. Estos patrones están más orientados a la fase de análisis y toma de requerimientos. Cuando uno trabaja como Analista, realiza una toma de requerimientos apoyandose en los casos de uso que el Cliente nos comunica. Todo esto parece en un primer momento idílico. Con el paso del tiempo y la experiencia uno se da cuenta que la mayoría de los negocios son mucho más complejos de lo que parecen de entrada.
Negocios y Conocimiento.
Algo de lo que nos olvidamos muchas veces es que un Analista tiene que realizar una toma de requerimientos de muchos tipos de proyectos algunos muy dispares entre sí.
Esto supone un reto ya que en más de una ocasión el conocimiento inicial que tendrá sobre el negocio X es muy básico. Por otro lado nos encontramos con que normalmente los Clientes son expertos en su negocio (o debieran serlo). Esto puede acabar generando problemas ya que en muchas ocasiones el Cliente piensa que ha transmitido todo lo necesario para que le construyan la aplicación ya que él lo tiene muy claro.
Lamentablemente esto dista mucho de ser cierto. Para paliar este tipo de situaciones existen los Patrones de Análisis que no son ni más ni menos que modelos conceptuales generalistas sobre los tipos de negocios más habituales. De esta forma un Analista se puede apoyar en ellos para entender mejor un mundo como el de la salud , o un universo como el de las finanzas, o por ejemplo el mercado eléctrico. Revisando estos modelos podrá clarificar conceptos e incorporar ideas sobre como es realmente el negocio de su Cliente. Ademas podrá validarlas con el Cliente ya que este sí es un experto en el negocio.
Libros y Patrones de Análisis
Haciendo uso de estos patrones tendremos una mejor comunicación con nuestros Clientes. Hoy en día la bibliografía sobre patrones de análisis sigue siendo comedida. Pero me gustaría destacar un par de libros. El primero evidentemente el de Martin Fowler Analisis Patterns que esta muy orientado al mundo de la programación orientada a objeto. El segundo libro que me gustaría destacar es de David Hay y se llama Data Model Patterns y esta totalmente orientado al universo de las bases de datos. Ambos libros construyen un conjunto de modelos en los cuales un Analista se puede apoyar para sacar ideas y conceptos que su modelo de negocio necesite.
Estos modelos nos ayudarán a realizar un análisis más sólido de cual es el negocio real de nuestros Clientes.