Jueves, 25 de Septiembre de 2008 por climens

Test de Joel, autoevaluación

El otro día llegué a un interesante post sobre qué preguntarle a nuestro futuro empleador en una entrevista. Después de leerlo me di cuenta de que si en una entrevista llego a preguntar todo eso y encima valoro las respuestas que me dan, no sé sin encontraría trabajo en el inframundo del desarrollo de software (si trabajas en un sitio que cumple, por ejemplo, 8 de los 12 puntos, por favor ¡contrátame!), por lo menos en España.

Lo importante en definitiva es que se basa en The Joel Test: 12 Steps to Better Code (versión en español). Son 12 sencillas preguntas que esconden toda una filosofía de buenas prácticas deseables en cualquier entorno de desarrollo. También googleando he encontrado un excelente artículo sobre estas 12 preguntas aplicadas al desarrollo web. Estas son:

  1. ¿Usas control de versiones?
  2. ¿Puedes tener listo el producto en un solo paso?
  3. ¿Compilas el producto a diario?
  4. ¿Tienes una base de datos de errores?
  5. ¿Solucionas los errores antes de escribir nuevo código?
  6. ¿Tienes una planificación actualizada?
  7. ¿Tienes unas especificaciones?
  8. ¿Tienen los programadores un entorno de trabajo tranquilo?
  9. ¿Tienes las mejores herramientas que puedes comprar?
  10. ¿Tienes testers?
  11. ¿Escriben código los candidatos durante su entrevista?
  12. ¿Haces pruebas de usabilidad de "vestibulo"? (O sea, a cualquiera que pase por allí y esté dispuesto)

Aunque en realidad se podrían hacer muchas más, si se realizan la mayoría de ellas probablemente se esté trabajando de forma decente. Si no, la cosa se puede poner complicada: posiblemente vives diariamente en un infierno incomprensible.

Ahora toca la parte complicada. ¿Qué nota sacamos en mi empleo actual? Vamos a ver

  1. Sí, desde hace un tiempo y por supuesto para nuevos desarrollos. Subversion que no es ni el mejor ni el peor pero tiene herramientas chulas como TortoiseSVN y VisualSVN. Además está bastante extendido y se encuentra fácilmente soporte y ayuda.
  2. No, de momento. Es algo necesario y está planificado. Supuestamente con MsBuild o Nant lo podemos conseguir.
  3. Sí. Para el producto actual usamos TeamCity con cierto éxito, gratuita para pequeños grupos. Eso sí, faltan aun los scripts completos del paso 2.
  4. Sí, usamos Redmine y una herramienta interna (bastante inservible, la verdad), aunque no se si el Redmine me acaba de gustar del todo. En fin, mientras tengamos todos los errores registrados bueno es.
  5. Más o menos. A veces el tiempo apremia, pero se debería hacer. La compilación del paso 3 comprueba los tests unitarios, lo que no significa que encuentre todos los bugs, obviamente.
  6. Sí, lo intentamos, aunque a veces vamos dando palos de ciego sin saber muy bien el rumbo.
  7. Eso creo. El flujo de generación de especificaciones es bastante malo, por lo que muchas veces no son lo suficientemente rigurosas ni explícitas.
  8. Depende de la oficina. En la que yo estoy es excelente.
  9. No. Siempre hay pegas para adquirir herramientas pero estamos mejorando.
  10. No oficialmente. Se prueban las cosas bastante mal y sin rigor.
  11. No, lo que me atañe y voy a ver qué puedo hacer al respecto. De momento me leere la Guerrilla Guide to Interviewing a ver qué saco de interesante.
  12. No. Parece que ahora quieren contratar a unos expertos en usabilidad para guiarnos, aun así dudo que se realicen pruebas de este tipo

Así que mi JoelScore(tm) es de unos 6/12. Aprobado raspadillo y por los puntos 1, 3 y 4, lo cual no es por tirarme flores, pero creo que he contribuido bastante a instaurar estas herramientas y procesos. A ver si el año que viene llegamos a 8 o 9/12, lo que estaría bastante bien.

En resumen, aconsejo a todo el mundo que trabaja en este mundillo que lea las preguntas, que lea lo que significan las preguntas y se autoanalice para ver en qué estado está y qué puede hacer por mejorarlo.

Compartir | meneame | fresqui | del.icio.us | digg | technorati
Tags: , , | Sin comentarios

Martes, 16 de Septiembre de 2008 por climens

La ignorancia

Ayer me quejé a mi banco online de que había una operación que no podía realizar a través de mi Mac, ya que solamente funcionaba con Internet Explorer y obviamente es un producto que no está disponible para mi plataforma. Esta fue su respuesta:

  • Resolución de Pantalla: 800 x 600 píxeles.
  • El acceso lo puede realizar con los navegadores Microsoft Internet Explorer versión 5.5 y Netscape Navigator 6.0.
  • La intensidad de cifrado del navegador ha de ser, como mínimo, de 128 bits.

No contentos con eso, además añaden:

Así mismo le recomendamos la instalación de las últimas versiones de dichos navegadores, para que pueda aprovechar al máximo todas las posibilidades que le ofrecemos.

Realmente algo complicado, ya que hace ya algún tiempo que Netscape dejó de estar disponible y la versión 6.0, además de ser altamente inestable, apareció en el año 2000. Sin comentarios. Por no decir que Explorer 5.5 también apareció ese año para versiones de Windows anteriores a XP, que aun no existía. Así que dudo bastante que su aplicación funcione en ninguno de esos dos navegadores.

Así que ni corto ni perezoso les indiqué que no me resultaba posible conseguir ninguno de esos navegadores en mi Mac, pero que tenía Safari y Firefox, siendo este último el segundo navegador más usado y que merecía ser considerado como tal y estar soportado ya que está disponible en multitud de plataformas a parte de Windows.

Y esta fue la respuesta:

En primer lugar agradecemos su sugerencia y damos traslado de la misma a nuestros servicios centrales para su valoración y posible implementación.

Se agradece, pero lo mejor viene a continuación:

Asimismo, le informamos de que la página ----- está optimizada para trabajar con PC.

Esto ya es lo último. ¿Cómo de optimiza una web para trabajar con un hardware completo? Podría alegar que mi Mac es un PC dado que pocas diferencias tiene con uno de estos ahora que es 100% Intel, salvo el sistema operativo. Veo que mucha gente sigue asociando PC = Windows, lo que ya sabía pero no es lo que espero de un servicio de atención de un banco online.

En resumen: hay que dar soporte a Firefox como poco en todas las aplicaciones web ya que es la única manera de asegurarse que casi cualquier persona podrá disfrutarlas en cualquier plataforma independientemente de su sexo, religión o condición social. Y no solo eso, sino que debería ser considerado como un tipo de discriminación y penalizado como tal. Además, con la aparición de Chrome es posible que el mercado de los navegadores de haga más heterogéneo con el tiempo.

Y otro consejo: que nadie ponga en 2008 que la web está optimizada para Explorer 5.5 y Netscape 6.0 porque es sencillamente mentira.

Compartir | meneame | fresqui | del.icio.us | digg | technorati
Tags: , , , | 4 comentarios

Martes, 2 de Septiembre de 2008 por climens

Google Chrome, ¿y ahora qué?

No he podido resistir escribir algo sobre Google Chorme después de ver el estupendo comic de Scott McCloud. Otra vez la gran G da la campanada y se lanza de pleno a la guerra de los navegadores 2.0. Hasta los menos tecnófilos se habrán enterado de la noticia porque ha salido en todas partes.

Pero a mi me ha gustado mucho la noticia por muchos motivos. Por un lado, que Google es una marca de prestigio (posiblemente mucho más que Microsoft), con lo que mucha gente del entorno Windows reacia a usar Firefox va a tener otra opción muy interesante, lo que puede romper de verdad la lamentable hegemonia de Internet Explorer.

Por otro lado, me encanta que usen el motor Webkit porque es el que usa Safari y Konqueror y eso aumentará la necesidad de hacer sitios web compatibles con este motor. Se pueden ignorar un poco a los maqueros (aunque cada vez son más) y por supuesto se ignoran olímpicamente los linuxeros, pero Google simplemente no se puede ignorar. Así que habrá que hacer las cosas bien.

¿Y ahora qué? Pues muchos tendremos que plantearnos cómo enfocar la orientación de los sitios web y la adherencia a los estándares debe ser una necesidad. Ahora se puede cubrir gran cantidad de visitantes simplemente asegurando que la navegación es correcta en Firefox y Internet Explorer 7, pero claro, no se puede olvidar el 6 porque hay gente que inexplicablemente no se actualiza (la mayoría debe ser por tener versiones muy viejas de windows o ilegales de XP). Así que con esos ya son 3 versiones. Ahora también Chrome, ya son 4 navegadores y 3 motores dispares entre sí.

Así que, cada vez está más claro que la única opción viable va a ser adherirse a los estándares web, especialmente de CSS y ser implacable con las malas implementaciones. Y si nuestra web no se ve con un navegador defectuoso (especialmente IE6), insistir a nuestros clientes que no es de recibo usar esos navegadores y por nuestra parte, cumplir a rajatabla los estándares, que para algo están.

Eso sí, habrá que ver si en esta nueva guerra de navegadores no hay que lamentar bajas como hubo que hacer en la primera. Larga vida a Netscape.

Compartir | meneame | fresqui | del.icio.us | digg | technorati
Tags: , | Sin comentarios