Demos a la Excel el reconocimiento que se merece

Aviso inicial: el siguiente texto ha sido escrito durante el confinamiento y estado de alarma a causa del COVID-19 el 18/04/2020, y siempre en tono sarcástico. No pretende más que lanzar un guiño amistoso a la herramienta, incorporando algunas anécdotas y experiencias personales, mientras es acompañada de una visión algo "fanática" en defensa de la misma con tal de mantener algo más la tensión en la lectura e intentar, como prioridad número uno, entretenernos y sacarnos una sonrisa a todos. Feliz confinamiento!

Basta ya, dejemos de ser injustos. Ya está bien de llenarnos la boca hablando de Inteligencia Artificial, Big Data, Cloud, Blockchain y Programación Cuántica.

Hace años que contamos con una de las más poderosas tecnologías, que llegó para quedarse, y que no solo sobrevive año tras año a las otras, muchas de las cuales llegan y se van como los grupos musicales famosos por una sola canción, si no que las condiciona y las fuerza a adaptarse a ella. Sí y sin duda, estamos hablando de Excel.

Ella (“la Excel”, porque para mí siempre ha sido “la” aunque seguro que para muchos de vosotros será “el” o ni tan siquiera le pongáis el artículo delante), cuenta con varias ventajas competitivas que la posicionan claramente respecto a otras tecnologías:

  1. Cualquier usuario, independientemente de su nivel de conocimiento en informática, aprende de manera muy rápida a utilizar un subconjunto mínimo de funcionalidad que le permite ahorrar tiempo y esfuerzo.
  2. Estos mismos usuarios son capaces a través de ella de resolver una inmensa variedad de problemas ligados al control y seguimiento de información numérica. Desde preparar un presupuesto para tus vacaciones de verano a controlar todos los movimientos de una flota de camiones por todo el continente, calculando los volúmenes de material transportados y por tanto su valor, los stocks remanentes en las fuentes de origen y las necesidades de material en los destinos así como las mermas durante el transporte; incorporando la capacidad de prever, realizar cálculos complejos, balances y gráficas que se actualizan en tiempo real a medida que la información es alimentada.
  3. Gracias a los puntos 1 y 2, el usuario puede alcanzar sus objetivos sin dependencias de terceros. Tanto la corrección de errores en los cálculos planteados como la incorporación de nuevos y/o adaptaciones de los mismos por cambios normativos/mejora de eficiencia pueden realizarse de manera autónoma sin requerir de ningún tipo de intermediario que ralentiza el proceso y que además consume de presupuesto a la unidad familiar, departamento o compañía.
  4. Quién mejor para definir y ejecutar las soluciones que el que tiene la experiencia del negocio en su cabeza. La eficiencia en el proceso de definición/ejecución y lo acertado del enfoque, sin ruidos y malentendidos por medio generados por terceros, es máxima.
  5. Los recálculos de información en base a las fórmulas establecidas se producen de manera inmediata y eso genera un éxtasis en la mente del usuario que maximiza su experiencia de uso. Sientes el poder en tus manos; es como un hijo.
  6. Le puedes poner coloricos y eso mola un montón.
  7. Y todos los puntos anteriores provocan una máxima para definir el éxito de una herramienta tecnológica: se-USA-de-manera-MASIVA. Boom-shakalaka!

Y sí, hasta ahora solo hemos hablado de las maravillas de la Excel en cuanto al cálculo numérico, pero, debido a su potencia, hay mucho más: millones de personas están haciendo usos verosímiles e inverosímiles de la misma.

Hay quien acumula tareas, quehaceres, realiza el seguimiento de las mismas y hasta plantea avanzados paneles kamban. Y sobre este conjunto de tareas luego se abre una brutal nueva “pestaña” llamada comúnmente “informes” en la cual se extraen millones de cálculos en base a estados de las tareas, fechas de inicio y fin, nombres de las personas responsables, volúmenes desde todos los prismas posibles y acompañados de increíbles gráficos actualizables en tiempo real. Y en 20 minutos!

Planificar bodas, crear un calendario son otros ejemplos bastante comunes aunque aquí os dejo algunos más bastante curiosos.

También ocurren a veces cosas mágicas y que hacen maravillarme una vez más al respecto de sus infinitos usos y posibilidades, como utilizarla para realizar planos para luego calcular automáticamente distancias. Reconozco que ver la imagen a continuación es la que me ha “inspirado” a la hora de escribir todo esto.

Ejemplo de uso Excel a modo plano.

Resulta apasionante!

Y sí, ya conozco las limitaciones de la misma en cuanto al uso por múltiples usuarios concurrentes (aunque el uso de O365 y Microsoft Teams ayuda sin duda a tener varias personas al mismo tiempo consultando y editando información), los problemas que puede ocasionar para explotar la información desde otros sistemas si no está dispuesta de manera normalizada, las cuestiones de seguridad, en fin… pero no me agüéis la fiesta ahora por favor que ya sé que sabéis todos un montón 🙂

Para terminar ya solo contar, desde la experiencia, que no hay mayor dificultad que sustituir en un departamento un sistema de información basado en Excel por uno nuevo. No hay mayor resistencia por parte del usuario, y más insatisfacción por la pérdida de control, pérdida de experiencia de usuario al tratar de dar solución a sus problemas con otras herramientas. Y cuántos problemas de cara a la estimación de estas migraciones? Cuántas veces habréis oído lo de “no debe ser muy complicado, lo hacen con una Excel”. Cuando se lucha contra la sustitución de una Excel en un departamento hay una infinidad de retos y más si te limitas a simplemente sustituir el sistema por otro nuevo que intenta solucionar exclusivamente los problemas de acceso concurrente y acceso restringido a la a información pero manteniendo la experiencia de usuario y la forma de presentar la información de Excel.

Y un curioso artículo que habla sobre la historia y origen de Excel.

Un abrazo a todos y feliz confinamiento!

Miguel.

Priorización al máximo nivel

Hola,

Quede descrito en avance que no soy un experto en la materia, ni pretendo serlo; ni he estudiado de esto ni parto de ningún tipo de fuente contrastada que avale nada de lo que voy a decir a partir de ahora. Simplemente me gusta compartir las herramientas que utilizo para mi propia gestión personal (cosa que no tiene que ir de la mano a que me las haya inventado yo, seguro que todas existen) y que me son útiles en mi día a día, y ese es mi ánimo ahora mismo. Solo por compartirlo me siento satisfecho, y si alguien saca alguna idea en base a esta explicación y que considera que tiene sentido poner en práctica para mejorar su día a día, la satisfacción me parecerá doble.

Dicho esto y pidiendo perdón a los expertos en la materia por si digo, o consideran que digo, alguna barbaridad… allá vamos.
La verdad es que cuando dedicas tu vida a gestionar proyectos, o como me gusta decir a mí a poner en marcha cosas y luego conseguir que una vez en marcha mejoren, te topas siempre con la necesidad de anteponer unas necesidades a otras; vamos, lo que se conoce comúnmente como priorizar. Y por qué priorizamos? (Perdonad porque la pregunta parece un poco tonta)… normalmente por la limitación existente (y dependerá del escenario) de realizar un número máximo de tareas en paralelo. Esa es la base de todo, tengo dos manos y me da para hacer 1, 2 y 3, pero 4 y 5 tendrán que esperar a que termine las anteriores porque no me da la vida para más.

Y nos pasamos el día priorizando, nuestros proyectos profesionales, nuestra vida familiar, si utilizo el hueco que tengo el fin de semana para irme al cine o verme el capítulo de la serie no se cuántos que tengo pendiente… Y oye, uno en base a la práctica adquiere destreza y se acostumbra a trabajar así porque se da cuenta que te vuelves más efectivo, y cuando conoces alguna herramienta chula de las dos mil que hay en el mercado para ayudarte a estas cosas y te pones a utilizarla también en todos los ámbitos, profesional, personal… una locura de la optimización.

Un momento que cojo aire y sigo.

En fin, que como nadie espero que se sorprenda yo soy de los que pasó a gestionar o mejorar la optimización de su vida personal con esta misma serie de técnicas y herramientas. Y oye está muy bien cuando tienes una realidad priorizada de tu ámbito laboral y otra de tu ámbito personal, al mismo nivel, y eres capaz de discernir prioridades entre ambas (lo digo para los que en un momento dado el trabajo nos ha marcado el ritmo a nivel de prioridades por lo exigente del mismo y nos ha hecho reducir de prioridad otros temas a nivel personal). Esta es mi primera reflexión clave que quería compartir, no puede ser siempre que los temas laborales sean prioridad 1 y los personales sean prioridad 2, como si fueran compartimentos estancos, si no que planteo el punto de vista de que hay verlo desde la perspectiva de que las tareas a realizar en el ámbito profesional y el personal tienen que convivir en el mismo saco y en el mismo espacio de tiempo (porque el día tiene las horas que tiene y son finitas). Buenas prácticas a este respecto son disponer de una agenda donde podáis ver al mismo tiempo los espacios temporales que os reserváis para ambos ámbitos, todo junto; y que decidáis si una tarea es más prioritaria que otra por la realidad a la que os estáis enfrentando en este momento, y no por el hecho que una tenga que ver con el ámbito profesional o el personal. La otra es que dispongáis de un gestor de tareas donde podáis incorporar tareas de ambos mundos y verlo todo junto, o uno para cada pero acudáis a consultar cada realidad paralela en el momento de definir las prioridades y a qué asignáis vuestro tiempo (yo para que os hagáis una idea, por mi contexto, utilizo Jira en el ámbito profesional y Trello en el personal).

Bueno, si conseguís llegar a poner en práctica esto creo que es un triunfo (o al menos así lo he vivido yo). No debe ser muy complicado porque a mí me ha salido, así que ánimo, es cuestión solo de ponerse.
Tras alcanzar este primer estadio, ya estaréis preparados para llegar al estadio dos, a la, cha-chán… priorización al máximo nivel (ya se me podría haber ocurrido un nombre mejor).

La película principal de este artículo se basa en la idea de que nuestra vida, y cuidado que aquí es cuando me pongo filosófico, no se basa solo en nuestros objetivos profesionales o personales, si no que tiene cuatro pilares o dimensiones fundamentales: la familia, los amigos, tú como ser individual y el trabajo. Como si fueran 4 patas de una misma mesa. Si cuidas cada una de estas patas tu mesa está en equilibro, pero si vas descuidando alguna la mesa empieza a cojear. Si tienes la suerte de que sólo cojea alguna, pues bien, pero a medida que pierdes apoyo en las mismas tu vida al completo (porque por ejemplo enfoques tu esfuerzo o priorización a una de ellas) se puede tambalear la mesa entera.
Hasta aquí bien verdad? Y qué pasa, alguno de los pilares es prioritario? Yo creo que no, que los 4 son igual de importantes y hemos de mantenerlos igualmente en equilibrio, por nuestra salud. Otra cosa es que por necesidad de mantener el equilibrio haya algún pilar que tengas que priorizar sobre otros que cuenten con un mejor estado de salud, con tal de mantener tu mesa lo más equilibrada posible.

Y cómo hago yo esto? Pues con un lápiz y un papel, que creo es importante cuando tratas temas que requieren que los trates con reflexión.
Y lo primero que hago es pintar los cuatro pilares y los represento con 4 círculos de un determinado color.

A partir de aquí me pongo a pensar qué objetivo vital quiero alcanzar en cada uno de estos grupos. Esas movidas que me llenaría conseguir, esa ilusión que me da sentido a la vida, lo que me preocupa, ese problema que necesito resolver para sentirme mejor… y los represento como círculos conectados al pilar principal al que están relacionados, en otro color. Estos círculos pueden tener diferentes niveles, en base a la profundidad que le queramos dar a cada cuestión. Incorporo a continuación algunos ejemplo a nivel ilustrativo.

Y oye, cuidado, que esto es una reflexión muy profunda, estás pintando tu vida, tus objetivos fundamentales, lo que cuando te llegue el momento y veas la luz al final del túnel te vas a arrepentir si en vida al menos no lo intentaste. Es tu vida, lo que quieres ser y lo que no.
A partir de aquí te va a tocar la desagradable tarea de pintar el estado de cada pilar (es duro porque al final vas a representar el estado en el que consideras que está tu vida), en base al estado de los temas que tienes ligado al mismo. Yo lo hago con los colores de un semáforo. Primero pinto los estados de las “movidas” ligadas al pilar, y en base a la paleta de colores que me quede le asigno un estado global al pilar (a ojímetro ya que hay temas que tienen más importancia o calado que otros).

Cómo lo ves? Pues nada, ahora en base a esta foto, que es la buena, la que te da una visión 360 grados de tu vida, prioriza, muévete y ve a por lo que necesitas para ser feliz.

Realmente si lo piensas es una chupinada de ejercicio, pero la magia de esto no es la técnica en sí misma, si no es dedicarte 1 hora, bajarte de la vida un momento, y sentarte contigo mismo a decidir cómo quieres que sea tu vida. Y cuando sabes qué quieres hacer con tu vida, y lo que no, “sólo” te quedará reunir la voluntad, la disciplina y la constancia para conseguirlo 🙂

Un abrazo y suerte!

Miguel.

Desarrollos IT como palanca para establecer procesos

Y es que estamos acostumbrados a que los desarrollos de software que implementados estén ligados mayoritariamente a la automatización de un proceso manual, lo que suele ir de la mano de una reducción de costes basada en que el tiempo que invertía hasta la fecha un determinado grupo de personas en realizar un proceso se ha reducido, lo que permite a su vez convertir ese tiempo ahorrado en tiempo para destinar a otras cosas que aportan mayor valor para el negocio, o, simplemente para eliminar tiempo ahora excedente, vamos, reduciendo personal.
También estamos acostumbrados a que los desarrollos de software eliminen costes materiales, como el papel, la necesidad de transporte, etc.
Fantástico también cuando además se combinan los dos primeros factores, claro.
Hay más casos, como por ejemplo cuando los desarrollos de software permiten medir indicadores complejos del negocio de manera inmediata, y darte diferentes vistas de datos que te permitan tomar decisiones y definir estrategias.
Es curioso ver también que existen desarrollos de software que lo que permiten es generar mayor relación entre personas, generando valor en forma de relaciones de negocio. Cómo algo que tiene una base tan poco personal y que resulta de todo menos cercana puede usarse como herramienta para generar relaciones.
En fin, y llegando al quit de la cuestión, hay organizaciones que plantean los desarrollos de software como palanca para establecer procedimientos de trabajo en áreas donde no existe ningún tipo de normalización. Es una especie de “vais a tener que pasar todos por el tubo señores”, porque a partir de ahora todo el mundo si quiere realizar un tipo determinado de solicitud deberá hacerlo por aquí.
No digo que este último modelo me parezca mal, ni tan siquiera que no funcione. Aunque creo que en estas situaciones y antes de realizar una gran inversión en una herramienta o en el desarrollo de una herramienta específica hay que realizar una reflexión al respecto de la cultura de trabajo del grupo afectado; me explico. Tal vez antes de pasar de la gran secada a la gran remojada haya que atacar otras cosas, como las relaciones personales establecidas en el grupo objetivo, sus motivaciones, sus objetivos, su formación… Incluso antes de ponerse manos a la obra en definir grandes procedimientos y pasarlos a implementarlos en grandes herramientas tal vez sea bueno establecer procedimientos más sencillos soportados por herramientas mucho más básicas que incluso nos podamos permitir el lujo de “tirar a la basura” tras la puesta en práctica del primer prototipo real. Habrá que pensar en cómo migrar los datos acumulados, pero bueno, todo tiene solución.
Un saludo.
Miguel.

Listas SharePoint y Excel, una solución rápida y sencilla para compartir información

Hola,
No es el objetivo de esta entrada el cubrir un manual de creación de listas en Sharepoint, ni de conectividad entre listas y Excel, ni de Excel Services, ni de crear pivot tables en Excel; simplemente son un conjunto de ideas en base a estas tecnologías a aplicar por los interesados. Por otro lado, todo de lo que se va a hablar aquí está pensado sin realizar ningún desarrollo sobre el producto, es usando el estándar.
Y ahora sí empezamos.
Es increíble ver como las organizaciones resuelven muchos problemas del día a día a través de Excel. No sólo se resuelven problemas pequeños o que solo afectan a la organización de una persona, en ocasiones Excel es la solución para resolver procesos complejos, almacenar grandes cantidades de datos, realizar cálculos costosos, compartir datos con un número importante de interlocutores y todo de la mano de una explotación de datos digna de un modelo avanzado de análisis.
Bajo mi punto de vista Excel sea seguramente uno de los productos más exitosos de Microsoft, puede más incluso que el propio sistema operativo, siendo uno de sus mayores éxitos el que con unos conocimientos básicos permita al usuario solventar sus problemas del día a día de manera inmediata.
Pero claro no todo puede ser perfecto y a la hora de compartir datos con otras personas empiezan los problemas, la validación y entrada de datos, la edición simultánea de la información por más de un usuario se vuelven un problema, el consumo de la información incorporada en los ficheros Excel por aplicaciones externas, el acceso controlado a la información, etc. Aún usando un gestor documental donde almacenar los ficheros y activando el bloqueo para que dos usuarios no puedan estar modificando el fichero al mismo tiempo seguimos con los problemas de entrada de datos y con el problema de que no pueden trabajar varias personas de manera simultánea, teniendo que esperar que la otra persona desbloquee el fichero para poder trabajar.
¿Qué posibles soluciones tenemos para esto si contamos con la posibilidad de disponer de un portal Sharepoint en nuestra compañía y Excel instalado en nuestro equipo local? (o Excel Services en el mismo servidor de SharePoint, que ya hablaremos de eso al final)
Pues de golpe solucionamos problemas como la introducción simultánea en el mismo repositorio de datos, el acceso limitado a las personas de nuestra organización que queremos que puedan acceder a dicha información establecimiento permisos de lectura y/o escritura, el acceso de otras aplicaciones a la información. Y lo mejor, sin perder la potencia que nos da Excel para la visualización del dato y su explotación posterior.
¿Cómo? Pues creando el conjunto de Listas de SharePoint necesarias para almacenar nuestra información. Una lista es lo más parecido a una tabla de base de datos, pero que se puede crear muy rápidamente por un usuario no experto y con un nivel de dificultad bajo. Podemos incluir diferentes tipos de datos, ciertas validaciones, búsquedas, incluso relaciones con otras tablas. Adicionalmente a cada una de las listas podemos establecerle permisos de acceso, pudiendo a ciertos usuarios no darles visibilidad sobre la lista, a otros solo permisos de lectura y a otros de escritura. Incluso a la hora de definir la escritura es posible dar un control total o sólo permitir modificar los registros que un usuario ha introducido.
La edición de la lista es inmediata a través del propio interfaz web y de manera sencilla, permitiendo que diferentes usuarios y a través de su navegador web puedan introducir datos de manera simultánea. Es posible además a través de la web realizar simples filtros de la información y ordenaciones. Es posible crear fórmulas y generar columnas específicas basadas en otras columnas a partir de fórmulas (no es Excel aquí, pero bueno bien para cosas no muy complejas).
Relacionar tablas y traerte campos de las otras tablas en una nueva tabla es posible, pero solo para las columnas de tipos sencillos (textos, fechas y poco más). Aquí está un poco más flojo y hacer según qué virguerías a nivel modelo relacional y tercera forma normal es algo complicado si no usas tipos básicos.
Una vez los datos están introducidos, estupendo, ahora nos queda explotar los datos, crear tablas, pivot table es sencillo a través de una de las opciones de exportación a Excel que consigue enlazarte la lista con Excel pudiendo pasar a tener toda la potencia de los datos de siempre.
Y sí, crear más de una conexión de datos a más de una lista es posible, pudiendo actualizar al momento los datos y ver cómo se recalcularme los gráficos así como incorporar nuevas columna en Excel con cálculos específicos. Una vez los datos están en Excel ya jugamos con las reglas de juego de siempre.
Y el nivel superior es disponer de Excel Services en Sharepoint para que los Excel que tengamos de consulta de datos se puedan consultar haciendo transparente todo el tema de conexiones a listas y autenticación del fichero.
En resumen, la magia está en introducir los datos en Sharepoint y utilizar Excel solo para la explotación de los datos.
Un saludo.
Miguel.

Trabajando con Visual Studio en tu Mac

Bueno,
Mientras no llegue Visual Studio 2015 me temo que no tenemos otra forma que utilizando una máquina virtual con Windows sobre la que instalemos la versión de Visual Studio con la que queramos trabajar.
La guía en el siguiente artículo de la MSDN
https://msdn.microsoft.com/es-es/library/windows/apps/jj945424.aspx
Feliz Navidad!
Miguel.

Visual Studio Code Analysis

Hola,
A continuación un buen artículo al respecto de esta herramienta de análisis de calidad de código .NET, muy recomendable para dar la puntilla de calidad de vuestro código y ayudaros a identificar problemas de eficiencia, seguridad, estilo de codificación, etc.
Y todo esto integrado en el propio Visual Studio de serie en la versión Professional (se incorporó desde la versión 2012, en la 2010 se requería de una licencia Ultimate).
Artículo
Abrazos.
Miguel.

ITRP

Hola,
Para los que necesitéis trabajar con sistemas de ticketing en vuestros servicios de mantenimiento, más que recomendado, https://www.itrp.com.
Entre otros temas:
* Ofrecido como SaaS
* Integración con Team Foundation Server entre otros
* Seguimiento de SLAs
* Configuración de plantillas para diferentes tipos de ticket
* Asignación rápida de incidencias a problemas
* Multi-proveedor de servicios
* Plantillas para respuestas pre-configuradas, accesible de manera rápida para problemas activos
* Se licencia por usuario operador, no hay coste por usuario estándar (creador de tickets)
Un abrazo.
Miguel.

Proyectos de Base de Datos en Visual Studio 2010

Hola,
Unos  interesantes artí­culos que describen cómo realizar un manejo básico de los proyectos de Base de Datos en Visual Studio 2010.
https://www.codeproject.com/Articles/245612/Creating-a-Database-Project-with-Visual-Studio
https://msmvps.com/blogs/deborahk/archive/2010/05/02/vs-2010-database-project-an-introduction.aspx

Un saludo.