Evidencia objetiva

On 11 marzo, 2016, in Sin categoría, by twiindan

Este termino me persiguió fervientemente durante mi estancia en el sector médico, probablemente eran las dos palabras que más les gustaba sacar a la luz los talibanes de la FDA (Food and Drug Administration), ya que era un termino muy utilizado en la normativa médica. La verdad que son dos palabras que llegue a odiar con todas mis fuerzas ya que solían salir cuando presentabas algún proceso fuera de lo común y no encontraban argumentos en contra para rebatirlo, algo así como la ley de Godwin.

Si buscamos su significado no tiene ningún misterio y tiene toda la lógica del mundo:

  • Evidencia Objetiva Información cuya veracidad puede demostrarse, basada en hechos y obtenida por observación, medición, ensayo u otros medios.

Es decir una evidencia objetiva es aquella que permite demostrarse y aunque no lo ponga explícitamente debería ser repetible, en resumen, que sigue los criterios del método científico. El problema es acotar los términos “demostrarse, basada en hechos, etc.”.

Un ejemplo por el cual empece a odiar esa palabra fue cuando intente hacer testing exploratorio. El testing exploratorio como tal no es un hecho repetible (hay muchas variables que pueden influir que hacen que no lo sea) por lo que demostrarlo posteriormente puede llegar a ser complicado. A quien no le ha pasado que haciendo testing exploratorio ha encontrado un bug y no ha podido volver a reproducirlo?  Entonces se me ocurrió una idea, crear un snapshot del sistema antes de empezar el testing exploratorio y grabar la sesión en vídeo para así poder tener ese hecho observable (el video) y poder repetir los pasos (gracias al snapshot). Aquí fue una de las veces que por activa y por pasiva me dijeron que un video no constituye una evidencia objetiva, cosa que posteriormente pude demostrar que no era cierta… aun así mi odio por esa palabra ya era elevado y siempre he intentado evitarla y olvidarla… hasta hace poco…

En mi proyecto tuve que hacer una comparativa de dos versiones del producto que estamos desarrollando, una versión de referencia y otra versión “supuestamente” mejorada que incluía unas mejoras de performance que debía hacer que la web del servicio se cargara com más celeridad. Lo primero que pensé fue hacerlo a mano, es decir coger dos móviles y cargar la pagina al mismo tiempo. El motivo de esta decisión era eliminar las fluctuaciones de red que podrían haber al hacerlo en momentos diferentes, y así poder ver el efecto de la carga simultáneamente, buscaba el efecto WOW! Que diferencia!

El resultado, un grandioso FAIL. El 90 % de las veces que hacia la prueba ganaba la versión de referencia, la que no tenía las mejoras de performance. Lo primero que pensé fue que el factor humano (mi dedo) me estaba perjudicando los resultados, es decir que la mayoría de las veces apretaba antes la carga de la solución de referencia y eso hacía que la otra fuera por detrás. Es decir lo que yo creía que era una evidencia objetiva ya que estaba basada en hechos y por observación no era tan “objetiva” como pensaba.

El problema no era del concepto en si, si no de como lo estaba midiendo. La valoración que estaba haciendo no era del todo objetiva ya que lo medía manualmente y esto añadía un error humano que solo se puede evitar de una forma, que la validación la hiciera una máquina.

Para ello hice un pequeño script que navegara a las dos versiones y me calculara los valores de carga de la página (en otro post explicaré como lo hicimos). Los resultados fueron bastante concisos.

  • Mediana del tiempo carga de la página de la versión antigua: 8.6 seg
  • Mediana del tiempo de carga de la pagina de la versión nueva: 6.2 seg

Viendo estos datos todo el mundo pensaría que efectivamente la carga de la página es mucho mejor en la nueva versión, entonces porque siempre me parecía que la otra iba más rápida? La respuesta es que estaba midiendo un parámetro equivocado :(

Lo que yo quería medir no era el tiempo de carga de la página, si no la primera carga que se ofrece al usuario para mejorar la experiencia de este, el parámetro que mejor lo define es el DOMContentLoaded.

Para ello esta vez repetí las pruebas calculando el nuevo parámetro:

  • Mediana del tiempo del DOMContentLoaded de la página de la versión antigua: 2.1 seg
  • Mediana del tiempo del DOMContentLoaded de la página de la versión nueva: 2.3 seg

En este caso si que podemos validar que el primer contenido mostrado es más rápida en la versión antigua que en la nueva.

Con todo esto he sacado diferentes conclusiones:

  • No se ha de utilizar una evidencia objetiva que no este contrastada con datos para imponer una metodología, proceso… en ningún caso.
  • La evidencia objetiva es importante pero aunque podamos tener hechos observables de forma manual (visualmente) es importante el grado de objetividad que ofrece un script que te permita respaldar esa hipótesis mediante datos y resultados. Sin esos datos esa evidencia no puede tacharse de “objetiva”.
  • Es importante saber que hay que medir, los parámetros o variables que usamos en nuestras hipótesis han de ser muy claros y precisos, si no la evidencia objetiva no tiene sentido.

 

Share and Enjoy:
  • Facebook
  • Twitter
  • Google Buzz
  • LinkedIn
 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *