Cuanto peor equipamiento tenga el desarrollador mejor rendimiento tendrá la aplicación

Cable - La Foto de ayer Según el test de Joel para el desarrollo de software, el desarrollador debe tener las mejores herramientas que se puedan pagar.

La experiencia me dice que en algunos casos esta regla es contraproducente para la calidad del producto resultante.
Mientras se desarrolla, la velocidad de ejecución de los procesos se miden en el tiempo que siente el desarrollador.

  • Si en la máquina del desarrollador va bien, el código esta bien.
  • Si en la máquina del desarrollador va lento, él mismo, se preocupará de hacer que vaya bien.

Muchas de las incidencias que conozco relacionadas con el rendimiento de las aplicaciones son derivadas de que las conexiones y rendimientos de las máquinas donde se programa son superiores a donde se ejecuta en producción.

Lo ideal es que el desarrollador ejecute sus pruebas con la peor máquina donde pueda correr en producción, de esta manera nos aseguraremos que en ejecución siempre funcionará muy rápido.

Esto es aplicable a procesador, tamaño de pantalla, memoria, velocidad de conexión al servidor, etc.

Un caso que conozco en Velneo que demuestra esta teoría, son las optimizaciones del protocolo VATP. Cuando se estaba desarrollando por parte de Juan Muñoz-Cobos y su equipo, se contaba con de una infraestructura de comunicación penosa, una latencia de 1 segundo. El resultado es un protocolo de comunicaciones muy optimizado y preparado para las peores circunstancias.

Cuando el desarrollador trabaja con un muy buen equipamiento suele ser más habitual escuchar “No se porque va lento, en mi equipo va bien” 😉

Ventajas del doble monitor

Trabajar con dos pantallas / monitores aporta muchas mejoras en el trabajoEn la empresa buscamos las mejoras herramientas para favorecer la máxima productividad y uno de los elementos que mayor impacto ha tenido ha sido la implantación del doble monitor.

Durante los últimos años se han ido implantando en diferentes departamentos y cada tipo de perfil le ha sacado beneficios en los distintos trabajos que realiza.

Por otro lado, las personas necesitan un proceso de adaptación al pasar de uno a dos monitores, al igual que si usaramos un solo brazo durante toda la vida, el día que nos implantan otro brazo, resulta difícil adaptarnos a la nueva situación y tardaríamos un tiempo en sacar todo el potencial.

Muchas de las tareas que se realizan a lo largo de la jornada pueden mejorarse con doble monitor:

  • Programar y depurar aplicaciones.
  • Escribir artículos mientras te documentas.
  • Realizas pruebas mientras introduces la incidencia.
  • Das soporte al cliente desde una pantalla mientras documentas la consulta.
  • Desarrollas tus tareas mientras chateas con tus compañeros para resolver dudas.

El coste actual de los monitores es reducido, además, la clave es que sean dos, no necesitan ser de gran formato o gran calidad.

Solemos poner pantallas de distinto tamaño, estéticamente no queda súper-cool, pero ayuda al desarrollador a probar el interfaz con distintos tamaños cómodamente.

Hay muchos estudios oficiales que indican que los dos monitores mejoran la productividad, en nuestro caso la experiencia nos ha confirmado que ha sido una buena decisión.

Enlaces:
http://research.microsoft.com/apps/mobile/News.aspx?post=/en-us/news/features/vibe.aspx
http://research.microsoft.com/apps/mobile/Publication.aspx?id=69718
http://www.codinghorror.com/blog/2008/03/does-more-than-one-monitor-improve-productivity.html

Los 30, una buena edad

Leo en por internet que estos días la arquitectura x86 cumple 30 añitos de nada. Este tipo de arquitectura a dominado el mercado de procesadores y ha permitido que las eras de la informática domestica e internet este en el nivel actual.

Inicialmente solo soportaba instrucciones de 16 bits, pero con la llegada de 80386 estos procesadores ya podían trabajar con 32 bits y nos han permitido transmitir nuestras ideas terrenales al mundo binario con cierto éxito.

Ahora con 30 años de éxitos se resiste a ser retirado y sigue con el auge de siempre. Durante los últimos meses he estado trasteando sobre las tendencias de futuro respecto al mundo de los procesadores.

Es gracioso como el propio Intel hace algunos años potencia la arquitectura IA64 ( Itanium ) que no es compatible “hacia atras” con los x86, pero que no acaba de llegar a implantarse en la informática global.

Sin embargo, la arquitectura AMD64 desarrollada e implantada por AMD si es compatible “hacia atrás” con x86 y si esta extendiéndose de una manera bastante importante, e incluso desde hace unos años potenciada también por Intel con su otro nombre comercial INTEL64 que esta incorporado en los Dual Core y familia.

Esta claro que tenemos instrucciones x86 para rato…