El desarrollo ágil está transformando la industria del software
En los años 80 y 90, conforme la tecnología digital se convertía en el nuevo epicentro de la economía mundial, fue desarrollándose una metodología muy estructurada para el desarrollo de software, conocida popularmente como el modelo en cascada. Sin embargo, esta visión de gestionar proyectos (que consiste en cinco pasos: requisitos, diseño, implementación, verificación y mantenimiento) pronto chocó con el anhelo de muchos desarrolladores a la hora de trabajar de manera menos lenta y burocrática.
Ese fue el germen de lo que hoy se conoce como desarrollo ágil de software, una tendencia en alza en la que el desarrollo iterativo e incremental se impone a los trámites habituales en esta industria. O, dicho de otro modo, una metodología en la que el desarrollador va adaptando sus soluciones a unos requisitos también cambiantes a lo largo del tiempo.
Frente a los pasos del tradicional método en cascada, el desarrollo ágil de software se basa en seis pasos comunes dentro del ciclo de vida del software: planificación, análisis de requisitos, diseño, codificación, test y documentación. En cada interacción, el equipo de desarrollo no entrega todo el programa, sino que se van añadiendo pequeños elementos totalmente probados, sin errores, con el fin de que la solución final esté completamente operativa desde el minuto uno. En los métodos de desarrollo ágil de software, la comunicación entre todos los miembros del equipo es clave, ya que se busca eliminar las trabas habituales de reuniones, validaciones y revisiones formales por encuentros más informales y en fases tempranas e intermedias del proceso, no sólo en la última etapa del trabajo.
Para que una metodología de desarrollo de software se pueda considerar como ágil debe cumplir con cuatro valores fundamentales, recogidos en el Manifiesto Ágil:
- Los individuos e interacciones, por encima de los procesos y las herramientas.
- Software en funcionamiento, frente a la documentación exhaustiva.
- La colaboración con el cliente sobre la negociación contractual.
- Respuesta al cambio, mejor que el seguimiento de un plan.
- En definitiva, se trata de eliminar todos los pasos o tareas innecesarias, además de impulsar una mayor eficiencia de todo el equipo involucrado en el desarrollo.
Ventajas del desarrollo ágil
A la hora de diseñar un software por el método clásico de cascada, lo normal es que se complete un proceso antes de arrancar con el siguiente; lo cual obliga a acelerar los trabajos (y reducir la calidad) a fin de cumplir con los plazos impuestos por los clientes. Sin embargo, al optar por una metodología ágil en la que se trabajan distintos elementos en paralelo, el equipo puede ir validando pequeñas partes del proyecto antes de realizar la entrega final perfecta.
Asimismo, al optar por este tipo de metodologías, se requiere personal multidisciplinar capaz de adaptarse a distintas circunstancias y necesidades en poco tiempo. Este factor, junto a la reducción de burocracia y la validación constante, permite afrontar mejor la sobrecarga de trabajo y facilitar la marcha del proyecto en su conjunto. Todo ello, a su vez, redunda en una notable reducción de costes.
Tipos de desarrollo ágil
Aunque la metodología ágil de desarrollo de software se entiende como una tendencia global en sí misma, su ejecución concreta se materializa en distintas vertientes o filosofías de trabajo (englobadas en la Agile Alliance, en muchos de los casos) que expresan métodos y herramientas concretas para gestionar de manera ágil los proyectos.
Entre estas metodologías ágiles destacan Scrum (creada en 1986, siendo una de las precursoras de este camino), eXtreme Programming (XP, creado en 1996 y que fomenta el trabajo en equipo y la comunicación entre los distintos miembros implicados en el desarrollo de software) o el Dynamic Systems Developement Method (DSDM, por sus siglas en inglés, que data de 1995).
WI FI pasivo: así funcionan las nuevas conexiones wireless que consumen 10.000 veces menos energía
La conexión wifi es una de las funciones del celular que más batería consume, hasta el 60%. El wifi del móvil, además de que se utiliza casi continuamente, está constantemente enviando señales de radio para encontrar redes disponibles. Las busca incluso cuando en su entorno no hay redes wifi abiertas o conocidas con las que conectarse.
Pero el consumo del wifi tiene que ver sobre todo con la forma en la que funciona esta conexión. Para transmitir datos por wifi el móvil (o cualquier otro dispositivo que disponga de este tipo de conexión) genera dos señales de radio: una señal digital que contiene la información a transferir y una señal de radio analógica que hace las veces de portadora, la que conecta los dispositivos entre sí. Esta última señal de radio analógica es la responsable del alto consumo de la conexión wifi. La señal de radio digital en cambio apenas consume unos pocos microvatios.
Ahora, investigadores de la universidad de Washington han desarrollado un método de transmisión wifi que libera al móvil de la tarea de generar la señal de radio analógica, reduciendo el consumo de la energía requerida a una diezmilésima parte en comparación con la forma de funcionamiento actual. Esto se traduce en una reducción significativa en el consumo de la batería del móvil y de otros dispositivos conectados.
Para lograrlo, los investigadores desacoplaron la señal de radio digital y la señal de radio analógica. Como la señal de radio analógica es necesaria para la conexión, la tarea de producirla se delega en un dispositivo externo que se enchufa a la red eléctrica y que da cobertura en una área próximo; en una oficina o vivienda, por ejemplo.
Existiendo ya una señal de radio analógica los dispositivos conectados utilizan esa señal para reflejar en ella la información digital a transferir. La señal de radio analógica producida por el dispositivo externo sirve para dar conexión a varios dispositivos, simultáneamente.
Por ahora los investigadores han logrado transmitir datos en un radio de 30 metros a una velocidad de 11 megabits por segundo. Ambas cifras son inferiores a la capacidad de las conexiones wifi actuales, pero a cambio el consumo de energía es "casi inexistente”. De forma similar a como funcionan los chips RFID o las tarjetas de pago sin contacto, los dispositivos conectados obtienen de la señal de radio analógica (producida externamente) la energía necesaria para transmitir.
Este método de wifi pasivo (que todavía está pendiente de verificación) es, en teoría y según los investigadores, aplicable a los móviles y routers que ya existen y que están funcionando en la actualidad. Al reducirse y hasta prácticamente eliminarse el consumo de batería asociado a la conexión el método beneficiaría a los wearables y otros pequeños dispositivos, toda vez que el consumo de batería deja de ser un problema importante. También a los aparatos que aspiran a formar parte del internet de la cosas, la conexión entre objetos comunes y cotidianos: desde la heladera al termostato, pasando por las cámaras de seguridad y las zapatillas de deporte y hasta sensores médicos incorporados en el cuerpo del paciente.
La publicación MIT Technology Review considera que se trata de una de las diez tecnologías más importantes del año. También cree que un dispositivo de wifi pasivo será “extremadamente barato de fabricar, tal vez menos de un dólar” y que estará disponible en un plazo de dos o tres años.
Los virus más destructivos de la historia
En la historia informática nos hemos encontrado con cientos de virus que nos pusieron los pelos de punta, ya sea como usuarios finales o -peor- como responsables de sistemas de cualquier Organización. Aquí recopilamos una lista de los más destructivos con una breve explicación. Si alguno te llama la atención, podés investigar en la web , ya que algunos son considerados joyas de la programción por su tamaño.
Jerusalem (alias Friday 13th), 1987
Jerusalem, también conocido como Viernes 13, fue uno de los primeros virus de MS DOS. Si el viernes coincidía en 13, este pequeño bastardo borraba todos los archivos de programa en ejecución, supuestamente, por motivos religiosos.
Morris (alias Internet Worm), 1988
Este fue uno de los primeros gusanos, e infectó más de 6.000 ordenadores de la época, incluyendo algunos de la NASA. Un error en el código del propio virus lo hizo replicarse como una peste por las redes, causando unos 100 millones de dólares en daños.
Melissa, 1999
Creado por David L. Smith, alias Kwyjibo, en honor de una bailarina de Topless de Florida de la que se enamoró, Melissa era un virus tipo macro que se reproducía en archivos Word y Excel y se envíaba mediante Outlook. Provocó 80 millones de dólares en pérdidas. Su autor confesó más tarde que no esperaba que fuera a ser tan dañino.
I Love You (alias Lovebug/Loveletter Virus), 2000
Aunque de nombre romántico, el estudiante de Manila que lo programó no debía ser muy querido. I Love You se transmitía como un correo electrónico con una presunta carta de amor. Al abrirlo, borraba todos los archivos .jpg del disco duro.
The Code Red worm, 2001
Code Red fue uno de los virus más dañinos por su capacidad de ejecutarse en memoria sin dejar archivos a su paso. Enfocado a servidores con Windows NT y Windows 2000 Server Edition, Code Red causó dos mil millones en pérdidas a no pocas empresas.
SQL Slammer, 2003
Este virus infectaba servidores web aprovechando un fallo de Microsoft SQL Server y después se reproducía utilizando direcciones IP al azar. Es una pieza de código excepcional por su longitud. Cabe en sólo cinco tuits.
Blaster (alias Lovsan, alias MSBlast) 2003
Este virus de múltiples nombres hizo reiniciarse una y otra vez a cientos de miles de ordenadores debido a un fallo en Windows XP y Windows 2000. Su autor dejó dos mensajes en el código: ‘Te amo San’ y ‘Billy Gates, ¿Por qué permites esto? deja de ganar dinero y arregla tu software’. Reivindicativo, el chico.
Bagle, 2004
Este gusano se transmitía en un archivo adjunto para abrir una puerta trasera en todas las versiones de Windows. Después, esa puerta podía ser utilizada para tomar control del equipo. Su autor escribió un poema en el código.
Sasser, 2004
Sasser fue creado por el programador alemán de sólo 17 años Sven Jaschan. Al igual que sus contemporáneos, aprovechaba un agujero de seguridad de Windows.
MyDooom (alias W32.MyDoom@mm, Novarg, Mimail.R, Shimgapi), 2004
Aunque su código no es muy llamativo, MyDoom tiene el notable récord de ser el gusano que más rápido se extendió por email. La infección fue tan fulminante que ralentizó un 10% el tráfico de internet y algunas páginas redujeron su velocidad a la mitad.
Conficker (alias Downadup), 2008
Su nombre lo dice todo. Este virus se ciscaba en la configuración del ordenador con caóticos resultados.
Stuxnet, 2009-2010
Stuxnet es conocida como la primera arma digital desarrollada por un gobierno. Era un gusano creado a medias por los gobiernos estadounidense e israelí para atacar plantas nucleares en Irán. La creación se les fue de las manos e infectó ordenadores por todo el mundo.
Flame (alias Flamer o sKyWIper), 2012
Flame es otra herramienta de terror gubernamental contra países de Oriente Medio, y era una sofisticada y enorme. De hecho era tan grande (20MB) que se infiltraba en varios archivos comprimidos. Cuando la opinión pública se hizo eco de su existencia, sus creadores ejecutaron una ‘Orden 66’ y el virus se autodestruyó. Kaspersky lo considera el virus más sofisticado y de mayor capacidad destructiva de la historia.
CIH (alias Chernobyl), 1998.
Un virus de Windows 95, 98 y Me que sobreescribía datos de la BIOS y dejaba el PC inservible. Encima se quedaba alojado en la memoria.