viernes, junio 30, 2006

El espíritu de la toma de decisiones (Juego de palabras)

Llevo varios dias dándole vueltas al hecho de que un sistema decisional ágil debe ayudar a la toma de decisiones pero sin sustituir al que toma la decision.
Sin duda las métricas, los indicadores y el modelo dimensional forman parte de los análisis previos que hacemos antes de decidirnos por algo. Pero también evaluamos muchas otras posibilidades y descartamos otras de forma rápida, tal como dice Marti en el anterior post "la toma de decisiones se realiza en mucha parte descartando opciones." pero también hay un componente que Antonio ha introducido muy bien 'La decision 'aparece' en mi mente sin seguir nunca un proceso claro... hay 'algo' que me dice cual es la mejor opcion".
Así que me he volcado en el google (que como todos sabemos es el compendio de todo el saber del mundo, mejor que la biblioteca de Alejandría) y he encontrado estas dos referencias:

La primera es la de Zona Espirita en donde he encontrado la siguiente reflexión: http://zonaespirita.divulgacion.net/

El cerebro no trabaja con sustancias materiales y, sí con impulsos de energía. El efecto inteligente proviene de una causa inteligente. ¿Podría, por sí mismo el cerebro tomar decisiones? (...) Si no puede, ¿quién lo hace?...

Claro me he quedado de piedra, yo aqui pensando en como ayudar al cerebro a tomar mejores decisiones y es posible que no sea él quien las tome.¿Y si son los pies? Tendria que replantearme todo mi estudio.

Así que seguí leyendo :

La centella divina, que es nuestro psiquismo, viene viajando desde el principio de los tiempos para formar experiencias y madurez, pasando por el mineral, donde duerme, en el vegetal que es sensación, en el animal instinto y más tarde, incorporándose al Espíritu, tornándose una individualidad con una trayectoria milenaria impresa en el psiquismo.

¡Ostras pues si que tenemos información almacenada!. Despues de la risa volví a analizar la analogía:

Es decir que para tomar decisiones tenemos que tener un DWH milenario "centella divina" en el que almacenemos información externa al problema pero que nos puede ayudar en la toma de decisiones, algo que nos indique que significa el problema... ¿tendrá algo que ver con la ontología decisional?

El segundo link es un libro on-line de gestión del conocimiento un poco mas serio gestion-del-conocimiento.html

"El cerebro humano cuando ha desarrollado una idea suficientemente y ha llegado a una conclusión la incorpora a la memoria para no tener que repetir todo el proceso. Normalmente los preconceptos más importantes se cargan en la memoria inmediata todos los días, formando en realidad una parte importante de lo que se denomina "el carácter de una persona".

Pero fijaos que la idea de no repetir los mismos análisis y basarnos ciegamente en ejecuciones previas hace que nuestra toma de decisiones se acelere. Por supuesto que fallamos ya lo dice Antonio : "no te creas que fallo en el 50% de los casos"
Sin embargo tomamos las decisiones de forma mucho mas rápida y en base a aproximaciones.

Es curioso la casualidad, mientras escribía esto estaba en casa escuchando Shakira y una frase ha llegado flotando a mi desde la parte de atrás de mi cerebro en forma de letra de canción "las mujeres somos las de la intuición".

Creo que empiezo a entender: Ontología + Reglas + Precálculos
¿nos podría servir?

martes, junio 27, 2006

Ontologias Decisionales

Son muchos los ámbitos de los Sistemas de Informacion donde esta apareciendo el concepto ontología. Las ontologías surgen con la idea de estandarizar y facilitar el intercambio de “conceptos” entre sistemas de información, se trata de una forma de representar los conceptos compartidos sobre un mismo dominio de manera que ambos sistemas entiendan lo mismo cuando hablan del concepto “factura” por ejemplo. Gruber las define como “la especificación explícita, compartida y formal de una conceptualización”.

Las ontologías han irrumtido en ámbitos como la arquitectura SOA (orientada al servicio) cuando los los investigadores se dieron cuenta que no solo necesitaban una sintaxis, sino una semántica no ambigua, y que no solo la necesitaban en ese punto sino en toda la arquitectura que se había creado hasta ese momento.

Dos son las iniciativas que se están desarrollando el WSMO y el OWS-L y algunos esfuerzos se están duplicando. Veamos en qué consiste cada una de ellas.

OWS-L (Ontologies Web Services Language) permite que los servicios web sean descubiertos, invocados y gestionados dinámicamente, ya que gracias a él son “comprensibles” por la máquina, es decir podemos distinguir su objetivo conceptual.

WSMO (Web Services Modeling Ontologies) es el modelo para la creación de ontologías de los servicios web semánticos. En este enfoque la semántica “domina” a la sintaxis.

Fijaos en el hecho de que al construir el sistema nervioso del sistema de información, ya estamos definiendo qué significan las cosas, como las interpretamos, sin embargo en los sistemas decisionales aún continuamos con el arcaico método de ejecución de las métricas y almacenamiento con productos cartesiano.

Algunas herramientas decisionales incorporan "capas de negocio" o "capas semánticas" pero se refieren solo a la explotación de los datos por parte de los usuarios finales y no a su consecución y consolidación.

La creación de ontologías decisionales previas a las creaciones de los almacenes de datos puede ser una via para hacer evolucionar la forma en que entendemos las tomas de decisiones.

miércoles, junio 21, 2006

Mi cerebro.. ¿un producto cartesiano?

Despues de algunos dias sin poder escribir he conseguido sacar algunos minutos para continuar con el blog. Estoy "cerrando" proyectos ya que en breve nacerá mi primer hijo (en 4 semanas) y no quiero dejar ningun cabo suelto.

Hoy me gustaria reflexionar sobre como estructuramos la toma de decisiones. Nuestro cerebro esta acostumbrado a realizar con precisión procesos semiestructurados, en los que hay una parte de incertidumbre que tenemos que despejar. Esto hace de los procesos decisionales algo muy complejo. Trasladarlos a un automatismo es muy complicado ya que no se puede prever con exactitud el tipo de información que vas a necesitar y anticiparte con un informe. Es esta necesidad la que hace nacer los sistemas OLAP (On-Line Analytical Process) que nos ayudarán en la ejecución de los análisis dinámicos. El más conocido de ellos es sin duda el modelo dimensional también conocido por cubos multidimensionales, pero debemos recordar que no es el único..

El modelo dimensional nos representa una actividad que es objeto de análisis a la que se denomina “hecho” y las dimensiones que caracterizan la actividad, estructuradas jerárquicamente. La información relevante sobre el “hecho” (actividad) se representa mediante el uso de medidas o indicadores. Por ejemplo para el hecho venta tendríamos los indicadores unidades y euros, y las dimensiones tiempo, producto, vendedor, zona, almacen, etc… Moviéndonos y cruzando dichas jerarquias obtenemos los valores de los indicadores que necesitamos.

Reflexionad un momento en porque siempre es necesaria la dimensión tiempo, pero tomaos un tiempo antes de seguir leyendo........
........
........
........
otra vez
........
........
........
es necesaria porque los humanos no sabemos tomar ninguna decisión sin hacer referencia a hechos sucedidos en el pasado, es decir sin utilizar nuestra experiencia. Recuerdo cierto episodio de Star Trek Deep Space Nine en que se encontraban con una forma de vida que no tenia la referencia temporal..... l¡¡¡¡ la comunicación era practicamente imposible !!!!!.... y tomar decisiones conjuntas mas todavía. Así que si eres humano necesitas la dimensión tiempo en tu sistema decisional.

Sigamos con las preguntas: ¿Que es un cubo multidimensional?........., pues es un almacén de información en el que calculo previamente todas las combinaciones de todos los niveles de la jeraquía de la dimensión con todas las dimensiones. En otras palabras; un “bonito” producto cartesiano que me almacena todas las combinaciones. El almacén de un hecho en concreto es lo que se denomina Datamart.


Un momento, ¿pero eso no es una salvajada?. Pues en cierto modo si, es una semiestructuración basada en la “fuerza” que nos garantiza poder acceder de forma rápida y sencilla a la necesidad decisional que nos salga en ese momento. Obviamente esto requiere de grandes cantidades de procesos de cálculo y de un almacén de datos que ya no tiene por que ser una base de datos relacional (diseñado para la transacción) sino que puede ser una de las modernas bases de datos multidimensionales, diseñadas específicamente para hacer eficiente este modelo de semiestructuración de la información.

¿Es esta la mejor forma de acometer un sistema decisional?
¿Es mi cerebro un conjunto de productos cartesianos que utilizan la dimension tiempo?
¿Como puedo agilizar entonces la toma de decisiones con un metodo tan poco "agil"?

lunes, junio 12, 2006

Tres conceptos, tres blogs

Son tres los blogs que creo que pueden ser útiles para tener una visión mas detallada, de todo aquello de lo que quiero tratar en este espacio.

El primero de ellos es el blog de Antonio Valle:

Gobierno de las TIC. Conocimiento Adquirido

Antonio es unico culpable de que yo me haya lanzado a la tarea de crear este espacio de debate. Lo conozco desde hace años y he de decir que es la persona mas parecida a un gurú que conozco. Desde hace años me hablaba de ITIL y COBIT con auténtico fervor, cuando no eran mas que pequeños embriones de los actuales estándard, y yo le escuchaba pensando que ojalá aquel conjunto de buenas intenciones se transformase en una realidad palpable. Sin duda el trabjo y el esfuerzo de Antonio Valle a permitido cristalizar este estándar en el ámbito nacional.
De nada sirve nada de lo que aqui transmitimos si no tenemos una gestión eficaz y eficiente de la TIC. os animo a que le pegueis un vistazo. ¡Gracias Antonio!

El segundo de ello es uno de los referentes a nivel nacional sobre Business Intelligence, se podría decir que allí esta "todo".
Se trata de Todo BI (http://todobi.blogspot.com/), quizás la única pega por ponerle alguna es que trata el CRM como parte de del BI, cosa con la que yo no estoy de acuerdo, pero en fin es simplemente una opinión.


El tercero es la web de Agile Spain (http://www.agile-spain.com) foro de debate el lengua castellana sobre las metodologías ágiles.

A medida que vaya teniendo tiempo añadiré algunos links más.

Espero que os sean de utilidad.

sábado, junio 10, 2006

Que son eso de las metodologías ágiles

Ya hemos visto que entiendo por Business Intelligence, así que ahora le toca el turno al otro puntal de lo que debería ser el objetivo de este espacio: las metodologías ágiles.


En el Manifiesto Ágil se definen los cuatro valores por las que se deberían guiar las metodologías ágiles.

“ Estamos buscando mejores maneras para desarrollar software y ayudar a otros a desarrollarlo. En este trabajo valoramos:
· Al individuo y sus interacciones más que al proceso y las herramientas.
· Desarrollar software que funciona más que a obtener una buena documentación
· La colaboración con el cliente más que la negociación de un contrato.
· Responder a los cambios más que seguir una planificación.
De esta manera, mientras mayor valor tengamos en la parte derecha más apreciaremos los de la parte izquierda “

Manifiesto Ágil.

Firmado por Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland y Dave Thomas.

Veamos que significa cada uno de estos valores:

1) Al individuo y sus interacciones más que al proceso y las herramientas.

Sin duda la herramienta fundamental del desarrollo de sistemas decisionales es el cerebro humano. Unas jornadas maratonianas de 14 horas de trabajo van en detrimento de la calidad del producto final. Pero una persona sola no realiza un proyecto, necesita de un entorno en el que desarrollar su trabajo y de un equipo con el que colaborar. Estas interacciones deben también cuidarse. Un factor clave para el éxito es construir un buen equipo, que se lleve bien entre ellos, y que además sepan como construir su propio entorno de desarrollo. Muchas veces se comete el error de construir primero el entorno y esperar que el equipo se adapte a él. Esto nos resta eficiencia, es mejor que el equipo lo configure en base a sus necesidades y sus características personales.

Además las interacciones que haga el equipo con el usuario final deberían ser igual de fluidas siendo este usuario un miembro más del equipo, con un objetivo común, que es conseguir que el proyecto funcione y sea útil para él.

Si todo esto funciona bien es obvio que la elección de las herramientas y el proceso mismo de desarrollo pasan a estar en un plano totalmente secundario en la ecuación del éxito del proyecto.

2) Desarrollar software que funciona más que a obtener una buena documentación

Uno de los objetivos de una buena documentación es poder ir a consultarla cuando haya que modificar algo del sistema. Sin duda es un arma de doble filo, una buena documentación actualizada en cada modificación y bien mantenida al día, te permite saber el estado de la aplicación y como realizar las modificaciones pertinentes, pero son pocos los que con las presiones externas de tiempo y dinero acaban actualizando la documentación.

En la filosofía ágil lo primordial es evitar estos fallos, la regla no escrita es no producir documentos superfluos, y solo producir aquellos que sean necesarios de forma inmediata para tomar una decisión importante durante el proceso de desarrollo. Estos documentos deben “ir al grano”, ser cortos y centrarse en lo fundamental, olvidándonos de los circunloquios que no aportan nada a la comprensión del problema.

3) La colaboración con el cliente más que la negociación de un contrato.

La consultoría informática de los últimos años se ha convertido en una lucha a muerte entre el proveedor del servicio y el cliente que lo contrata. Por una parte el cliente intenta que se hagan el mayor número de funcionalidades con el mismo dinero, por otra parte el consultor intenta que por ese dinero solo se realicen las funcionalidades contratadas inicialmente. En las reuniones de seguimiento de los proyecto es fácil oír frases del tipo “esta modificación no entra en el contrato” respondida generalmente por la tan típica “pues yo ya no tengo más presupuesto y así no podemos trabajar”. Al final este tipo de proyectos hacen que el consultor informático sea un híbrido entre analista y abogado. Desarrollando habilidades legales para salvaguardarse en caso de conflicto jurídico.
Sin embargo para que un proyecto tenga éxito la complicidad y el contacto continuo entre el cliente y el equipo de desarrollo es fundamental. El cliente debe ser y sentirse parte del equipo. De esta manera ambos entenderán las dificultades del otro y trabajarán de forma conjunta para solucionarlo.

4) Responder a los cambios más que seguir una planificación.

Una organización cambia constantemente, se adapta a las necesidades del mercado y reorganiza sus flujos de trabaja para ser mas eficiente. Es difícil pues, que en el desarrollo de un proyecto, este no sufra ningún cambio, pues es seguro que las necesidades de información de la empresa habrán cambiado y mas cuando se trata de sistemas decisionales, no siempre tomamos las decisones de la misma manera. . Son muchos los factores que alterarán nuestra planificación inicial del proyecto, si la adaptamos a estos cambios corremos el riesgo de que cuando acabemos, nuestra aplicación no sirva para nada y el cliente se haya gastado el dinero en vano. La habilidad de responder a los cambios de requisitos, tecnología, presupuestarios o estrategia, marca sin duda el camino del éxito del proyecto.

Como consecuencia de estos cuatro valores, el Manifiesto Ágil también enuncia los doce principios que caracterizan un proceso ágil diferenciándolo de otro tradicional en los que este enfoque no se había aplicado lo suficiente, siempre se había dejado implícito pero sin hacer hincapié en ellos.

I. La prioridad es satisfacer al cliente mediante tempranas y continuas entregas de software que le aporte un valor.
II. Dar la bienvenida a los cambios incluso al final del desarrollo. Los cambios le darán una ventaja competitiva a nuestro cliente.
III. Hacer entregas frecuentes de software que funcione, desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre entregas.
IV. Las personas del negocio y los desarrolladores deben trabajar juntos diariamente a lo largo de todo el proyecto.
V. Construir el proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en ellos.
VI. El diálogo cara a cara es el método más eficiente y efectivo para comunicar información dentro de un equipo de desarrollo.
VII. El software que funciona es la principal medida del progreso.
VIII. Los procesos ágiles promueven un desarrollo sostenido. Los promotores, usuarios y desarrolladores deben poder mantener un ritmo de trabajo constante de forma indefinida
IX. La atención continua a la calidad técnica y al buen diseño mejoran la agilidad.
X. La simplicidad es esencial. Se ha de saber maximizar el trabajo que NO se debe realizar.
XI. Las mejores arquitecturas, requisitos y diseños surgen de los equipos que se han organizado ellos mismos.
XII. En intervalos regulares, el equipo debe reflexionar con respecto a cómo llegar a ser más efectivo, y ajustar su comportamiento para conseguirlo.

Llegados a este punto podemos intuir que las formas de hacer las cosas están cambiando, adaptándose más a las personas y a las organizaciones en las que han de funcionar las aplicaciones.
Para completar todo esto os adjunto un link imprescindible http://agilemanifesto.org/

¿Estamos en la antesala de una revolución?. Posiblemente. ¿Pero podemos aplicar esta metodología a los sistemas decisionales o solo es aplicable a los sistemas operacionales?

Esa es mi gran duda.

viernes, junio 09, 2006

¿Qué entiendo por Business Intelligence?

El Business Intelligence (BI), o Inteligencia de Negocio, es un término de ambigua definición bajo el que se albergan diferentes acrónimos, herramientas y disciplinas: OLAP, Datawarehousing, Datamarts, Mineria de Datos, Executive Information Systems, Decisión Support Systems, Redes Neuronales, Sistemas Expertos, Cuadros de mando, Balanced Scorecards, y un largo etcétera.

BI las cobija a todas bajo su etiqueta, pero toda esta variopinta y diversificada fauna, tienen tres carácterísticas en común en el que todas coinciden.

La primera de ellas es proveer de información para el control del proceso de negocio, independientemente de donde se encuentre esta información almacenada.

Obviamente, el BI, forma parte del sistema de información de una empresa, que es el órgano que controla la ejecución y el correcto funcionamiento de los procesos que en ella se desarrollan.



En una visión clásica como la de la Figura 1 podemos ver que los procesos de transformación sufren perturbaciones externas, como pueden ser cambios en el mercado, productos sustitutivos, nuevas legislaciones, etc.. que deben ser controladas y corregidas. Además de todos es sabido que los sistemas con el tiempo tienden a la desorganización y al caos. Es por esta razón que la medición de indicadores empresariales y la comparación con los objetivos fijados es la forma que tenemos de detectar que algo esta yendo mal en nuestra organización.

Los procesos generan y consumen información durante su ejecución, una parte de ella es consumida en el corto plazo, es lo que llamamos información operacional, pero gran parte de ella queda almacenada en los diferentes sistemas transaccionales (ERP,CRM, SCM, etc…) a la espera de que puedan ser utilizadas para la toma de decisiones tácticas (medio plazo) y/o estratégicas (largo plazo).

Agrupar esta información y ponerla en el tiempo adecuado a disposición del sistema de control del procesos, independientemente de en que sistema operacional se encuentre nos ayudará a optimizar nuestros procesos, ya sean los operacionales, los tácticos o los estratégicos. Obviamente el nivel de agregación y unificación de fuentes heterogéneas de datos será mayor para los procesos de carácter decisional, y es precisamente este carácter decisional el que da una nueva impronta a la definición de Business Intelligence: la ayuda a la toma de decisiones es la segunda característica en común bajo este extenso paraguas, y sin duda la más importante de ellas.

BI, no solo se limita a presentar la información si no que da la capacidad de manipular y navegar sobre ella para poder analizar las causas. En la toma de decisiones el análisis es fundamental, no se toma decisiones con una sola información, las informaciones se contrastan, se relacionan entre si, se podría decir que están “vivas”. Esta capacidad de análisis nos garantiza tomar mejores decisiones sobre el negocio.

Y en este punto nos podemos hacer la siguiente reflexión: ¿Quién toma las decisiones con la información que le hemos entregado necesita saber de sistemas de información para interpretarla?. Obviamente no, únicamente ha de saber de negocio, de hecho solo debería saber de negocio. Y aquí nace la tercera característica del BI; la capa semántica.

No podemos tomar decisiones sobre el negocio si no hablamos el lenguaje propio del negocio, da igual donde este la información almacenada, ni como la hayamos transformado o agregado, lo verdaderamente importante es “servir” esta información al usuario final en un lenguaje de negocio que el comprenda, con el que se sienta cómodo y que no necesite interpretar a que se refiere. De esta manera, le facilitamos el trabajo para que en poco tiempo pueda tomar un decisión sobre nuestros procesos que los mejores y que nos ofrezca una ventaja competitiva en el mercado.

El enfoque del Business Intelligence esta claro: la información reduce nuestra incertidumbre (sobre algún aspecto del mercado o de nuestros procesos de negocio) y, por tanto, nos permite tomar mejores decisiones que nos pueden dar ventaja competitiva.

Como podéis ver no es una definición pero nos sirve para focalizarnos en la idea de que el éxito de una organización y de la gestión empresarial se encuentra en el uso que esta hace de la información, no podemos gestionar lo que no controlamos, si no tenemos información para controlar los procesos, estos tenderán al caos, y tampoco podemos controlar lo que no medimos, de nada sirve el mejor sistema BI si la información no ha sido introducida adecuadamente en los niveles operacionales.

jueves, junio 08, 2006

El pollo sin cabeza una manera de empezar el blog

¿Habeis visto alguna vez un pollo sin cabeza?. Dicen, que justo después de cortársela muchos siguen dando vueltas y corriendo sin sentido, de un lado para otro, hasta que caen desplomados, al cabo de unos minutos, horas, días o incluso meses, como es el famoso caso del pollo Mike en los años 50 que vivió la friolera de dieciocho meses sin ese valioso apéndice (http://www.miketheheadlesschicken.org).

Dirigir una organización sin utilizar Business Intelligence (BI), se parece mucho a esta situación, avanzas, ejecutas los procesos operacionales, parece que avanzas tus objetivos, incluso creces, pero en cuanto algo sale mal, tus procesos se descontrolan, la coordinación empieza a desaparecer y finalmente, en el medio plazo, tu organización se acaba derrumbando sobre si misma.

Quizás esta sea una visión demasiado catastrofista, pero en este blog trataré de mostrar el vital papel que el Business Intelligence (BI) juega dentro del control de los procesos organizativos.

También intentaré arrojar algo de luz sobre la enorme cantidad de acrónimos que se manejan para definir el conjunto de las metodologías y herramientas albergadas bajo este enorme paraguas del BI, pero por encima de todo intentaré compartir mi experiencia y espero que vosotros me ayudeis en uno de mis objetivos personales aunar el paradigma de las metodologias ágiles con el diseño y creación de sistemas decisionales.