lunes, 2 de junio de 2014

Dumb ways to Die...haciendo Testing




Es hora que retome este blog y me ponga a escribir, hoy fui inspirado por un compañero que compartió algo interesante con el grupo de QAs de la empresa en donde trabajo. Era un tema técnico, esperaré a que lo postee en su blog y lo compartiré.
Era algo más técnico de lo que me gusta escribir a mi, pero me ayudo a pensar en que debo tomar las riendas de este blog y volver a escribir, de lo que me salga de adentro, de lo que sienta sobre esta profesión.
Hoy quiero hablar de situaciones negativas, de momentos en que los Testers de sistemas nos sentimos "morir", en donde queremos abandonar la profesión. Muchas veces nos causamos a nosotros mismos estas situaciones evitables, que nos hacen sufrir pero que, si aprendemos a sortearlas, podremos disfrutar un poco mas y ver que esta profesión que nos gusta, vale la pena.
El titulo de este post esta inspirado en una campaña del metro Australiano para evitar muertes en las vías y estaciones de trenes, que podrían evitarse fácilmente: Maneras tontas de morir...testeando en nuestro caso.

Molestar a un Oso...o a un desarrollador:

Si, no son dioses, son seres humanos que se equivocan y mas veces de lo que ellos creen. Pero tampoco debemos estar con un palito pellizcando los cada vez que les encontramos un bug, porque nos comerán vivos, harán que el clima laboral se espese y nos entreguen cosas de mala gana o poca calidad. Debemos convertirnos en sus aliados (pero sin amiguismos, ya veremos por qué) en las personas que los ayudaremos a hacer mejor su trabajo y que se vean bien ante los jefes. De esta manera nos ayudaran a hacer mejor nuestro trabajo, a darnos una mano cuando la necesitemos.
Caso contrario, trabajar en un ambiente hostil (recuerden que los Testers/QAs somos pocos en cada equipo) puede volverse una pesadilla de la que no podamos salir, y tal vez le echemos la culpa a trabajar de Testers de software y no queramos hacerlo mas.

Ser comido por pirañas...o tus amigos los desarrolladores:

Llevarse bien con los Devs esta bien, ser amigos fuera del trabajo...genial. Ahora, a la hora de trabajar, el amiguismo puede ser contraproducente. A veces sucede que un desarrollador, especialmente uno que nos cae bien, nos puede pedir "un favor" a la hora de reportar un bug y que no lo hagamos. Otras veces, la propia simpatía y confianza que le tenemos, nos lleva a testear mas "displicentemente". En ambos casos, estos actos de buena fe nos pueden explotar en la cara, por que no estamos haciendo nuestro trabajo correctamente. No somos policías de la calidad ni debemos ser malos tipos con nuestros compañeros (recuerden el oso...) pero a la hora de testear, no hay amigos, no hay amiguismo ni nada, a cara de perro contra la pantalla y a hacer nuestro mejor esfuerzo. Esos amigos, si lo son realmente, apreciaran nuestro feedback y trataran de solucionar el problema rápidamente.
El amiguismo nos puede llevar a hacer mal el trabajo, a que nuestros jefes nos reprendan y a que terminemos odiando el trabajo. Hay que saber separar la paja del trigo.


Hacer testing solo por la plata...o venderte a cualquier precio:

Hay gente que hace cualquier cosa por la plata, inclusive ver al testing como un escalón mas para llegar a otra puesto que nos de mas plata, claro. Es común que a los QAs nos paguen menos, son cosas inexplicables, generalmente por lo mal que ha llevado la industria del software la importancia que tiene el Testing en el ciclo de desarrollo de software. Pero los buenos testers del mundo son muy buenos en lo que hacen y ganan muy bien, como lo hacen? Bueno, se capacitan, desarrollan su profesión, la llevan a nuevos horizontes, resuelven los problemas mejor y mas rápidamente que el resto...y se hacen valer. No solo económicamente, si no moralmente.
Otro problema de los testers, que los lleva a la inanición profesional, es que venden sus ideales, sus creencias del cómo debe desarrollarse su profesión, por unos pesos mas. Algunos lo hacen aceptando procesos y "buenas prácticas" obsoletas de hace años, otros patrocinando en sus empresas la compra de herramientas caras y obtusas, pero de renombre y con respaldo, con las cuales juegan "sobre seguro" (hp, ejem...) A la larga, esos testers se sienten miserables, así como los testers poco cualificados que buscan escalar, pero al no poder hacer bien su trabajo, solo terminan muriendo en la ignominia.

El tester suicida: 

No somos los gatekeepers, los guardianes del producto y su calidad. Somos los responsables de generar información para que los que toman las decisiones, puedan tomarlas sabiendo el estado actual del producto. Somos los responsables de ayudar a todo el equipo a trabajar en la calidad del producto, del primero al ultimo miembro, del primero al ultimo proceso, pero tampoco somos la policía del equipo, ese no es nuestro trabajo. En ambos casos, lo único que lograremos es inmolarnos en nombre de la calidad, haciendo cosas de poco valor. Y cuando todos nos apunten como los culpables, nos querremos morir y dejar el Testing para siempre.

Quemarse la cabeza...por hacer mal el trabajo

El desarrollo de software es una actividad creativa, una actividad pensante, y el testing lo es aún mas. Usamos todos nuestros sentidos, exprimimos nuestro cerebro al máximo para que no se nos escape ningún bug. El cerebro, según cuenta el Dr. Daniel Kahneman en su libro Pensar rápido, pensar despacio, dice que tenemos 2 sistemas, en donde (a grande rasgos) el sistema1 se encarga de las tareas rutinarias y el sistema2 de las tareas de control y de calculo. Si el tester usa su sistema1 únicamente, se le escapará la mayoría de los bugs. Los testers suelen usar este sistema demasiadas veces cuando hacen scripting testing. Un tester de clase mundial, trata de usar su sistema2 mas tiempo, que le permite chequear y verificar cosas que al sistema1 se le escapan. Esto tiene una consecuencia, el sistema2 usa y gasta mas energía que el sistema1, y nos agotamos mas rápidamente. Es por esto que los testers deben realizar sus tareas en sesiones cortas y tomarse descansos entre una sesión y otra, para poder encarar mejor el trabajo. De esta manera uno evitará que bugs obvios se nos escapen, al mismo tiempo que evitamos quemarnos la cabeza y morir de síndrome de Burnout.


Seguramente puedo escribir sobre muchas otras formas de "morir" testeando, pero el post sería muy largo. Si alguien quiere comentar y agregar nuevas formas, será bienvenido.

Finalmente les dejo abajo el video original de Dumb ways to Die, espero que les guste (es muy adictiva la canción)

4 comentarios:

  1. ¿En relación a venderte a cualquier precio, queres decir que si el cliente no se adapta a lo que uno considera es la manera de trabajar en un proyecto, deberias pasar de ese proyecto? Pregunto sobre tu experiencia, porque mas de una vez me termine alejando de un proyecto por no poder acordar la manera de trabajar y no querer comprometerme en situaciones que a mi entender no iban a tener un buen final ... pero siempre me termina dejando la sensacion de oportunidades desperdiciadas ...

    ResponderEliminar
    Respuestas
    1. Gracias Rodrigo por leer el post.
      Lo que creo que uno debe hacer es trabajar en un proyecto en donde uno se sienta cómodo, tanto con sus compañeros como con sus jefes o clientes, si no, a la larga, será para peor, dejaremos de querer aprender y mejorar nuestra habilidades, nos marchitaremos en un ambiente que no soportamos.
      Uno debe demostrarle al cliente que la manera que creemos es correcta de trabajar, le será beneficiosa. Si así no lo entiende, debemos sopesar que es mas importante para nosotros.
      Por suerte en sistemas hay miles de oportunidades, solo hay que buscarlas y atraerlas.
      Después hay gente que no le importa el trabajo, solo quiere cobrar a fin de mes y cumple con lo justo y necesario que le piden. De esa gente mejor alejarse ;)

      Eliminar
    2. Muchas gracias por tu feedback. Lo único en lo que no estoy muy de acuerdo es que resulte fácil encontrar nuevos proyectos. Hay mucha necesidad de gente, pero es bastante difícil coincidir en tiempos, estructura, valores, etc

      Eliminar
    3. Si, es verdad que por ahi en Mendoza, el espectro es mas limitado que en Buenos Aires.
      Antes de venirme a Mendoza, muchas gente me podría haber dicho que en este pais, moverse de una provincia a otra con trabajo es casi imposible, y lo es, pero casi no es imposible, se puede, la busqueda es mas dificil, la tarea es mas ardua y mas si uno se va de BsAs en donde hay tantas oportunidades, al "interior" en donde hay tan pocas. Por suerte lo logre, y mas rapido de lo que esperaba, y empecé un rol nuevo (si, empecé con el testing en Mendoza...) en un proyecto horrible para hacer testing, me lo banqué, luego se cayo solo y caí en otro proyecto mejor en donde pude aportar las cosas nuevas que iba aprendiendo, hasta llegar a hacer una presentación en USA ante el cliente proponiendo hacer cosas nuevas, algunas las tomaron, otras no, pero valoran mi trabajo y me escuchan, se que en muchos proyectos no lo hacen y al hacer outsourcing te tratan como empleado de segunda algunas empresas-clientes.
      El mundo es grande y las oportunidades estan...si no es en Mendoza, seran en San Luis o en Bariloche, en Buenos Aires o Montevideo, en EEUU o Europa, cuando no aparecen las oportunidades, no hay que tener miedo al cambio y salir a buscarlas, y si no se dan, ir a otro lado y seguir intentando y capacitandose para lograrlo.
      Perdon si sueno muy "Ghandi" no es mi intencion, no tengo la verdad ni soy un iluminado,pero pienso que es asi.
      Saludos
      Damian

      Eliminar