Imagen de cabecera

¿Por qué hoy?

Publicado por Unknown el jueves, 17 de mayo de 2012 0 comentarios
Ayer me preguntaba porque hoy es el día mundial de Internet. Tratándose de informática lo normal hubiera sido que la fecha fuese más significativa como por ejemplo el 10/10 o el 10/01 o el 01/10 en lugar de un insulso 17/05 o en notación anglosajona 05/17. Investigando un poco encontramos que el primer día de internet ocurrió el 25 de octubre de 2005 y fue promovido por iniciativa de la Asociacion de Usuarios de Internet (www.aui.es)



Años después, concretamente el 27 de marzo de 2006, las Naciones Unidas, a instancias de la II Cumbre Mundial de la Sociedad de la información celebrada en Túnez, designaron el 17 de mayo como Día mundial de las Telecomunicaciones y de la Sociedad de la información. Mediante este dia se pretende:

“Es necesario contribuir a que se conozca mejor Internet para que se convierta en un recurso mundial verdaderamente accesible al público. El 17 de mayo Día Mundial de la Sociedad de la Información, se celebrará anualmente y servirá para dar a conocer mejor la importancia que tiene este recurso mundial, en especial, las posibilidades que pueden ofrecer las TIC a las sociedades y economías, y las diferentes formas de reducir la brecha digital.” Artículo 121 del documento de conclusiones de la Cumbre Mundial de la Sociedad de la Información.

Todo parece indicar que la decisión de la fecha es aleatoria. He revisado la historia de internet y a continuación os propongo algunos hitos de la historia de internet que por su relevancia (bajo mi criterio) se podían haber elegido:

  • El 21 de noviembre de 1989 se estableció el primer enlace de la red ARPANET, enlazando dos computadoras situadas en las universidades de UCLA y Stanford. ARPANET (Advanced Research Projects Agency Network) es la red precursora de la actual. Fue creada por encargo del Departamento de Defensa de los Estados Unidos. La idea de red se basa en que aunque un trozo de la red esté roto, siempre hay un hilo que permite llevar la información de un punto a otro. 
  • El 6 de agosto de 1991, Tim Berners Lee, envió un resumen del proyecto World Wide Web a un popular newsgroup. Desde esa fecha el web esta disponible públicamente en internet. Es el nacimiento de las famosas WWW. Hasta la fecha la red eran simples computadoras conectadas entre si entre las que circulaba información sin ningún formato concreto. Berners-Lee diseñó un sistema común para compartir información basada en hypertexto. Hasta la fecha cada ordenador de la red hablaba un idioma distinto. Si tu querías conectarte a él, primero tendrias que conocer su lenguaje. Tim Berners-Lee pone la base de la gramática de un lenguaje común a toda la red.
  • 9 de marzo de 1992, lanzamiento del primer navegador web: ViolaWWW. Se suele atribuir a Mosaic el mérito de ser el primer navegador web de la historia, pero realmente fue ViolaWWW.  Desarrollado por Pei-Yuan Wei, no llegó a ser muy popular por funcionar sobre sistema Unix y la rápida aparición de la competencia. La aparición de los navegadores hacen que la web sea mas accesible para cualquier usuario.

  • El 27 de Septiembre de 1998, nace Google. Poco más hay que decir. Los de Mountain View desarrollaron el buscador de buscadores. Un sistema basado en posicionar mejor los mejores resultados, no se trata de ser sólo los más rápidos además tratan de ser los más precisos. Aquella idea  Larry Page y Sergey Brin (estudiantes de doctorado en Ciencias de la Computación de la Universidad de Stanford) se convirtió en el gigante que todos conocemos. Yo sinceramente creo que un día Google tomará conciencia de si mismo y enviará un robot al pasado para matar a alguien... eso si no lo ha hecho ya.
  • El 4 de febrero de 2004 se lanza Facebook. El invento de Mark Zuckerberg revoluciona el concepto de internet. Deja de ser una herramienta de consulta para convertirse en un medio de comunicación global. No es la primera red social (GeoCities, Friendster...) pero la popularidad que alcanza a nivel mundial no es comparable a ninguna de sus predecesoras. 

Me hubiese gustado añadir algún hecho mas como el lanzamiento del mp3, pero por desgracia no se conoce la fecha exacta. Quedan en el tintero algunas cosas como el streeming (y por tanto youtube), los servidores DNS (lo que hace que las direcciones web funcionen), Android y la generalización del uso de internet móvil etc. 
El año que viene revisaré la lista y quien sabe si habrá que añadir algo nuevo. ¿Habeis escuchado hablar de la realidad aumentada?.
Leer más...

¡Agilidad!

Publicado por Unknown el viernes, 11 de mayo de 2012 0 comentarios
No se trata de correr mas, de ser mas precisos, ni de ser mejores, ni siquiera de ser los primeros.



Puedes el mas veloz, pero si no sabes el camino seras en primero en perderte. Puedes ser el mas exacto, tomarte tu tiempo para elegir el mejor camino, pasar por la floristería, comprar bombones y seguramente cuando llegues tu cita se habrá cansado de esperar y se habrá ido con otro que encima es mas feo que tu.

Hay que ser ágil, ser capaz de tomar decisiones y después cambiarlas, de adaptarte a los cambios del medio en el que te mueves y de tratar de llegar el primero al cliente con algo que funcione y además sea funcional. Tu producto puede que no sea perfecto, pero si eres el primero el cliente no te podrá comparar. Llegará la competencia, mas bonita y probablemente mas barata pero la posición es tuya, ya has tenido un tiempo para obtener cierto feedback y puede que tu rival tenga un producto mas bonito, pero tu ya puedes defenderte con un producto mas adecuado, mas perfecto.

Hay que ser ágil porque te puedes equivocar. Las modas cambian, los gustos cambian y las necesidades cambian (por no hablar de los presupuestos). Si de camino a la pastelería te enteras de que tu cita es diabética quizá sea mejor dejarlo solo en unas flores. Llegarás tarde por haber dado la vuelta hasta la floristeria, pero serás mejor recibido que todos los que hayan llegado con bombones (mira que no saber que no puede comerlos, que vergüenza).

Ser ágil no significa ser caótico, ni desordenado. Simplemente es una cuestión de cintura. Una vez que se marca la ruta, que se planifica todo, no se puede uno poner la anteojera y dejar de ver lo que pasa por nuestro lado.

Equivalente humano de la anteojera equina


Bajando un poco al contexto en el que me muevo es necesario que todos los involucrados (clientes, diseñadores, jefes, analistas y programadores) tengan asumido que su cintura ha de estar muy en forma. Siempre dependemos de los cambios que puedan producirse en el mercado. Podemos tener un plan perfecto, sin fisuras, redondo, genial... pero durante la ejecución la competencia lanza una funcionalidad que nosotros no habíamos previsto o que  pensábamos hacerla dentro de 6 meses ¿seguimos con nuestro plan?. Es la pregunta del millón pero no hay respuesta. Evalúa rápidamente el impacto de esa nueva funcionalidad y decide, pero ¡rápido! debes seguir con el plan (re-elaborado o no).



Tradicionalmente se apostaba por desarrollos largos donde no el cliente firmaba un conjunto de requisitos y meses después recibía el software que cumplía perfectamente las necesidades que el cliente tenia hace meses. Como comentaba antes esto ya no es rentable. Actualmente se apuestan por desarrollos donde el cliente y el equipo de desarrollo colaboran estrechamente. Se intenta estructurar el proyecto de manera que el cliente pueda tener entregas parciales y funcionales (y por tanto empezar a amortizar el coste). Cada entrega parcial permite al cliente y al desarrollador comprobar que todas las necesidades siguen siendo interesantes y que no hay que adelantar ninguna (o si). Esto es ser ágil en el desarrollo de software.

Ser ágil no son todo ventajas, hay un lado oscuro: los proyectos infinitos. Un proyecto puede ser infinito por dos razones:
  • La búsqueda de la perfección. El cliente se obsesiona con que todo este perfecto y se dedica a cambiar cosas continuamente antes de poner algo en producción. Esto bloquea el avance del proyecto y provoca que la fecha final del proyecto se posponga repetidamente. Esta bien que el cliente busque tener un producto excelente pero existen otras maneras (acabar las funcionalidades, ponerlo en marcha y refinarlo a posteriori).
  • Los requisitos no se acaban nunca. El cliente añade cada vez mas y mas requisitos sobre el sistema inicial. Las funcionalidades que no se tienen en cuenta en el diseño inicial de la aplicación tienden a deteriorar el software (bajada de rendimiento por un diseño que no lo tuvo en cuenta, caída en la calidad del interfaz por sobrecargar las pantallas de información y acciones). Cliente y desarrollador deben negociar que cosas se pueden añadir y cuales deben dejarse para una segunda versión (que incluya la adaptación lógica del diseño).
Tradicionalmente se optaba por modelos de procesos para desarrollar software. El 2001 un grupo de diecisiete expertos se reune para criticar los rígidos modelos de desarrollo que se empleaban hasta la fecha. De esas reuniones nacen una respuesta bajo el nombre de metodologías ágiles. Dichas metodologias se basan el cuatro postualdos que se dieron a conocer como El manifiesto ágil (próximamente en este blog).
Leer más...

Tal día como hoy...

Publicado por Unknown el miércoles, 9 de mayo de 2012 0 comentarios
Tal día como hoy murieron dos cantantes del grupo Burning (el mítico Pepe Risi y Toño). Tal día como hoy me decido a lanzar este blog. Hace unas semanas estuve apunto de hacerlo, pero viendo el programa de televisión "La nube" me encontré con este vídeo de José Pablo Feinmann:


"Que razón tiene" - pensé. Lo que ocurre es que para aquel entonces ya tenía algún articulo encarrillado y una lista con unos cuantos temas en la recamara. Así que aquí estoy dispuesto a darle la razón a un filosofo argentino del que no había oído hablar hasta hace dos semanas.

Una de las cosas complicadas de este medio tan "de autor" es ceñirte a un ámbito. Pero cuando uno es informático y ejerce de tal, la cosa tiende a simplificarse. Siempre tuve un interés especial en la gestión de proyectos y en las metodologías de desarrollo. Creo que hay dos perfiles en este sector: la gente orientada a la programación y la gente orientada al cliente. Me gusta programar pero soy mas feliz tratando de diseñar un sistema que sea realmente útil al cliente. Creo en las metodologías ágiles y estoy dispuesto a tratar de evangelizar en la medida de mis posibilidades. Creo que son modelos poco aplicados en este país por cuestiones culturales y tradicionales. Creo que ayudan a ser mas productivos. Creo que ayudan a ser mas proactivos. Creo que ayudan a mejorar la calidad. Creo que mejoran y unen a los equipos de desarrollo. Creo que animan y estimulan la implicación del cliente. Creo que debería dejar algo para otros post.

Tras siete años trabajando en una consultoría medioambiental se aprende a ver la vida desde un lado mas #SOStenible. Esa será la otra parte de este blog. Trataré de explicar como se puede ser sostenible en todas las facetas de la vida y como la informática y las nuevas tecnologías ayudan a minimizar nuestra huella ecológica.

Si el artículo de presentación comienza hablando de músicos muertos, será inevitable, de vez en cuando hablar algo de música. 

Si encima consigo trenzar los tres temas... le pediré su opinión al argentino.

¡COMENZAMOS!
Leer más...