Sobre el valor de los Sistemas y Tecnologías de la Información

¿Cuánto valen o qué valor aportan los productos y servicios informáticos? Por ‘valor’ (en sentido económico) entendemos “una medida del beneficio que se puede obtener de bienes o servicios” [1].  Muchos economistas (y otros pensadores) han adoquinado la historia con sus teorías del valor: desde T. de Aquino a R. Nozick, pasando por A. Smith, D. Ricardo, K. Marx, L. Walras o J. Schumpeter, por citar solo algunos muy señeros. Dimensiones del valor económico No parecen haber alcanzado los expertos  una teoría común sobre el valor (como se acepta que la hay  sobre la cosmogénesis o la evolución). Quedémonos con dos grandes polarizaciones: el debate sobre la naturaleza “objetiva o subjetiva” del valor; y la dialéctica “valor de uso vs valor de cambio” (la paradoja del diamante de Adam Smith). La cuestión es que, cuando queramos comparar, priorizar, elegir, necesitaremos recurrir al ‘valor de cambio’ y a su referente, la moneda. Según el propósito y la circunstancia interesan uno u otro de los paradigmas. (Es algo así como lo de la partícula y la onda, pero aún menos claro). Nos interesan estos temas para poder reflexionar sobre el valor de sistemas y tecnologías de la información en concreto y —por ejemplo— su inclusión o no y su priorización y administración en nuestra cartera (portafolio) de inversiones del próximo año. Algo a lo que el profesor José Ramón Rodríguez ha dedicado un post reciente en este blog. Permitidme hoy una excursión un poco teórica sobre las paradojas del valor en sus diferentes dimensiones. Un ejemplo de la primera dicotomía resultará claro para quienquiera que en esta crisis haya querido/necesitado vender...

Sobre el Gobierno Triangular de los SITI

Presento en estas líneas unas reflexiones sobre el gobierno [1] corporativo de los SITI [2] y su distribución triangular en empresas y otras organizaciones, reflexiones que son una reedición resumida de un anterior artículo mío [3]. La norma ISO/IEC 38500:2015 Governance of IT for the Organization define la Gobernanza de las TI (“gobernanza, que es distinta de la gestión”) como “El sistema por el cual se dirige y controla el uso, actual y futuro, de la TI” [4]. En 2012, Gartner [5] definió “gobernanza” [de las TI], como el proceso de «Establecer los derechos de decisión y responsabilidad; y (…) políticas alineadas con los objetivos del negocio (…) Equilibrar las inversiones (…) Establecer medidas para monitorizar el cumplimiento de decisiones y políticas (…) dentro de las tolerancias de las decisiones (gestión del riesgo)». ISACA define la gobernanza empresarial como “un conjunto de responsabilidades y prácticas ejercidas por el consejo de administración y la dirección ejecutiva con el propósito de aportar dirección estratégica, asegurando que se alcanzan los objetivos y que los riesgos se gestionan apropiadamente y verificando que los recursos de la empresa se usan de forma responsable” [6]. E iTTi, en su Manifiesto sobre Gobierno Corporativo de TI dice [7] que es “el conjunto de mecanismos de alto nivel (estructuras y relaciones, normas y procesos de toma de decisiones) dirigidos a determinar el porqué, el para qué y el cómo de la aplicación y uso de las TI; y a evitar oportunamente, y superar resilientemente, las consecuencias no deseadas del referido uso. La responsabilidad sobre la rendición de cuentas en torno al uso que se hace de las TI recae en el consejo de administración u órgano de gobierno equivalente....

Frameworks de JavaScript en el lado del cliente en 2017

En un post anterior ya hablamos sobre la evolución del desarrollo web del lado del cliente. Tal como anunciamos entonces, hoy es el turno de los frameworks del lado del cliente. Los frameworks no son nuevos en el desarrollo de aplicaciones de gran envergadura. De hecho, la mayoría de lenguajes consolidados tienen una gran variedad de frameworks. Por ejemplo en el mundo Java son ampliamente conocidos Java Server Faces (JSF), Struts o Spring; en PHP encontramos Laravel, Yii o Symfony. Las principales ventajas que aportan los frameworks son las siguientes: Desarrollo rápido. Crear un proyecto desde cero suele conllevar un elevado coste en tiempo. Por eso, los frameworks proporcionan la estructura del proyecto y un conjunto de bibliotecas preconfiguradas que ahorran tiempo en el comienzo de los nuevos proyectos. Muchas tareas son delegadas a los frameworks permitiendo a los desarrolladores centrarse exclusivamente en las funcionalidades de su software. Incorporación/Rotación de nuevos miembros a los equipos de desarrollo. Uno de los mayores problemas en el desarrollo de software es la rotación de miembros en los equipos de desarrollo, puesto que la incorporación de un nuevo miembro conlleva un coste en aprender la arquitectura del proyecto. Esto es minimizado utilizando un framework, ya que éste obliga a adaptarse a una arquitectura concreta, de modo que cualquier persona que conozca el framework podrá incorporarse rápidamente al desarrollo de cualquier aplicación basada en ella (puesto que conoce la manera de trabajar del framework), minimizando el coste para la empresa. Seguridad/Rendimiento. Los frameworks suelen ser creados y mantenidos por equipos de desarrollo diferentes y externos a nuestra organización. Esto permite que esta organización esté...

Evolución del desarrollo web del lado del cliente

En los últimos años ha habido una gran demanda de desarrolladores de software debido a la inclusión de los sistemas informáticos en prácticamente todo los aspectos del día a día de las personas. A las clásicas demandas de tecnologías tales como C, C++, JAVA, .NET, SQL han surgido un nuevo elenco de nuevas tecnologías tales como JavaScript, ECMAScript, nodeJS, AngularJS, React, Angular 2.0+, VueJS, ember, gulp, webpack, TDD, BDD, CI, CD, etc. El nuevo conjunto de tecnologías que se solicitan como puestos de trabajo pertenecen al desarrollo de aplicaciones web. Una de las mayores críticas de los profesionales del sector (Ingenieros y desarrolladores en general) es el rápido cambio de tecnologías que sufre el desarrollo Web en el lado del cliente (o front-end). Historia del lenguaje de programación JavaScript Antes de poder afrontar los últimos avances en el desarrollo de aplicaciones Web hay que comprender por qué y cómo se ha llegado a esta situación, y para ello se va a presentar la evolución que ha sufrido el desarrollo del lado del cliente hasta llegar a nuestros días (Julio 2017). Hay que retomarse a los orígenes de la Web cuando existían principalmente dos navegadores Web populares para los usuarios: Internet Explorer y Netscape. Internet Explorer hasta hace poco ha sido el navegador por excelencia de la compañía Microsoft y es sobradamente conocido por la mayoría de los lectores, hoy en día ha sido sustituido por Microsoft Edge. Menos conocido es el navegador Netscape, el cual fue el primero que plantó cara al dominio de Internet Explorer y del cual deriva hoy en día Mozilla Firefox. Para el desarrollo de scripts...

Una nueva contribución encaminada a facilitar la gestión de nodos multiprotocolo de Guifi.net

(Trobareu versió en català més avall) Durante el primer semestre de 2017, Eloi Carbó, uno de los estudiantes de TFM del Máster Universitario en Software Libre de la UOC, ha desarrollado un proyecto de investigación y desarrollo de software en el contexto de las redes abiertas en general y de Guifi.net en particular. Esta red implementa diferentes protocolos y paradigmas técnicos para interconectar usuarios situados en tramos de red diferentes. Uno de los problemas que tienen que afrontar los administradores es la correcta integración entre estos tramos de red con diferentes tecnologías de comunicación. El proyecto “LEDE Firmware optimization for wired deployments using BGP and BMX6 for routing by enhancing and extending Bird Daemon’s configuration and UI integration” pretende abordar dos problemas fundamentales: En primer lugar, depurar y completar con nuevas funcionalidades las herramientas disponibles para configurar de forma gráfica, mediante una interfaz web, determinados nodos de red que emplean BGP, uno de los protocolos que hacen posible las comunicaciones entre proveedores de acceso a Internet. Esto permitiría a los administradores gestionar la configuración de los diferentes protocolos sin necesidad de acceder a línea de comandos, cosa que generalmente puede ser un impedimento para administradores menos experimentados. Además, con esta interfaz se consigue esconder la complejidad de configuración bajo una interfaz amigable, eliminando la necesidad de aprender la sintaxis específica de la herramienta utilizada (Bird Daemon). En segundo lugar, investigar cuál sería la mejor manera de modificar el código fuente de uno de los programas empleados a tal efecto (Bird Daemon), para añadir integración con nuevas herramientas de supervisión y control de las comunicaciones y así obtener información de...