domingo, 4 de marzo de 2012

Creando infografías

Por cuestiones que no vienen al caso, tuve que pensar en como comunicar gráficamente muchos datos, métricas e indicadores, para que un auditorio no técnico comprenda claramente lo que se quería comunicar.

Esa tarea era algo desconocido para mi, ya que me gusta ver y analizar infografías, pero nunca puse a pensar como comunicar muchos datos de manera simple. Fué un gran desafío para mi.
En primer lugar pensé cuales eran las variables que quería mostrar (las cuales eran muchas), y luego vino la parte mas creativa, pensar como acomodar la información y luego la parte mas práctica, como llevarlo a una imagen.

Con respecto a como acomodar la información, caí en la cuenta de que lo que quería mostrar era la relación entre elementos (nodos), e indicar de alguna manera gráfica el peso que tenía esa relación entre los mismos. Además, debía indicar algunas otras métricas relacionadas a cada nodo. Por lo que decidí acomodar los nodos y sus relaciones como grafos, y que las relaciones mostraran con el grosor el peso que tenían. Para llegar a esto no fue que me dormi y al levantarme se me había ocurrido, sino que sumé mi lectura asidua de infografías a la búsqueda activa en http://vi.sualize.us. Es muy bueno para buscar inspiración (creo fervientemente que la creatividad no es mas que acomodar de otra manera ideas existentes).

Para terminar, la parte práctica la llevé a cabo con la herramienta de diseño open source Inkscape (descargable de http://inkscape.org). Después de probar varias alternativas open source al Photoshop y Corel Draw, me quedé con esta, por la cantidad de posibilidades que brinda, y la versatilidad de uso que tiene. Realmente es muy buena. La única contra, es que solo permite exportar a png, pero no es algo que me moleste demasiado.

En conclusión, tuve un día en que me puse el gorro de diseñador gráfico y realmente la pase bastante bien.

jueves, 9 de febrero de 2012

NLTK - Bitácora - La instalación

Gratamente motivado por un proyecto que estoy encarando, estoy aprendiendo NLTK (Natural Language Toolkit), una serie de herramientas de Python enfocadas en el procesamiento informático del lenguaje natural, siendo este el lenguaje que utilizamos los humanos para comunicarnos.
¿Para que me sirve procesar el lenguaje natural utilizado por los humanos? En el extremo simple, para contar la cantidad de veces que se repite una palabra o frase. En el extremo mas complejo, para lograr una comprensión de lo que se quiere transmitir con una porción de texto, y lograr conclusiones o acciones sobre dicha comprensión.
Sin meterme demasiado mas sobre la explicación del procesamiento del lenguaje natural (haré un post cuando tenga una comprensión mayor del tema), paso a comentar los pasos que hice hasta ahora.
Instalé las librerías y herramientas necesarias para poder trabajar con NLTK. Seguí las instrucciones de la documentación pública del toolkit (http://www.nltk.org/download), por lo que el primer paso, la instalación, fue dado.
Ahora, solo resta ponerse a aprender en base a ejemplos, para ir haciendo cosas mas complejas a futuro.

domingo, 8 de enero de 2012

¿Cual es el tamaño ideal de un equipo de arquitectura empresarial?

Según estuve leyendo en Gartner, establecen que según sus investigaciones el tamaño ideal de un equipo de arquitectura empresarial va inicialmente entre un 2% y un 4% del número total de personas que forman parte del área de IT de una empresa. No me cierra de esa frase que supone que Enterprise Architecture es solo IT, cuando tiene una gran relación con la tecnología, eso es cierto, pero también tiene mucho de estrategia y conocimiento del negocio.
No creo que se pueda establecer una relación tan clara y fuerte entre el tamaño de un equipo de EA y el área de IT, en primer lugar por lo antedicho, y en segunda instancia porque es necesario tener en cuenta muchas variables que son propias de cada organización, entre las que se me ocurren:
  • El alcance que el área de EA tiene en la organización, ya que no es lo mismo un área que solo se encargue de definir la estrategia de la arquitectura aplicativa, que aquella que tenga dentro de sus funciones la definición de la estrategia de negocio, la arquitectura tecnológica y aplicativa y la definición de tendencias del mercado.
  • El nivel de madurez de la organización, ya que si la organización ejerce una planificación estratégica ordenada, se requiere menos esfuerzo de arquitectura para llevarla adelante.
  • El presupuesto alocado por la organización para las iniciativas de arquitectura hará crecer o decrecer la cantidad de personas que formen el grupo de EA.
  • La madurez en la gestión de los proyectos, y la facilidad para hacer que cada proyecto tenga dependencia de las definiciones de EA definirá el nivel de esfuerzo requerido, y por ende la carga de trabajo que hará aumentar o decrecer al equipo.
Es necesario tener en cuenta muchas cuestiones para definir el tamaño del equipo, y no creo que exista una receta para definirlo. Pero creo que un buen comienzo es la definición de las actividades que realizará el equipo de arquitectura, los entregables que brindará y el nivel de servicio que se espera dar al resto de la organización. En base a esto, sumado a la cantidad de proyectos en ejecución y planificados y el nivel de participación, la tarea de definir el tamaño y capacidad de un equipo de arquitectura no es muy distante a la definición de un equipo para un proyecto cualquiera.

Organización de un equipo de EA

Una buena manera de establecer la organización de un equipo de arquitectura empresarial es tener en cuenta las funciones que debe cumplir el área, el valor que dicha función le brindará a la empresa, y la relación con los procesos de la empresa (como el ciclo de vida de desarrollo o el proceso de planificación estratégica).
Según lo veo, las funciones que cumple un área de arquitectura empresarial se pueden resumir en las siguientes:
  • Definición, que cubre la creación y establecimiento de políticas, estándares y guías base, que son el entregable para ordenar la estrategia de arquitectura de los diferentes proyectos de la organización.
  • Control, asegurando que los proyectos cumplan las políticas, estándares y guías base, y detectando la necesidad de cambio de dichos entregables definidos (ya que los mismos deben evolucionar y no quedar estancos). Esta función debe entregar un reporte del cumplimiento, excepciones o evoluciones necesarias.
  • Acompañamiento de los diferentes proyectos, cumpliendo la función de consultor en cualquier etapa de los proyectos IT, y guiando sobre el cumplimiento de las políticas, estándares y guias base establecidas. Obtiene también información de los proyectos como retroalimentación al repositorio de información de arquitectura y a la planificación arquitectural. No solo se participa como un consultor que aporta conocimientos técnicos, sino también de estrategia y de negocio.
  • Transferencia de conocimiento a todos los stakeholders de la organización o a quien requiera contar con los conocimientos generados por el área de arquitectura. Estos conocimientos no solo están relacionados a lo definido por la función de definición, sino también a lo que al área de EA conozca por su participación en todos los proyectos o la investigación sobre tendencias.
  • Investigación, que es una función mas que importante, ya que sienta las bases de los conocimientos necesarios para permitir una evolución constante de la arquitectura para brindar siempre el valor requerido.
  • Velar por que los activos generados por arquitectura (relacionados a arquitectura aplicativa, arquitectura de datos, arquitectura técnica, etc.) se encuentren actualizados y sirvan para la función que fueron creados, representar el cúmulo de información necesario para conocer el estado actual y establecer el estado futuro de la arquitectura.
Luego, es necesario mapear cada una de estas funciones a los procesos organizacionales, determinando claramente el valor que la función de EA le brindará a la o las etapas relacionadas. De esa forma, se comunicará claramente a los stakeholders el valor brindado (también es importante encontrar la forma de medir el retorno y el valor generado).
Teniendo estas funciones como base y el mapeo con los procesos organizacionales, se cuenta con una base para planificar la organización del equipo, establecer la cantidad de personas que deben formar el equipo de arquitectura, y comunicarlo a las personas adecuadas para la ejecución del plan de EA.

jueves, 1 de diciembre de 2011

Sobre la impresión de fotos y el poder de las redes

Esta semana tuve una experiencia interesante. Todo empezó hace seis meses, cuando compré en Groupon una promo para imprimir 50 fotos digitales a un muy buen precio, en Megaphoto.
Obviamente, recién recordé hacer el pedido menos de un mes antes de que se venciera el cupón, y porque me avisó Groupon. Entonces elegi las fotos, e hice el tan esperado pedido. Ahí empezó la historia.
Luego de esperar 5 días (el tiempo en que Megaphoto atiende los pedidos de sus clientes según su sitio) Me informan que los pedidos de Groupon se atienden con 15 días de demora en lugar de 5. OK, acepté las nuevas opciones (en realidad no vi la letra chica del cupon). Por cuestiones que no vienen al caso, el pedido cumplió un mes, y yo aún no tenía mis fotos. ¿Que hice? Me puse en contacto con Megaphoto vía mail, obteniendo una respuesta bastante inesperada. Su excusa fué que no podían haber previsto que el 45% de los pedidos por Groupon fueran hechos el último mes, por lo que tenían un retraso y el pedido estaría en esa semana. Otra vez, me mordí los labios y espere.
Esta semana fué que mi paciencia colapsó, e hice uso de una herramienta sobre la cual siempre utilicé para informarme o para estar en contacto con amigos y conocidos, pero nunca para reclamar: Facebook y Twitter. Escribí en el muro de Megaphoto copiando a Groupon, y publique mis quejas en twitter mencionando a Megaphoto y Groupon. A la hora tuve la respuesta de groupon interesado en saber cual era mi problema, y Megaphoto recién respondió a Facebook al día siguiente de la publicación, pero eliminando la misma (la respuesta vino por mail directo a mi, y luego un llamado telefónico). Finalmente hoy ya tengo las fotos en mi poder.
No se que hubiera pasado de no ser por mi incursión en las redes sociales para quejas, pero lo que si se es que resultó mi acción tal como esperaba, sacando algunas conclusiones interesantes de todo esto:
  • Siempre ver las letras chicas de los cupones, sea cual sea su proveedor
  • Confiar en Groupon, su atención es realmente muy buena
  • No confiar en Megaphoto
  • Cuando tengo que hacer un reclamo, usar las redes sociales. Nada hiere mas a una empresa que su reputación social.
  • Si tengo una empresa en algún momento, y la misma tiene perfil social, nunca eliminar las quejas de mis clientes. Responder por el mismo canal que hicieron el contacto. Megaphoto actuó muy mal eliminando el comentario (parece que solo dejan las publicaciones que hablan bien de ellos)