¿Es la gestión de proyectos un mito? (I)

Hay un conjunto de razones que están cambiando en muchas empresas la manera de ver la gestión de proyectos y la gestión de las TI en su totalidad. Desde el lado de la demanda: la presión de los clientes internos (los líderes de negocio) por el tiempo de respuesta (el time-to-market), las TI de en la sombra (el shadow IT) y las soluciones de usuario final y autoservicio, entre otras. Desde el lado de la oferta: los modelos de entrega continua (continuous delivery y DevOps), la construcción ágil, las nuevas fórmulas de subcontratación (outsourcing), la interdependencia de las plataformas de software y las nuevas arquitecturas de componentes, entre otros. Según Gartner, las empresas vienen a gastar un 77% del presupuesto de informática en el funcionamiento ordinario de las operaciones (el run), un 13% en el mantenimiento y evolución del parque de activos (el grow) y sólo un 10% en la transformación y creación de nuevos productos (el transform). A mí (que he dedicado una parte de la carrera a la gestión de proyectos en la docencia, en la consultoría y en la gestión, y sobre la que he publicado algunos libros (1, 2), artículos, materiales y un montón de entradas en este blog) estos datos y tendencias me hacen dudar y me provocan. Y quiero compartir esta provocación con vosotros. Puede que alguno de los principios de oro en que se basó la gestión de proyectos estén ahora en cuestión y, con ellos, la profesión. Comencemos hoy y, si os interesa y me voy animando, seguiremos otros días. Un proyecto es una entidad única, distinta y separada de las operaciones. Creo que hoy esto no es ya así. La...

Introducción a las bases de datos NoSQL en grafo

Las bases de datos NoSQL ya no son una novedad sino una realidad que encontramos en muchas de las aplicaciones que utilizamos diariamente. En el pasado habíamos comentado las características de este tipo de bases de datos y su evolución. A diferencia de las bases de datos relacionales, las bases de datos NoSQL no responden a un único modelo de datos, sino a un conjunto de ellos. Actualmente existen centenares de sistemas gestores de bases de datos NoSQL, en general muy distintos entre sí. En aras de favorecer la discusión y su comparación, los sistemas gestores de bases de datos NoSQL se clasifican en diferentes familias: los basados en modelos de agregación (que se pueden agrupar en clave-valor, documental o de grandes columnas) y los basados en grafo. Con este post queremos dar inicio a una serie de entradas que sirvan de tutorial a quienes quieran aprender a utilizar bases de datos NoSQL. En esta primera entrada, empezaremos viendo qué es una base de datos en grafo, qué modelo de datos permiten gestionar estas bases de datos y mostraremos algún ejemplo de uso. En las siguientes entradas aprenderemos a utilizar Neo4j, la base de datos en grafo de uso más extendido en la actualidad, según dbengines, y veremos algunos casos prácticos. Las bases de datos NoSQL en grafo permiten representar los datos utilizando estructuras de grafos. Un grafo es una representación abstracta de un conjunto de objetos. Los objetos de los grafos se representan mediante vértices (también llamados nodos) y aristas. El modelo en grafo es útil cuando los datos a almacenar tienen multitud de interrelaciones entre sí, y...

Los coches conectados

Los coches cada vez están más conectados: cada día surgen en el mercado nuevos modelos con conexiones propias a Internet, o con clientes de redes Wi-Fi que nos dan servicios añadidos al coche conectado. En definitiva, hemos pasado de conducir un coche a estar dentro de un ordenador con ruedas y un sinfín de buses y cables de datos que controlan en todo momento el comportamiento del coche, mirando lo que pasa dentro del coche (motor y habitáculo) y lo que pasa en la carretera o en las calles de las ciudades. El coche está conectado permanentemente a los servidores, a los que envía el estado del tráfico y recibe de otros coches la misma información, pero a la larga enviará también, a concesionarios, talleres, agencias de seguros, empresa de alquiler de vehículos… todo tipo de información, de cómo conducimos y por dónde… en definitiva, del uso que se realiza del vehículo. Pero si nos centramos en las comunicaciones internas del “ordenador con ruedas” los datos están circulando entre los ordenadores internos, las ECUs, y los actuadores y sensores mediante el bus de datos CAN o LIN. Por ejemplo, estos buses se encargan de transportar un dato concreto del sensor de velocidad de cada una de las ruedas a la ECU correspondiente, para detectar sobreviraje o si una rueda se ha bloqueado, para decidir si hay o no que enviar una trama a los frenos para activar el ABS o no. Fig. 1. Ecu de vehículo Los datos son números y caracteres que circulan en claro dentro de los buses, por lo que se pueden obtener y leer. Los buses...

Análisis de datos de privacidad en bitcoin (y II)

(Trobareu la versió en català més avall) En el post anterior sobre este tema hemos introducido los componentes tecnológicos más destacados de bitcoin y también vimos brevemente cómo puede inferirse información del usuario analizando la capa de red. En este post nos centraremos en las técnicas de análisis del grafo de transacciones, las cuales permiten aprovecharse de los links que hay en la blockchain entre el emisor de una transacción y el receptor para ir siguiendo el camino entre transacciones. Así, si en algún punto de este camino podemos averiguar la identidad del usuario, entonces podremos extraer mucha información sobre su actividad económica. Este tipo de análisis ha probado ser efectivo para extraer información que muchos usuarios creían confidencial. Por ejemplo, en la Figura 1 podemos ver las conexiones entre el creador de Silk Road (marketplace para la compra/venta de drogas, armas y otros artículos ilegales) y un agente de la DEA. Para protegerse en parte de este tipo de análisis, existen unas buenas prácticas al hacer transacciones. Una de las buenas prácticas más extendidas es el uso de direcciones de bitcoin diferentes para cada transacción. Aunque esto parece obvio para no vincular dos pagos diferentes a un mismo usuario, en los primeros años de bitcoin era algo muy normal, y de hecho todavía hay usuarios que lo siguen haciendo. Figura 1: Conexión de transacciones entre el creador de Silk Road y un agente de la DEA condenado por el robo de bitcoins. Fuente Motherboard En la Figura 2 podemos ver otro trabajo donde se des-anonimizan transacciones. En este caso los autores clusterizan las transacciones y utilizan otras interacciones que hacen los...

Análisis de datos de privacidad en bitcoin (I)

(Trobareu la versió en català més avall) Aunque el público general tiene la impresión de que el bitcoin es una moneda anónima, esta impresión dista bastante de la realidad de la criptomoneda más popular. En los siguientes dos post sobre este tema, veremos que usando algunas técnicas analíticas podemos inferir información de las transacciones con bitcoins. Para empezar y situarnos, vamos a dar una pincelada sobre cómo funciona bitcoin. Bitcoin es una moneda virtual que funciona por internet, que está soportada por una estructura de datos denominada blockchain (cadena de bloques), la cual es mantenida y guardada por una gran cantidad de nodos de una red P2P. Los usuarios de bitcoin, cuando desean realizar una transacción, hacen llegar los datos de la transacción a algunos de los nodos de la red P2P, a los que llamamos mineros. Los mineros recopilan las transacciones de varios usuarios y las empaquetan en un bloque que intentan publicar en la blockchain. Cada 10 minutos aproximadamente, se publica un nuevo bloque en la blockchain, con lo que los mineros compiten entre ellos resolviendo pruebas criptográficas para tener el derecho a publicar el siguiente bloque. Como incentivo para que los nodos de la red compitan, el minero que logre publicar el siguiente bloque recibe una recompensa en bitcoins y tiene el derecho a quedarse las comisiones que pagan los usuarios por hacer las transferencias. En la red de bitcoin existen muchos mineros que reciben muchas transacciones de muchos usuarios diferentes, con lo que cada minero generará un bloque diferente. Por este motivo, entre todos los nodos de la red se ejecuta un protocolo de consenso para decidir...

Cómo aumentar la capacidad en 5G

Se ha convertido en algo habitual encontrar noticias –a menudo demasiado entusiastas o, simplemente, desinformadas- acerca de 5G, una tecnología que, según esas mismas fuentes, cambiará el modo en el cual accedemos a la información y los servicios. Ciudades inteligentes (conocidas como smart cities), coches autónomos, realidad virtual o conexiones móviles con velocidades de transmisión del orden de los Gigabits/seg son algunas de las aplicaciones que se intuyen como claves para esta tecnología. A pesar de ello, y más allá de las campañas de marketing, ¿conocemos realmente lo que será la tecnología 5G? La tecnología 5G es una evolución/revolución respecto a las tecnologías de comunicaciones móviles anteriores, conocidas como 4G o LTE-A, con algunos objetivos claros: hacer frente a un incremento exponencial del número de dispositivos móviles; aumentar la capacidad de la red por unidad de área; reducir el retardo; o conseguir velocidades de transmisión altas. Centrándonos en la capacidad de la red, la industria y la academia han propuesto 3 posibles vías simultáneas para incrementar la capacidad de la red. La primera vía es la densificación de la red de acceso mediante el despliegue de nodos de acceso (estaciones base) distribuidos en dos capas. La primera de las capas, formada por estaciones base con zonas de cobertura grande, es la denominada capa de cobertura. El objetivo de esta capa es ofrecer cobertura total –evitando zonas de sombra- y garantizar un servicio adecuado de forma ubicua. La segunda de las capas, en cambio, se denomina capa de hotspot o de capacidad, formada por las denominadas small cells, estaciones con menores niveles de potencia transmitida y desplegadas a una altura...