slide1

Alt1040. Noticias acerca de Internet, diseño, música, cine, opiniones, weblogs y medios

Es uno de los weblogs de tecnología más seguidos de la blogosfera hispana.

slide2

Bitelia. Blog de software, internet y servicios web

Software y aplicaciones para mejorar tu vida, guías de uso, trucos, listas, noticias y todo sobre tecnología.

slide3

Xataka. Publicación de noticias sobre gadgets y tecnología.

Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc.

slide4

Wwwhatsnew. Aplicaciones, marketing y noticias en la web.

Servicios que os pueden ser útiles para dibujar, gestionar tareas, hacer amigos, encontrar restaurantes...

slide5

Fayerwayer. Discusiones y opiniones de lo ultimo en tecnología y gadgets

Con secciones dedicadas a Internet, Software o Redes Sociales es un referente a nivel de tecnología en español.

20 de febrero de 2017

EOI Escuela de Organización Industrial lanza su segunda edición del programa gratuíto de aceleración internacional "European Coworkings"

Iniciativa dirigida a emprendedores españoles (50 plazas disponibles) de todos los sectores, con un proyecto en fase temprana de desarrollo o con una empresa de reciente creación (no más de 24 meses antes de su incorporación al programa) y un claro perfil internacional, con el objetivo de mejorar las competencias y acelerar sus proyectos empresariales.




Es requisito indispensable enviar un vídeo de máximo 3 minutos de duración, explicando EN INGLÉS los siguientes puntos:

  • en qué consiste tu proyecto empresarial (temática, sector, por qué decidiste crearlo).
  • cuáles son los principales retos a los que se enfrenta tu proyecto en este momento.
  • por qué te interesa este programa de aceleración europeo.
European Coworkings EOI es un programa gratuito cofinanciado por el Fondo Social Europeo de Empleo, Formación y Educación. El programa financia todos los gastos de formación y mentorización a los emprendedores incluyendo una estancia gratuita de 5 semanas en un centro de Emprendimiento/Innovación en Europa.

Dentro de la convocatoria, se destinarán diez plazas a propuestas de economía verde, vinculadas a las áreas de sostenibilidad, medioambiente, energías renovables, eficiencia energética ...

Los proyectos serán tutorizados por mentores de centros de emprendimiento/innovación ubicados en países de la Unión Europea: Inglaterra, Alemania, Francia, Portugal, Italia, Hungría, República Checa, Suecia, Austria, Polonia y Bulgaria. Todas las actividades del Programa se desarrollarán en Inglés, por lo que es imprescindible dominar este idioma (hablado y escrito).

El emprendedor podrá exponer sus preferencias en cuanto a qué centro le interesa más, atendiendo al país destino o a la temática predominante en el centro que mejor encaje con su proyecto empresarial. Sin embargo y en última instancia será EOI quien elabore la distribución final de los emprendedores entre los diferentes centros europeos.

El período lectivo comprende desde el inicio de las sesiones online de formación grupal hasta la finalización de la última fase de mentorización online posterior al viaje.

Se prevé comenzar las actividades a principios de Abril y desarrollar la estancia de los emprendedores en los centros europeos entre Mayo y Junio 2017, siendo éstas fechas aproximadas.

La finalidad es que, al concluir el proceso, cuenten con un plan solvente de aceleración o internacionalización de sus proyectos y que puedan beneficiarse del networking con la comunidad emprendedora europea. Asimismo, el objetivo último es la creación de una Red Europea de Mentores en Emprendimiento.

De cara a potenciar el networking, se celebrará en España un evento donde emprendedores y mentores podrán contar su experiencia, así como exponer historias de éxito y obstáculos hallados durante el proceso de aceleración de los proyectos empresariales.

Se admiten solicitudes hasta el 12 de marzo.


Solicita tu plaza: EUROPEAN COWORKINGS [2ª EDICIÓN]
Mail de contacto: europeancoworkings@eoi.es

Experiencia de emprendedores de la primera edición:
European Coworking EOI - Youtube (se abre en ventana aparte).




23 de enero de 2017

Alternativas a Google Feed API para añadir a tu web artículos de un blog

En el post Google Api hicimos mención a las APIs de Google que permiten acceder a múltiples servicios de forma muy sencilla. Una de las características de Google Feed Api era la posibilidad de integrar artículos publicados en cualquier blog en nuestra web, a modo de tablón de anuncios o sección de últimas noticias.


Desafortunadamente, Google ha decidido dejar de dar soporte a esta funcionalidad (Google Feed API Subject to the Deprecation Policy)

No obstante, existen otras opciones útiles para tal propósito.
En este post voy a hacer especial hincapié en estos tres servicios por su facilidad de uso:

  • FeedBurner: es un proveedor de gestión de fuentes web propiedad de Google. Proporciona herramientas de gestión de fuentes web RSS a bloggers, podcasters, y otros publicadores de contenido basado en tecnología web.
  • Yahoo Query Language: la plataforma YQL (Yahoo! Query Language) permite consultar, filtrar y combinar datos a través de la web mediante una única interfaz. Utiliza una sintaxis similar a SQL y puede leer información en formato HTML, XML, JSON, RSS, Atom y microformato devolviendo el resultado en formato xml o json.
  • Rss to Json online converter: se trata de una api creada por un desarrollador independiente que ofrece documentación en https://rss2json.com/docs con ejemplos funcionando en lenguajes de programación como Javascript, PHP, Ruby o Python.

Feedburner

El servicio FeedBurner permite convertir el Feed (Fuente o Canal web) de cualquier blog en un fragmento de código HTML para integrar en tu página web.
En el post "FeedBurner: como añadir entradas de un blog a tu web, sin plugins y en una línea de código." doy instrucciones precisas para utilizar esta api.
Vas a poder comprobar que el 100% es configuración dando como resultado un línea de código para integrar en tu blog o web.
<script src="https://feeds.feedburner.com/hipertextual/index?format=sigpro" type="text/javascript"></script>

Yahoo Query Language

Este servicio web de uso público presenta pocas limitaciones (Información de uso de esta api) y parece ser una opción válida para la visualización de canales RSS de recursos externos.
Dispone de una consola YQL Console que podemos utilizar para realizar consultas in situ y una guía YQL Guide para obtener más información sobre la creación de consultas.

<script>
  var mycallback = function(data) {
    var entry = data.query.results.rss.channel.item;
    var container = document.getElementById("feed"), date;
 for(var i = 0; i < entry.length; i++){
  dv = document.createElement("div");
  date = new Date(entry[i].pubDate);
  dv.innerHTML = '<a href="' + entry[i].link + '" target="_blank">' + entry[i].title + '</a><br/>' + date.toDateString().substr(4) + '<br/><div class="article">' + entry[i].description.substring(0,600) + '...</div>';
  dv.innerHTML += '<hr/>';
  container.appendChild(dv);
 }
  };
</script>
<div id="feed"></div>
<script src="https://query.yahooapis.com/v1/public/yql?q=select * from xml where url = 'http://feeds.feedburner.com/hipertextual'&format=json&callback=mycallback"></script>

Rss to Json online converter

La web facilita una caja de texto para introducir la url de un feed válido.
A continuación, pulsamos el botón Convert to Json y obtenemos la respuesta del documento en formato json.

<div id="feed"></div>
<script>
(function(){
 var url = "https://hipertextual.com/feed";
 var xhr = createCORSRequest("GET","https://api.rss2json.com/v1/api.json?rss_url="+url);
 if (!xhr) {
   throw new Error('CORS not supported');
 } else {
  xhr.send();
 }
 xhr.onreadystatechange = function() {
  if (xhr.readyState==4 && xhr.status==200) {
   var responseText = xhr.responseText; 
   var result = JSON.parse(responseText);
   var container = document.getElementById("feed"), entry = result.items, date;
   for(var i = 0; i < entry.length; i++){
    dv = document.createElement("div");
    date = new Date(entry[i].pubDate);
    dv.innerHTML = '<a href="' + entry[i].link + '" target="_blank">' + entry[i].title + '</a><br/>' + date.toDateString().substr(4) + '<br/><div class="article">' + entry[i].content.substring(0,600) + '...</div>';
    dv.innerHTML += '<hr/>';
    container.appendChild(dv);
   }
  }
 }
})();
function createCORSRequest(method, url) {
    var xhr = new XMLHttpRequest();
    if ("withCredentials" in xhr) {
        xhr.open(method, url, true);
    } else if (typeof XDomainRequest != "undefined") {
        xhr = new XDomainRequest();
        xhr.open(method, url);
    } else {
        xhr = null;
    }
    return xhr;
}
</script>


Escribimos este fragmento de código dentro del cuerpo de nuestro documento html y sustituimos la url 'https://www.tecnoblog.guru/feeds/posts/default' por la de nuestro feed. También podemos modificar el número de entradas a mostrar representado entry.length por un número entero.

Éste es el resultado final:




19 de diciembre de 2016

¿qué son las empresas unicornio?

Los unicornios son compañías privadas en fase de startup o startup avanzadas, que no están cotizadas y que valen más de mil millones de dólares estadounidenses. Antes eran practicamente un mito y ahora están conquistando los mercados con negocios disruptivos debido a que se requiere menos dinero, recursos físicos y humanos para sacarlas adelante.


Éste fue el término elegido en el año 2013 por la inversora neoyorquina Aileen Lee para definir a las compañías tecnológicas que alcanzaban un valor de un billón de dólares en alguna de las etapas de su proceso de aumento de capital sin cotizar en bolsa.

Y lo hizo escribiendo un artículo en la publicación web de iniciativas empresariales TechCrunch cuyo titular es "Welcome To The Unicorn Club: Learning From Billion-Dollar Startups".

A los pocas horas de su publicación, el término era comentado por inversores, analistas, y cientos de personas lo comenzaron a utilizar en sus conversaciones y en los despachos y pasillos de Silicon Valley.

¿Qué aportan al mercado las empresas unicornios?

Las empresas unicornios tienen como característica un crecimiento rapidísimo y un valor que alcanza los 1.000 millones de dólares.
Aportan al mercado un modelo de empresa muy vinculado a las redes sociales y destinado al consumidor final.
Las empresas unicornio son buques insignias, tienen mucho protagonismo en los medios de comunicación e influencia en la cultura.
Arrastran mucho talento y tienen la capacidad de atraer dinero a un territorio, algo que vemos claramente en Estados Unidos.

¿Cuáles son sus principales ventajas?

Rompen las reglas del mercado y aportan soluciones disruptivas.
Al apoyarse en las redes sociales, conocen muy bien lo que quiere el cliente y consiguen acercarse al consumidor, obtener su confianza, darle las necesidades que pide. Todo ello conlleva que consiga un número muy alto de clientes en muy poco tiempo.

¿Sus características?

Son empresas con equipos muy jóvenes, alrededor de los 34 años.
Llama la atención que no suelen tener mujeres al frente. Solo hay dos mujeres responsables de unicornios y no hay CEOs en el resto.
La mayoría de las unicornios han nacido en San Francisco, donde se dan varios factores para que surjan: talento, inversores y dinero.

¿Por qué Estados Unidos ha tomado la delantera?

La mayoría son americanas gracias a un ecosistema muy particular y dónde se apuesta claramente por este modelo.

En España, las valoraciones suelen ser más bajas (40 millones de euros) y faltan ejemplos en la cultura empresarial.
Tampoco la legislación ayuda pues el sistema fiscal carga el ahorro y el trabajo. Se necesitan beneficios fiscales para invertir en este tipo de compañías.
Tampoco el sistema laboral, muy poco flexible, logra atraer talento externo.

En Europa la situación es parecida aunque poco a poco están despegando.

Fuente: BBVA Innovation Center

Infografías muy interesantes acerca de su distribución por inversores, valoración, países, sectores y año de fundación.







Imagenes usadas con autorización de MDirector (haz click para aumentar su tamaño)





21 de noviembre de 2016

6 sugerencias para mejorar tu diseño web móvil

Recientemente, Google señaló que el volumen de consultas de búsqueda en dispositivos móviles había sobrepasado la cantidad de consultas en ordenadores. Aquella declaración junto con las recientes actualizaciones de algoritmos nos lleva a concluir lo siguiente: las páginas web bien diseñadas están ganando más valor.

Los sitios para ordenadores que no se ajustan a la norma son susceptibles de presenciar una marcada disminución en las clasificaciones SEO y en el tráfico.

¿Y qué significa esto para los diseñadores web móviles y profesionales del marketing?

Si no has creado una página web móvil o no has implementado en la que tienes funciones responsive, es probable que estés perdiendo ranking SERP y tráfico valioso porque es probable que la mayoría de los usuarios visiten la web desde sus teléfonos.

Una estrategia de contenidos puede ser muy efectiva o un fracaso absoluto...
Échale un vistazo a estos errores imperdonables: 6 desastrosos errores de diseño que arruinarán tu SEO

A continuación presentamos 6 sugerencias que necesitas saber para actualizar tu página web a los modernos estándares móviles.

1. Entender la usabilidad

La usabilidad es sin duda el aspecto más importante de una página web para dispositivos móviles. Solo pensemos en lo siguiente: ¿comprarías un vehículo inestable? El mismo ocurre con una página web, los usuarios no quieren visitar un sitio que no pueden usar.

Para comenzar, visualiza tu página web desde tu móvil. Si tienes que hacer zoom para leer el contenido y requiere de muchos intentos para navegar por una nueva página, entonces obtuviste una clara visión de la experiencia móvil que ofreces a los usuarios.

2. Una página web responsive no siempre es la mejor respuesta



Según la página web que tienes, querrás considerar el desarrollo de un tema responsive que se adapte al navegador del usuario o a la resolución del dispositivo. Sin embargo, algunas veces esto no se logra y en su lugar hay que optar por una página web personalizada para tu smartphone.

Construir un sitio móvil tiene sus beneficios. Por ejemplo, el desarrollo es más sencillo que integrar el responsive en un sitio existente. Por lo general los costos son significativamente menores. No obstante, una página web adicional requiere mantener dos diferentes bases de códigos y subir contenido a ambos.

Cualquiera que sea la ruta que decidas tomar, se necesita investigar para garantizar la opción más adecuada a tu modelo de marketing y negocio a largo plazo.

3. Entender las necesidades actuales de los usuarios

Comprender las necesidades de los usuarios consiste en mucho más que simplemente incluir alguna de las últimas tendencias de diseño y dar por concluido el trabajo. Necesitas investigar a profundidad tu nicho.

Echa un vistazo a las páginas móviles de la competencia (en especial aquellas que te superan en ranking) para analizar el tipo de funciones de diseño incluidas, la estructura de su contenido y la facilidad en la funciones principales del sitio web. Luego puedes observar e implementar algunas de las funciones a tu página web.

Muchas veces no es suficiente analizar lo que quieren los usuarios. Son necesarios algunos datos concretos para tomar una decisión informada. Ya sea que decidas entre un par de landing pages, una estructura de contenido o la elección de estilo y estructura, una prueba dividida podría ser una buena forma de tomar la decisión.

4. Define la estructura de contenido para que sea compatible en todas las plataformas



Cuando se trata de móviles, estructurar el contenido de forma lógica y estética es una parte fundamental para el proceso de diseño móvil.
Las principales consideraciones son:

  • La tipografía necesita ser elegible
  • La navegación debe ser fluida y dinámica (recordemos aquellos íconos hamburguesa)
  • Incluye botones grandes y fáciles de hacer clic
  • Establece el contenido del blog de forma moderna
  • Reemplazar las palabras por los íconos (simples palabras como casa, contacto, o registro a boletín se pueden asignar un ícono que es más sencillo de interpretar y mejora la estética de la página)

5. Enfocar la atención del usuario con funciones de llamada a la acción

Los botones de llamada a la acción (CTA) sin duda son una de las funciones más importantes que se integran en una página web. Ya que su objetivo es influenciar al usuario a completar una acción determinada, necesita ser accesible y lo más obvia posible dentro de la página. Una efectiva CTA genera conversiones, incrementa las interacciones y definitivamente es algo que no debemos pasar por alto.

De la misma manera que ocurre con las UI en los ordenadores, los botones CTA móviles son por lo general audaces y llamativos. Destacan de la página de contenido y llaman al usuario a hacer clic. La forma del botón puede también jugar un gran papel cuando se trata de interacción y conversiones.

Si bien mucho del diseño de CTA se abre a interpretación, algunas de las mejores prácticas para móviles son:

  • Colores audaces, llamativos. Algunas veces el color principal de tu marca funciona bien. En otros casos se requiere de un color de contraste alternativo para sobresalir
  • Muchos botones móviles tienen el mismo ancho que el área de texto para un diseño fluido
  • Despejar un poco de espacio en la parte superior e inferior del botón ayudará a dirigir la atención a la llamada a la acción
  • Menos es más. Las palabras breves e inspiradoras funcionan mejor para incrementar los clics

6. Mantener en mente la continuidad de la marca



La continuidad de marca es la mejor práctica a través de todas las áreas de diseño, y el marketing de tu negocio y una página web móvil no es la excepción. Es importante que la mayoría de los esquemas de colores, gráficos, y logos se comuniquen efectivamente desde móviles. Aunque debido a la falta de espacio en la pantalla, puedes omitir ciertos objetos por el bien del diseño.

Si un usuario que visitó tu página desde un ordenador decide visitar tu página móvil y no reconoce de inmediato tu marca, entonces estás haciendo las cosas mal.

La continuidad de marca es un fuerte signo de confianza y debe cultivarse lo más pronto posible durante el diseño, los esfuerzos de marketing y todas las facetas disponibles de tu marca.

Una página web móvil es una extensión de tu marca y debe tratarse los detalles con el mismo respeto y atención como con un sitio web para ordenadores.

* Artículo cortesía de Mariana Barreto *



Mariana Barreto Galindo


Gerente Comercial en Staff Digital, Agencia de Diseño y Marketing Digital






5 de octubre de 2016

Llega la tercera edición del Tech Experience Conference


¿Cansado de asistir a eventos en los que solo ofrecen un ponente y un buen catering? Hoy os quiero presentar un evento totalmente diferente a lo que hayáis asistido antes, la tercera edición del Tech Experience Conference.


Se trata de un evento dónde harás networking con otros profesionales a través de la tecnología y la gamificación durante una jornada de conferencias sobre innovación tecnológica, marketing digital y neuromarketing.

Algunos de los ponentes confirmados son Noelia Arroyo, directora de transformación digital de Grupo Prisa; Victor Ronco, director de marketing digital de Danone, y Jorge Jusdado, director de marketing de Philips.

Para fortalecer el networking entre los asistentes, la organización del evento ha preparado varias actividades de gamificación, por ejemplo: los asistentes al llegar al evento recibirán una carta de póker. El juego consistirá en encontrar quien tiene una carta igual que la tuya entre los asistentes y si lo consigues tendrás un masaje gratis!

Las Startups también tendrán un papel importante durante el evento.
Habrá un Startup Pitch Competition, pero no en un formato convencional con un jurado como estamos acostumbrados a ver, sino que, tú como asistente tendrás un papel importante. ¿Cómo? Se cogerán 30 personas aleatorias de la audiencia para participar en un experimento de neuromarketing en el que se les pondrán unos guantes especiales para medir sus emociones cuando están escuchando las Startups, y la ganadora será la que haya provocado más emociones positivas!

Sin duda, un evento donde el asistente será partícipe de todas las actividades del evento y tendrá una oportunidad única de conectar con el resto de asistentes y ponentes para hacer negocios.

Fecha del evento: 10 de noviembre en la Antigua Fábrica Estrella Damm de Barcelona.

Más información del evento en www.techexperienceconference.com/barcelona





A través de mi blog estoy sorteando 5 entradas general pass para el evento. Sólo tienes que rellenar éste formulario para participar. Mucha suerte!




Si no puede visualizar el formulario, acceda a la siguiente página:
https://docs.google.com/forms/d/e/1FAIpQLSeISAfsTLFJZK7_SUlBLwqAMWO9fEiVXCdeKEY2jApvYSYOpw/


26 de septiembre de 2016

¿Vivir para siempre? Google lo cree posible

¿Puede Google vencer a la muerte?
Ésto es lo que se preguntó la mítica revista Time en una portada de 2013, cuando el gigante de los buscadores anunció su intención de plantar cara al envejecimiento, a través del proyecto Calico, su compañía biotecnológica.


Y es que está convencido de que podemos vivir más y mejor, por eso está invirtiendo miles de millones dólares en ciencia, con el objetivo de revolucionar el mundo de la medicina.

Hace unos días la empresa de Sillicon Valley hizo pública su alianza con Sanofi, una farmacéutica francesa, para luchar contra la diabetes, una dolencia que afecta a 400 millones de personas en todo el mundo.
Las dos empresas han unido fuerzas para trabajar en pequeños aparatos electrónicos que permitan recoger y almacenar gran cantidad de datos, así como en software que utilicen esa información para encontrar nuevas fórmulas contra la enfermedad. Un mal que alcanzará los 592 millones de afectados en el año 2035, según la Federación internacional de la diabetes.



Este no es, ni mucho menos, el primer paso que ha dado Google en su lucha contra el desorden. Hace dos años presentó sus lentillas inteligentes con la intención de hacer el día a día de los diabéticos más sencillo.

Con el paso de los años, los científicos han investigado diferentes fluidos corporales que permitiesen conocer la glucosa en sangre -y evitar así a los pacientes la molestia de tener que pincharse varias veces al día- sin demasiado éxito.

Y como al buscador no le gusta quedarse atrás se puso las pilas e ideó en sus laboratorios semisecretos sus famosas lentillas, que constan de chips y sensores minúsculos y de una antena más fina que un pelo humano, capaces de medir los niveles de azúcar en sangre una vez por segundo.



Sin embargo, este no es el anuncio más sorprendente que ha hecho Google desde que su vocación científica comenzó.

El neurocientífico Bill Maris, ex presidente de Google Ventures -brazo inversor de Alphabet, que es la empresa matriz de Google-, dejó a todos boquiabiertos el año pasado cuando anunció que es posible vivir 500 años.

Su objetivo: "hacer que en 20 años la quimioterapia parezca algo primitivo", para esta tarea Google invirtió en 2015 más de 400 millones de dólares.

Aunque acapare toda la atención, Google no es la única empresa tecnológica con ganas de revolucionar el panorama científico.
Intel, uno de los grandes en Sillicon Valley, anunció hace unos días su unión con la farmacéutica Teva para mejorar la calidad de vida de los que padecen la grave enfermedad de Huntington.
Ahora, las dos empresas trabajan juntas para lanzar un wearable (tecnología ponible) que mide el progreso de la enfermedad.
Los pacientes deberán llevar un reloj inteligente y utilizar un móvil que incorpora una tecnología de detección, para medir de forma continua el funcionamiento del cuerpo y los movimientos.
Los datos recogidos por los dispositivos serán transmitidos de forma inalámbrica a la nube, y almacenados en una plataforma creada por Intel, para evaluar la gravedad de los problemas motrices.



Una nueva ola de weareables está por llegar, Apple, Samsung, están desarrollando potentes aplicaciones relacionadas con la salud.

Gracias a la constante investigación, las empresas tecnológicas están consiguiendo marcar la diferencia, como es el caso de Dell en su lucha contra el cáncer pediátrico.
Hace más de una década que la compañía tecnológica acumula datos en su plataforma de análisis genómico, lo que le permitió donar todo aquello que había acumulado en la nube a la investigación contra el neuroblastoma, un tipo de tumor muy raro, y consiguió así aumentar la capacidad de secuenciación y análisis del TGEN (siglas en inglés del Instituto de Investigación Genómica de Arizona) en un 1.200%.



Con la explosión de las nuevas tecnologías -cada vez más rápidas, más potentes y con más capacidad- se abre la puerta a un mundo de avances sin precedentes, que parece mostrar que el futuro de los descubrimientos médicos y científicos dependerá, en gran medida, de nuestra capacidad de procesar y analizar una cantidad masiva de datos (Big Data).

Las tecnológicas, que tienen un papel protagonista en esta tarea, ya han emprendido el camino para que un día, no tan lejano, todo esto sea posible.

* Artículo cortesía de Beatriz Díaz *


Beatriz Díaz Pérez


Redactora y corresponsal en Agencia EFE Linkedin




18 de julio de 2016

¿En qué idioma hablará el Internet de las Cosas?

Un término relativamente nuevo ha llegado para quedarse entre nosotros durante mucho, muchísimo tiempo es el "IoT", "Internet of Things" o, en perfecto castellano "Internet de las Cosas".
¿No te suena? En el artículo de hoy vamos a aclarar qué significa y qué trascendencia tendrá en nuestras vidas este paso tecnológico, pero también dedicaremos unas líneas a intentar dilucidar qué implicaciones tendrá el IoT en algunos temas tan importantes como son la traducción web, la desaparición de ciertos idiomas en Internet, el papel de las empresas españolas en este nuevo escenario tecnológico, etc.

Qué es el Internet de las Cosas


El término IoT significa, simplemente, la conexión digital de los objetos que utilizamos a diario con la red de redes, con Internet.
Parece un término nuevo, pero fue acuñado el último año del siglo pasado por una eminencia del MIT, Kevin Ashton, actual CEO de una de las empresas privadas con mayor crecimiento en los Estados Unidos desde su creación en 2010: Onnit Labs.

A finales de los 90, Ashton y otros investigadores ya veían venir el proceso lógico de la conexión de personas a través de Internet:

La conexión de las cosas con la red de forma autónoma e independiente para construir una sociedad digital en la que los objetos utilizaran el Big Data para facilitar la vida del ser humano.


Explicado de esta forma, parece que el Internet de las Cosas es pura ciencia ficción, pero muchos hogares y consumidores ya disfrutan de aparatos y objetos que intercambian información con la nube de forma autónoma e independiente al ser humano:

  • frigoríficos que detectan la presencia o ausencia de algunos alimentos determinados y hacen un pedido al supermercado.
  • zapatillas de deporte que recogen el número de kilómetros que recorre su propietario y los incorporan a una base de datos de rendimiento físico.
  • inodoros inteligentes que analizan la orina y alertan al centro médico si detectan alguna anomalía.
  • ...
La lista de dispositivos y capacidades es tan amplia como fascinante.
Ahora mismo estamos casi empezando, pero al parecer, de aquí a cinco años existirán en el mundo cerca de 50.000 millones de objetos conectados de forma autónoma a Internet, desde bombillas a ropa de deporte, pasando por frigoríficos, lavadoras, televisiones, sistemas de calefacción, etc.


Una revolución digital que globalizará aún más esta sociedad nuestra de cada día. Y esta reflexión nos lleva a otras no menos importantes:

¿La popularización del IoT significará en la práctica que desaparecerá nuestro idioma?

¿Cómo afectará el IoT a la traducción web actual?

¿En qué idioma se comunicarán los dispositivos entre sí y con la nube? ¿Sólo en inglés?.

El IoT hoy en día


A pesar de que el IoT "nació" el siglo pasado, todavía queda muchísimo por hacer y por decidir, entre ellas, el idioma en el que tendrá que redactarse la programación de los objetos para que se conecten digitalmente a Internet.
Actualmente los informáticos están utilizando los lenguajes de programación con los que se sienten más familiarizados como, por ejemplo Java, Javascript, C, C++, Python.

Pero la complejidad de la programación, lo ambicioso del proyecto y, por qué no decirlo, los miles de trillones de euros y dólares que generará la explotación del Internet de las Cosas ha provocado que tres pesos pesados del sector estén invirtiendo en desarrollar nuevos lenguajes de programación creados ex profeso para optimizar el IoT: Apple, la Fundación Mozilla y Alphabet, más conocida como Google Inc.

A pesar de que Apple se adelantara en su tiempo al desarrollo de dispositivos IoT ha sido la antigua Google la que está asombrando a propios y extraños sobre todo por la velocidad con la que está haciendo realidad sus proyectos e investigaciones.

Alphabet eligió el marco de la Feria Tecnológica más importante de Estados Unidos para dar el "bombazo IoT" del año: la CES 2016 de Las Vegas.
Allí, Google presentó a "Wave" y "Brillo", sus dos nuevas plataformas de comunicaciones para productos creados exclusivamente para el Internet de las Cosas.

¿Un par de ejemplos?: Kwikset, la cerradura sin llaves fabricada por Kwikset Corporation que funciona con móviles Android que se comunican gracias a la plataforma Wave o el sistema completo de control domótico (calefacción, alarma, etc.,) desarrollado por Harman utilizando los protocolos de comunicación de Brillo.

El IoT y los idiomas


Como te imaginarás leyendo el párrafo anterior, hoy por hoy podemos decir que el IoT habla sobre todo un idioma: el inglés.

¿Qué ocurre en España? ¿Hay desarrolladores y programadores IoT que estén pensando en español? ¿El tejido empresarial está apostando por esta interesante vía de presente y de futuro? Los datos que hemos encontrado nos hacen pensar que no.
De hecho, España está a remolque de esta tecnología incluso desde el punto de vista de la fabricación o la implantación de dispositivos IoT en las empresas.

Según un informe publicado el año pasado por la Consultora Accenture (https://newsroom.accenture.com/news/industrial-internet-of-things-will-boost-economic-growth-but-greater-government-and-business-action-needed-to-fulfill-its-potential-finds-accenture.htm) un 60% de las empresas de nuestro país ni siquiera se han planteado la posibilidad de que invertir en dispositivos IoT pueda revertir positivamente en sus cuentas de resultados.
De hecho, apenas un 4% de los gerentes y directivos consultados creen sinceramente que el Internet de las Cosas pueda aportarles algún beneficio, ni económico, ni de imagen de marca, ni de consolidación de reputación social corporativa.

Un dato curioso para terminar:

- existe un proyecto llamado "Observatorio del Internet de las Cosas" (http://iot-spain.com/), cofinanciado por el Ministerio de Industria, Energía y Turismo y el Gobierno Vasco en el marco del Plan Avanza 2. En su portal web se supone que tendríamos que encontrar todo tipo de información sobre el IoT en nuestro país, pero la última entrada de su web data del 9 de febrero del 2016.

Con este panorama: ¿qué lenguaje crees que hablará el Internet de las Cosas en el futuro? ¿El español?

* Artículo cortesía de Marta Barrero *



Marta Barrero


Responsable de Comunicación en Okodia | Grupo traductor

BIO

Me apasiona la tecnología, bailar y todo lo que tenga que ver con los idiomas. Sé que es una combinación rara, pero si lo piensas bien, puedes hacer las tres cosas a la vez. Si no fuera multitarea, no sería yo..

Twitter: @okodia
Facebook: facebook.com/okodia
Google Plus: plus.google.com/+Okodia
Linkedin: http://www.linkedin.com/company/okodia





13 de junio de 2016

Gestión de proyectos software con Git y Github

Desde su nacimiento en 2005, Git ha evolucionado y madurado para ser fácil de usar, es tremendamente rápido, completamente distribuido, muy eficiente con grandes proyectos como el núcleo de Linux (manejo eficiente de velocidad y tamaño de los datos) y tiene un increíble sistema de ramificación (branching) para desarrollo no lineal (miles de ramas paralelas).

GIT

GIT es un gestor de proyectos software desarrollado por Linus Torwalds para Linux y diseñado para desarrollo distribuido.

Cada desarrollador trabaja de forma independiente en su propio repositorio y sincroniza el repositorio con otro cuando lo necesita.
Uno de los repositorios puede utilizarse como repositorio de referencia.

Tutorial Web y eBook: http://git-scm.com/book/es

Proyecto, directorio y versión


El directorio del proyecto

  • Un proyecto se suele gestionar en un directorio (o carpeta): el directorio contiene todos los ficheros del proyecto.
  • Explorador de ficheros: muestra el contenido de un directorio gráficamente.
    Hacer clic sobre un objetos gráfico ejecuta un comando predefinido.
  • Terminal de comandos: ejecuta comandos en directorio de trabajo.
    El directorio de trabajo asociado es la base de las rutas (paths) relativas y los objetos se identifican con rutas (paths) absolutas o relativas.
Historia de un proyecto

  • Historia de un proyecto: es la historia de cambios en el directorio del proyecto.
  • Versión (Commit): punto de la historia del proyecto que puede ser restaurado (reconstruido).
  • Se debe consolidar versión en los puntos del desarrollo que deseemos poder volver atrás en el futuro.
  • Versiones frecuentes facilitan el mantenimiento y la legibilidad de un programa.
Árbol de versiones

  • La rama principal del proyecto se denomina master: es la historia de cambios en el directorio del proyecto.
    Una rama suele realizar un desarrollo separado.
  • Las ramas se suelen integrar en master, una vez acabadas.
Repositorio y Versión

  • Un repositorio git es un "directorio donde gestionar versiones".
    Se puede guardar o restaurar versiones. Las versiones se guardan en el directorio oculto .git
  • Versión (commit): directorio (proyecto) congelado en un momento determinado, incluyendo todos sus ficheros y subdirectorios.
Identificador de versión (SHA1)

  • Cada versión generada por GIT se identifica con un número aleatorio único (clave SHA1).
    Ejemplo: 973751d21c4a71f13a2e729ccf77f3a960885682.
  • GIT permite equipos de desarrollo distribuidos: los repositorios se pueden clonar sin problemas (ninguna versión en ningún otro repositorio utilizará el mismo identificador).
Colaboración y Firma

  • GIT esta pensado para trabajar en grupo: toda operación va firmada por su autor.
    Al configurar GIT se da el nombre y email del autor.
  • Un usuario puede copiar o clonar otro repositorio y continuar el desarrollo por su cuenta sobre la copia.
  • Dos repositorios pueden volver a sincronizarse.

Configurar GIT

# El comando "git config" permite manejar opciones de configuración. 

# Las opciones configuradas pueden afectar a distintos ámbitos (proyectos): 
#    - Para todos los proyectos en el sistema.  
#       Usar opción --system. La configuración se guarda en /etc/gitconfig
#    - Para todos los proyectos del usuario.  
#       Usar opción --global. La configuración se guarda en ~/.gitconfig
#    - Sólo para el proyecto actual.  
#       Sin opción. La configuración se guarda en .git/config 

# Consultar todas las opciones existentes: git help config

# Para firmar correctamente contribuciones y versiones debemos configurar:
$ git config --global user.name "Pedro Ramirez" 
$ git config --global user.email pramirez@dit.upm.es

# Consultar el valor de todas las opciones configuradas:
$ git config --list  
user.name=Pedro Ramirez 
user.email=pramirez@dit.upm.es
color.ui=true 

# Consultar el valor de una opción:
$ git config user.name  
Pedro Ramirez

Ayuda

# Ayuda en línea de comandos: 

$ git help          # Muestra lista con los comandos existentes 

$ git help comando  # Ayuda sobre comando especificado 

$git help add       # Ayuda sobre el comando add

$ git add --help    # Equivalente a anterior
$ man git-add       # Equivalente a anterior


# Manual de referencia, chuletas, videos, otros enlaces: 

http://git-scm.com/doc

http://ndpsoftware.com/git-cheatsheet.html 

https://na1.salesforce.com/help/doc/en/salesforce_git_developer_cheatsheet.pdf 

GITHUB

GITHUB es el portal de repositorios GIT: https://github.com

Ofrece un enfoque social y colaborativo: red social para compartir proyectos software.

Los repositorios públicos son gratis, los privados de pago: cuenta con más de 20M (Linux, Eclipse, jQuery, RoR, etc)

Gestión de organizaciones y proyectos software:

  • Soporta equipos de desarrollo distribuidos, abiertos o privados.
  • Uso y acceso muy sencillo a versiones, tareas, bugs, ...
  • Herramientas para desktop (MAC y Windows)
  • Incluye muy buenos tutoriales.

GITHUB: registro y ayuda

#   Lo primero es crear una cuenta y una vez creada, debemos seguir sus instrucciones para:

#  1) Configurar y conectar con GITHUB nuestro GIT local:

https://help.github.com/articles/set-up-git/

#  2) Instrucciones para crear y clonar repositorios:

https://help.github.com/articles/create-a-repo
 
#  3) Instrucciones para colaborar en proyectos software distribuidos:

https://help.github.com/articles/be-social/


Subir un repositorio local a GITHUB

# Para subir un repositorio local a GITHUB debemos:
 
#  1) Crear un repositorio vacío en GITHUB con New Repository

#  2) Configurar repo. remoto origin con repositorio vacío

$ git remote add origin https://github.com/pepe/proy1

#  3) Hacer push de rama master local a origin

$ git push -u origin master # -u "tracking reference"

Fork: Copiar un proyecto en GITHUB

# Fork permite copiar un repositorio (proyecto) en nuestra cuenta en GITHUB
# 
#  -> Una vez copiado (clonado) tenemos acceso a él y podemos evolucionarlo

Contribuir a un proyecto GITHUB

# La forma habitual de contribuir a un proyecto en GITHUB es seguir estos 4 pasos: 

#  1) Crear una copia del repositorio original en GITHUB con "Fork" en la cuenta propia 

#  2) Clonar la rama creada en nuestra cuenta en nuestro ordenador local 

p1> git clone https://github.com/pepe/proy1

#  3) Modificar el proyecto local, realizar commit y "push" a nuestra copia en GITHUB 

p1> ...........
p1> git add ... 
p1> git commit -m '.........'
p1> git push origin master 

#  4) Hacer "Pull Request" desde nuestra cuenta en GITHUB pidiendo al administrador del 
# repositorio original que introduzca nuestros cambios 

GITHUB App for MAC & for Windows


GITHUB App es una herramienta gráfica muy eficaz para gestionar proyectos git localmente en el PC. Solo está soportada para MAC y para Windows.

  • Permite ver y gestionar el directorio de trabajo del proyecto y los cambios realizados,
  • Ver las versiones de un proyecto (historia) y los cambios realizados en cada versión.
  • Ver y gestionar las ramas de un proyecto y su sincronización con repositorios remotos.
Descargar (e instalar) GITHUB para MAC: https://mac.github.com
Descargar (e instalar) GITHUB para Windows: https://windows.github.com


Extracto del curso "Desarrollo de servicios en la nube con HTML5, Javascript y node.js" impartido a través de la plataforma online MiríadaX.
El curso incluye también el despliegue de servicios de servidor en la nube e introduce técnicas básicas de ingeniería software.



6 de junio de 2016

Alojar páginas web con Google Drive no será posible a partir del 31 de agosto de 2016

Google lo lleva anunciando desde hace cerca de un año: "la función de alojamiento de páginas web desde Google Drive dejará de estar disponible a patir de agosto de 2016".
En su blog oficial, explica las razones y ofrece la posibilidad de compra de un dominio a través de su plataforma Google Domains.


Llevo haciendo uso de este servicio desde que Google lo anunció y me ha sido de mucha utilidad para compartir de forma pública algunos de los casos prácticos que expongo en los artículos de mi blog.

Y como no es conveniente dejar los deberes para el último momento, me he puesto manos a la obra y he migrado todos estos proyectos a otro repositorio de carácter público.

Como ya indicaba en el post de principios de 2014 ¿sabías que Google Drive permite alojar páginas web?:
"para la publicación de un sitio web lo ideal es disponer de hosting y dominio propios pero para compartir ficheros o páginas estáticas a modo de ejemplos, existen numerosos servicios gratuitos que cubren perfectamente esta funcionalidad".

Finalmente me he decantado por el servicio de alojamiento de repositorios de software GitHub porque cubre sobradamente mis necesidades.

Algunas razones de peso son:

  • GitHub es totalmente gratuito para alojar código open source, siendo estos repositorios de visibilidad pública.
    No obstante, cuenta con un plan de precios para los repositorios privados.
  • es el servicio elegido por proyectos de software libre como Linux, Eclipse, jQuery, reddit, Sparkle, curl, Ruby on Rails, node.js, ClickToFlash, Erlang/OTP, CakePHP, Redis, y otros muchos.
  • algunas de las grandes empresas de Internet, como Facebook, alojan ahí sus desarrollos públicos, tales como el SDK, librerías, ejemplos, etc.
  • dispone de un visor de código mediante el cual, a través del navegador, podremos consultar en un instante el contenido de un determinado fichero

¿cómo configurar Git?

Documentación de usuario: Set Up Git

Artículos que se han visto afectados por este cambio y cuyos ficheros públicos ya apuntan al nuevo directorio GitHub (ordenados de más reciente a más antiguo):

  • Como crear un índice para Blogger personalizable por Título o Categorías
    <div id="all-post" class="all-post"></div>
    <script>
    var conf = {
     sortBy:   'orderlabel',  // forma en que se muestran las artículos publicados
     lastPost: 10,            // últimos post (10) a los que les pongo una marca
     date:     1,             // 0:no aparece la fecha de publicación | 1:mostramos la fecha de publicación
     newPost: 'Nuevo!!',      // texto o marca que aparece en los últimos artículos
     newtab:   1              // 0:abre link en la misma ventana | 1:abre link en ventana nueva
    }
    </script>
    <script src="https://cdn.jsdelivr.net/gh/jmacuna/index-blogger@master/index-blogger.js"></script>
    <script src="[URL DE TU BLOG]/feeds/posts/default?max-results=9999&alt=json-in-script&callback=loadtoc"></script>
    

  • Calendario con todos los post publicados en Blogger
    <div id='calendar'><strong>Loading...</strong></div>
    <script>
    var conf = {
     bgcolor: '#1e4e7e', 
     newtab:  1,         // 0:abre link en la misma ventana | 1:abre link en ventana nueva
     tooltip: true,      // false:title por defecto | true:tooltip con css3
     start:   1,         // 0:Domingo | 1:Lunes
     days:    "Lunes|Martes|Miercoles|Jueves|Viernes|Sabado|Domingo",
     months:  "Enero|Febrero|Marzo|Abril|Mayo|Junio|Julio|Agosto|Septiembre|Octubre|Noviembre|Diciembre",
     date:    "Ir al mes actual"
    }
    </script>
    <script src='https://cdn.jsdelivr.net/gh/jmacuna/calendar-widget@master/create-calendar.js' type='text/javascript'></script>
    <script src='https://www.tecnoblog.guru/feeds/posts/summary?max-results=1000&alt=json-in-script&orderby=published&callback=createCalendar' type='text/javascript'></script>
    
  • Gadget para aumentar tu número de suscriptores - Blogger
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jmacuna/subscription-feedburner@master/style.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-cookie/1.4.1/jquery.cookie.js"></script>
    <script>
    idleTime = 0;
    $(document).ready(function(){
     $limit = 5; //seconds
     if ($.cookie('test_status') != '1') {
      function timerIncrement() {
       idleTime = idleTime + 1;
       if (idleTime > $limit) {
        $('html, body').css('overflow', 'hidden');
        $('.subs-popup ').fadeIn('slow');
        idleTime = 0;
       }
      }
      // Increment the idle time counter every second.
      var idleInterval = setInterval(timerIncrement, 1000); // 1 second
      // Zero the idle timer on mouse movement.
      $(this).mousemove(function (e) {
       idleTime = 0;
      });
      $(this).keypress(function (e) {
       idleTime = 0;
      });
      $.cookie('test_status', '1', { expires: 30 });
     }
     $('.email-close').click(function() {
      $('.subs-popup').fadeOut('slow');
      $('html, body').css('overflow', 'auto');
      $limit = 9999;
     });
    });
    </script>
    
    <div class="subs-popup">
     <div id="newsletter">
      <div class="email-close">X</div>
      <div class="newsletter-wrap">
       <h4>Suscríbete y recibe<br/>contenido exclusivo</h4>
       <p>Las últimas novedades del blog<br/>directamente a tu email.<br/><br/></p>
       <form action="http://feedburner.google.com/fb/a/mailverify?loc=es-ES&uri=[FEED_DE_TU_BLOG]" method="post" onsubmit="$('.email-close').click();window.open('about:blank', 'popupwindow', 'scrollbars=yes,width=550,height=520');return true" target="popupwindow" novalidate="">
        <input name="uri" type="hidden" value="bloggertrix"/>
        <input name="loc" type="hidden" value="en_ES"/>
        <input type="email" value="" name="email" placeholder="Tu e-mail aqui..." required=""/><br/><br/>
        <input type="submit" value="Suscribirme" class="button-popup">
       </form>
      </div>
     </div>
    </div>
    
  • Comentarios con desplazamiento de texto para Blogger (efecto marquee)
    <table class="comments">
    <tr><td class="title">Últimos comentarios</td></tr>
    <tr><td><div class="scroller">
    <script type="text/javascript">
    var numComments  = 10,
        showAvatar  = true,
        avatarSize  = 40,
        roundAvatar = true,
        characters  = 40,
        showMorelink = false,
        moreLinktext = "More »",
        defaultAvatar  = "http://i.imgur.com/3QqaBeS.png",
        hideCredits = true;
    </script>
    <script src="https://cdn.jsdelivr.net/gh/jmacuna/comments-avatar@master/w2b_recent_comments_with_avatars.js"></script>
    <script src="[URL DE TU BLOG]/feeds/comments/default?alt=json&callback=w2b_recent_comments"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
    <script src="http://www.jqueryscript.net/demo/jQuery-Plugin-For-Infinite-Any-Content-Scroller-scrollForever/scrollForever.js"></script>
    </div></td></tr>
    </table>
    <script type="text/javascript">$(document).ready(function({$(".scroller").scrollForever({dir:"top",container:"ul",inner:"li",speed:1000,delayTime:10,continuous:true,num:1});});</script>
    
Todos aquellos lectores del blog que utilicen alguno de los gadgets que comparto, deberán realizar ajustes para que las url públicas estén alojadas en https://cdn.jsdelivr.net en lugar de https://www.googledrive.com/host.


25 de abril de 2016

Metodologías ágiles para gestionar los proyectos y negocios del s. XXI

Cada vez son más los proyectos que siguen una metodología ágil (Scrum, XP, Crystal Clear, etc.).
Su crecimiento ha sido tal que este tipo de gestión es una práctica ya común en multitud de empresas y equipos de desarrollo software.
Los profesionales de la tecnología y del desarrollo software de hoy están obligados a conocer cómo se gestionan proyectos ágiles.


¿Qué es el desarrollo ágil de software?

El desarrollo ágil de software se refiere a métodos de ingeniería del software basados en el desarrollo iterativo e incremental, donde los requisitos y soluciones evolucionan con el tiempo según la necesidad del proyecto.
Así el trabajo es realizado mediante la colaboración de equipos auto-organizados y multidisciplinarios, inmersos en un proceso compartido de toma de decisiones a corto plazo.

Cada iteración del ciclo de vida incluye: planificación, análisis de requisitos, diseño, codificación, pruebas y documentación. Teniendo gran importancia el concepto de "Finalizado" (Done), ya que el objetivo de cada iteración no es agregar toda la funcionalidad para justificar el lanzamiento del producto al mercado, sino incrementar el valor por medio de "software que funciona" (sin errores). Fuente: Wikipedia

Construir software no es igual que construir un puente, un edificio o un coche.
Y ésto es así porque en ingeniería software, a diferencia de otras ingenierías tradicionales como la arquitectura, la industria o la ingeniería civil, no se puede separar tan claramente la fase de diseño de la de construcción.
Las ingenierías clásicas precisan mucho de un diseño previo a la construcción, el disponer de los planos del arquitecto siempre antes de empezar el edificio.
Los planos para construir son precisos y pocas veces varían, ya que la mayoría de los diseños de las ingenierías clásicas, arquitecturas, etc., pueden hacer un mayor uso de las matemáticas o la física.
Por tanto, existen dos actividades claramente diferenciadas: el diseño y la construcción.

Desde sus orígenes, la ingeniería del software intentó perseverantemente emular a las ingenierías clásicas.
Tener una fase de diseño muy separada de la codificación o lo que es lo mismo, que la codificación no comenzase hasta que terminase el diseño.
Que una vez que se hace un diseño éste no se modifique. De hecho, notaciones para "planos" como UML y ciclos de vida como el cascada puro (donde cada fase se hace una sola vez y no se pasa a la siguiente fase hasta que se termina la previa) nacieron con este objetivo.

En software, la experiencia nos dice que es muy difícil especificar los requisitos en una única y primera fase. Por la complejidad de muchas de las reglas de negocio que automatizamos cuando construimos software, es muy difícil saber qué software se quiere hasta que se trabaja en su implementación y se ven las primeras versiones o prototipos.

Otro aspecto a tener en cuenta es la diferente distribución de los costes del proyecto.

Por lo general, realizar un cambio en el producto final que construyen las ingenierías clásicas o la arquitectura es muy costoso en términos económicos.
Cambiar, por ejemplo, la posición de una columna en un edificio o realizar modificaciones a la estructura de un puente ya construido tiene un alto coste. Y de ahí que la arquitectura o las ingenierías clásicas pretendan lograr a toda costa diseños o planos de un alto nivel de detalle, que una vez que comience la fase de construcción no tengan que ser modificados.
Además, normalmente, en la arquitectura o en las ingenierías clásicas los costes de construir son muy elevados en comparación con los de diseñar. El coste del equipo de diseñadores es sustancialmente inferior al de la realización de la obra, del puente, edificio, etc.

Las anteriores pautas para costes no se comportan igual en el caso del software.
Por un lado, el software, por su naturaleza (y si se construye mínimamente bien), es más fácil de modificar. Cambiar líneas de código tiene menos impacto que cambiar los pilares de un edificio ya construido.
De ahí que existan numerosas propuestas que recomiendan construir rápido una versión software y modificarla evolutivamente (la técnica de refactorización trabaja sobre esta idea).
En software no existe esa división tan clara entre los costes del diseño y los de la construcción.

Diferenciar el cómo se construye software del cómo se construyen los productos físicos es uno de los pilares de las metodologías ágiles (M. Fowler, 2005).
Y es que en software, es frecuente que diseño y construcción muchas veces se solapen, y por ello se recomiende construir por iteraciones, por partes, y el uso de prototipos incrementales.

El ciclo de vida ágil es un ciclo de vida iterativo e incremental, con iteraciones cortas (semanas) y sin que dentro de cada iteración tenga porque haber fases lineales (tipo cascada).

Quizá el caso más popular es el de Scrum. Hace ya sus años, en el 85, y en la primera presentación oficial de Scrum, Ken Schwaber, uno de sus creadores, hablaba sobre el ciclo de vida de Scrum, y sus diferencias con los anteriores ciclos de vida.

Según comenta Ken Schwaber, el ciclo de vida en Cascada y el Espiral cierran el contexto y la entrega al inicio de un proyecto. La principal diferencia entre cascada, espiral e iterativo y los ciclos de vida ágiles, concretamente en Scrum, es que estos últimos asumen que el análisis, diseño, etc., de cada iteración o Sprint son impredecibles. Los Sprints, o iteraciones cortas, no son (o a priori no tienen porqué) lineales y son flexibles.
Pero cada metodología de las llamadas ágiles, FDD, Crystal, DSDM, XP, etc., matizará su ciclo de vida.

Un proyecto ágil lleva la iteración al extremo:

  • Se busca dividir las tareas del proyecto software en incrementos de una corta duración (según la metodología ágil, típicamente entre 1 y 4 semanas).
  • Cada iteración suele concluir con un prototipo operativo. Al final de cada incremento se obtiene un producto entregable que es revisado junto con el cliente, posibilitando la aparición de nuevos requisitos o la perfección de los existentes, reduciendo riesgos globales y permitiendo la adaptación rápida a los cambios.
Lo Principios Ágiles que diferencian un proceso ágil de uno tradicional son los siguientes:

  • La prioridad es satisfacer al cliente mediante entregas tempranas y continuas de software que le aporten valor.
  • Dar la bienvenida a los cambios. Se capturan los cambios para que el cliente tenga una ventaja competitiva.
  • Entregar frecuentemente software que funcione desde un par de semanas a un par de meses, con el menor intervalo de tiempo posible entre entregas.
  • La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del proyecto.
  • Construir el proyecto en torno a individuos motivados. Darles el entorno y el apoyo que necesitan y confiar en ellos para conseguir finalizar el trabajo.
  • El diálogo cara a cara es el método más eficiente y efectivo para comunicar información dentro de un equipo de desarrollo.
  • El software que funciona es la medida fundamental de progreso.
  • Los procesos ágiles promueven un desarrollo sostenible. Los promotores, desarrolladores y usuarios deberían ser capaces de mantener una paz constante.
  • La atención continua a la calidad técnica y al buen diseño mejora la agilidad.
  • La simplicidad es esencial.
  • Las mejores arquitecturas, requisitos y diseños surgen de los equipos organizados por sí mismos.
  • En intervalos regulares, el equipo reflexiona respecto a cómo llegar a ser más efectivo, y según esto ajusta su comportamiento.






Extracto del curso "Agilidad y Lean. Gestionando los proyectos y negocios del s. XXI" impartido por Javier Garzás, profesor en la Universidad Rey Juan Carlos a través de la plataforma online MiríadaX

Certificado de participación: https://miriadax.net/files/10132/badge/66283a75-ef83-4738-915b-9a5a9244ed0f.pdf