viernes, 16 de agosto de 2013

¿A quién le notificamos los cambios?


En un sistema moderno los usuarios son participados en forma
permanente acerca de cada cambio que ocurre en los asuntos que
les conciernen. Pero hay detalles sofisticados en la definición
de estos procesos
No cabe duda que los sistemas de información modernos son más sofisticados que los que hacíamos en otras generaciones.  Es natural. Ahora podemos hacer más y lo hacemos. Los conocimientos y las tecnologías son más evolucionados.  Esa sofisticación se traduce para el usuario de aplicaciones modernas en que ahora, al menos en general,  hacer las cosas debe resultar más sencillo que antes. Pero  la sofisticación también incluye la complejidad. Es un hecho que ahora, en el rol de usuarios finales, podemos hacer cosas que antes no las considerábamos porque eran complicadas. Si cambiamos ahora el punto de vista a las perspectivas de los que construyen las aplicaciones, la sofisticación significa que hoy hay más cosas para especificar. Debemos hacernos preguntas sobre temas de los que antes quizá ni siquiera hablábamos. Es claro que alguna gente tiene ahora que preguntarse cuál es la mejor manera de construir y mantener un robot en la superficie de marte y que antes, cuando esto no existía como posibilidad,  la pregunta no se hacía. Con esta introducción hoy queremos profundizar a partir de una pregunta simple: ¿A quién le notificamos los cambios de estado que ocurren en un sistema?

Lo primero en que debemos hacernos conscientes es que los sistemas de información modernos notifican en forma sofisticada. Una premisa elemental es que todos los usuarios tienen, al menos, una dirección de correo electrónico y que, a través de ella, debe ser participado de los cambios que ocurren en la información de los sistemas y que tienen que ver con ellos.

Las experiencia de compra a través de la red, por ejemplo, nos muestra que al menos los cambios básicos, que el sistema reconoce que hicimos una orden, que nuestra orden fue despachada y que lo que ordenamos se considera entregado se nos informa por defecto en un sistema bien comportado. A partir de allí podemos enterarnos de estados intermedios de nuestra orden, por ejemplo, que lo que ordenamos está en tránsito entre un punto A y un punto B.  Así funciona un sistema moderno.

Notemos entonces de nuevo algunos aspectos de Arquitectura de información de los que hemos hablado: la información está constituida por objetos de información (ver Estructuras de información) y la dinámica de la información (ver Dinámicas de información) se traduce en que estos objetos cambian de estados (ver Transiciones de estado). De lo que se trata entonces es que un sistema moderno, sofisticado, debe informar acerca de las transiciones de estado a los usuarios involucrados (ver Diseño de notificaciones...). Si ahora tomamos la perspectiva del que diseña o del que construye una aplicación moderna debemos hacernos la pregunta de ¿A quiénes notificamos?

La respuesta también es sofisticada y tiene sus aristas. Cada estado definido dentro de un objeto de información de un sistema es un punto de llegada y un punto de partida. Los cambios son transiciones. Esas transiciones tienen que estar asociadas a comunidades de usuarios y lo normal (y el punto de partida por defecto) es informar en la ejecución de cada transición a todas las comunidades de usuarios asociadas a ella. Pero hay dinámicas de construcción de procesos dentro de estas dinámicas de producción (¡que sofisticación!): cuando estamos definiendo los mensajes a quienes debemos notificar es a los usuarios que participan en esta tarea, cuando creemos que los mensajes están listos debemos notificar a los validadores de los procesos, en principio, personas diferentes. Y cuando ya el proceso está definido, los mensajes deben llegar a las personas miembros de las comunidades involucradas en la transición misma (y no a los constructores y validadores de procesos).

La observación interesante es que todo esto es Arquitectura de información. Algo que no es software ni ingeniería sino diseño de procesos de información, de sistemas de información sofisticados, de esos que ahora podemos hacer y que hacemos y que socialmente marcan nuestra cotidianeidad de forma diferente. Los gerentes de información deben conocer la necesidad de este trabajo de Arquitectura de información en la fase de diseño de cualquier sistema moderno, independientemente de las herramientas de gestión de conocimiento, de información, de documentos o de software con la que vayan luego a construir sus sistemas.

No hay comentarios: