{"id":134,"date":"2012-05-12T09:11:11","date_gmt":"2012-05-12T08:11:11","guid":{"rendered":"http:\/\/dev.qualilogy.com\/es\/?p=134"},"modified":"2013-01-05T09:13:17","modified_gmt":"2013-01-05T08:13:17","slug":"cherchez-lerreur-22","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/cherchez-lerreur-22\/","title":{"rendered":"Cherchez l&#8217;erreur (2\/2)"},"content":{"rendered":"<p><a href=\"http:\/\/vicken.deviantart.com\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1720\" title=\"qualerreur2r\" alt=\"\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/05\/qualerreur2r.jpg\" width=\"280\" height=\"405\" \/><\/a>El bug presentado en nuestro <a href=\"http:\/\/qualilogy.com\/es\/cherchez-lerreur\" target=\"_blank\">post<\/a> anterior atrajo a un gran n\u00famero de comentarios muy interesantes<\/p>\n<p>As\u00ed que, primero, un gran agradecimiento a todos los que expresaron sus puntos de vista, ya que fue precisamente el objetivo de esta publicaci\u00f3n.<\/p>\n<p>Mi experiencia en consultor\u00eda es m\u00e1s bien orientada a las &#8216;mejores pr\u00e1cticas&#8217; en t\u00e9rminos de ciclo de vida del proyecto. No soy un experto en control de calidad.<\/p>\n<p>Pero trabajo regularmente con buenos profesionales de QA y yo ten\u00eda mucha curiosidad acerca de las opiniones de personas m\u00e1s expertas que yo en esta \u00e1rea &#8230; antes de hacer algunas suposiciones en este segundo post.<\/p>\n<p><!--more--><\/p>\n<p>En primer lugar, un resumen del error que hemos encontrado.<\/p>\n<p>Un sitio web ofrece a la venta todos los d\u00edas diferentes productos de diferentes marcas, cada una en una tienda virtual donde se puede navegar y a\u00f1adir lo que nos interesa a una cesta (virtual). Una vez las compras validadas y el pago realizado, puedes seleccionar una marca diferente y hacer nuevas adquisiciones. Entonces, el sitio permite agrupar las nuevas compras con las anteriores en una sola entrega. Esta es la operaci\u00f3n por defecto.<\/p>\n<p>En mi caso, he comprado dos art\u00edculos diferentes de la misma marca, pero cuando trat\u00e9 de hacer el pago, un mensaje me inform\u00f3 que estos dos objetos requieren dos entregas diferentes. Tuve que hacer dos compras y dos pagos separados. La operaci\u00f3n por defecto no es aplicable.<\/p>\n<p>Pues volv\u00ed a la tienda para hacer una compra inicial (2 sillas de jard\u00edn), y luego una segunda compra (una hamaca) y cuando trat\u00e9 de validar &#8230; el sitio web me ofrecio agrupar las diferentes compras en una entrega \u00fanica. Es decir, se me propone el proceso por defecto que no debe aplicarse. Debo confesar que yo pod\u00eda adivinar el defecto, y la curiosidad me llev\u00f3 a aceptar, para encontrarme con:<\/p>\n<ul>\n<li>Una p\u00e1gina de error gen\u00e9rica muy imprecisa, de absolutamente ninguna ayuda.<\/li>\n<li>Una sesi\u00f3n \u2018web\u2019 completamente inestable, sin la posibilidad de reinitializar mi carrito y volver a un proceso normal que me hubiera permitido finalizar mi compra.<\/li>\n<\/ul>\n<p>Quitar el sitio para volver de nuevo no hubo ning\u00fan efecto. Tuve que cerrar mi navegador y volver a iniciar una nueva sesi\u00f3n con el fin de hacer mis compras. Espero que encontrar\u00e9 ellas a la altura de las dificultades para adquirirlas.<\/p>\n<p>Si trato de pensar con un punto de vista desde el proyecto: el proceso de entrega habitual no se aplica, y el desarrollador ha implementado correctamente un proceso \u00abpor excepci\u00f3n\u00bb. Sin embargo, la integraci\u00f3n de esta nueva funcionalidad con el proceso \u00abpor defecto\u00bb existente conduce a un error grave. Trat\u00e9 de imaginar lo que podr\u00eda ser la causa, y fue entonces cuando decid\u00ed realizar un primer post y pedir su opini\u00f3n a la comunidad de los profesionales de QA.<\/p>\n<p>Cherchez l&#8217;erreur.<\/p>\n<p>Vuestros comentarios (en resumen):<\/p>\n<ul>\n<li>No es un defecto de testing: es &#8216;no testing&#8217;.<\/li>\n<li>No es un defecto de testing: es un problema de dise\u00f1o.<\/li>\n<li>Un buen tester debe ser capaz de abandonar la l\u00f3gica de QA y pasar al otro lado: la de la l\u00f3gica de usuario.<\/li>\n<li>Esta es una situaci\u00f3n cl\u00e1sica, donde la presi\u00f3n del time-to-market y la falta de recursos conducen a una falta de pruebas.<\/li>\n<\/ul>\n<p>El objetivo principal de cualquier prueba es asegurar que un producto responde correctamente a lo que se espera en t\u00e9rminos de funci\u00f3n y calidad. La QA es una profesi\u00f3n, una especialidad en s\u00ed misma, que requiere habilidades y experiencia. En nuestro ejemplo, podemos considerar que esta funcionalidad no ha sido probada, o que las pruebas no se realizaron correctamente.<\/p>\n<p>El hecho de que el sitio se refiere a una sola p\u00e1gina para todos los posibles problemas me dej\u00f3 pensar que el presupuesto de desarrollo \/ QA no es a nivel del crecimiento del sitio web. Veo esto como un signo de pereza o de falta de recursos. Una admisi\u00f3n de impotencia. La gesti\u00f3n de errores no es claramente una prioridad.<\/p>\n<p>\u00bfC\u00f3mo? No puedo hacer una compra, y esto no es una prioridad? Este sitio web no quiere mi dinero?<\/p>\n<p>Yo quer\u00eda saber m\u00e1s y llam\u00e9 a un amigo, un consultor independiente como yo, con un buen conocimiento de este tipo de sitios comerciales y de las dificultades que enfrentan. As\u00ed que hemos hablado acerca de prioridades. Esto es lo que aprend\u00ed:<\/p>\n<ul>\n<li>Este sitio gestiona m\u00e1s de 100.000 visitas por d\u00eda, con un tiempo de respuesta \u00f3ptimo y sin ninguna interrupci\u00f3n. En 2011, 1.500 marcas vendieron sus productos<\/li>\n<li>Desarrollo y control de calidad se gestionan internamente, con cerca de sesenta personas. No hay outsourcing.<\/li>\n<li>Este departamento se encarga de sus propias aplicaciones y tambi\u00e9n utiliza diferentes sistemas ERP. Metodolog\u00edas en V (Waterfall) y Scrum.<\/li>\n<li>La compa\u00f1\u00eda ha abierto oficinas en diferentes pa\u00edses. Existe un rumor sobre un posible proyecto para entrar en el Cloud con unas infraestructura SaaS para clientes que quieren su propia tienda online.<\/li>\n<\/ul>\n<p>Una an\u00e9cdota proporcionada por mi amigo. Un cliente puede solicitar un reembolso si la compra, una vez recibida, no cumple con sus deseos: producto defectuoso, tama\u00f1o equivocado, o simplemente, no lo quiere m\u00e1s. En este caso, se devuelva el producto y se puede solicitar un reembolso. Hace unos a\u00f1os, sucedi\u00f3 que todos los pagos se suspendieron durante varias semanas debido a un bug. El management hab\u00eda dejado los pagos durante el tiempo necesario para volver a escribir la aplicaci\u00f3n o implementar un sistema ERP con la misma funci\u00f3n. \u00bfPuedes imaginar la furia de los usuarios y la mala imagen para el sitio web?<\/p>\n<p>No hacer una prioridad de los usuarios no es la elecci\u00f3n de un \u00fanico programador o de un tester: es una opci\u00f3n del management. Y conozco una sola prioridad m\u00e1s importante que el usuario: el presupuesto.<br \/>\nEste no es el caso aqu\u00ed. Este sitio web es una empresa pionera y l\u00edder del mercado en las ventas privadas, con un crecimiento impresionante. Estoy hablando de una nueva empresa en marcha para la conquista del mundo, no una empresa centenaria en un mercado en declive.<\/p>\n<p>Creo que se trata de un equipo TI cuya prioridad es satisfacer el crecimiento del negocio, estar listo para la apertura de cada nueva filial, para gestionar la log\u00edstica de los distintos proveedores y decenas de miles de clientes, para evitar cualquier interrupci\u00f3n o malo rendimiento &#8230; lo que significa una acumulaci\u00f3n de capas tecnologicas a lo largo del tiempo, aplicaciones desarrolladas internamente a una velocidad significativa, la duplicaci\u00f3n \/ especializaci\u00f3n en sistemas de acuerdo con las regulaciones de cada nuevo pa\u00eds, la integraci\u00f3n de ERP diferentes, etc .<\/p>\n<p>Llega un momento en que la acumulaci\u00f3n de la deuda t\u00e9cnica es tal que:<\/p>\n<ul>\n<li>Un m\u00f3dulo entero &#8211; como el del reembolso &#8211; puede cesar de funcionar: que no se paga durante varias semanas, sin siquiera tratar de encontrar una soluci\u00f3n, durante el tiempo necesario para implementar un nuevo software.<\/li>\n<li>El n\u00famero de errores encontrados es demasiado importante como para manejar cada uno de forma independiente: se implementa una p\u00e1gina de error gen\u00e9rica y el usuario tiene que hacer lo que puede con esto.<\/li>\n<li>Y ya que el usuario no es una prioridad, si todos los errores posibles est\u00e1n cobiertos, \u00bfpor qu\u00e9 perder el tiempo en pruebas?<\/li>\n<\/ul>\n<p>Llega un momento en que hay tantas fugas que ya no se trata de arreglar cada uno de ellas: colocar un barril grande y una cuchara.<\/p>\n<p>Como consultor de calidad, mis recomendaciones ser\u00edan:<\/p>\n<ul>\n<li>Un an\u00e1lisis sistem\u00e1tico de la calidad del c\u00f3digo de todas las aplicaciones.<\/li>\n<li>Identificar los sistemas demasiado pesados, que ya no pueden permitir ning\u00fan flexibilidad en time-to-market, experimentando retrasos en el desarrollo y importantes esfuerzos de QA.<\/li>\n<li>Cruzar estos datos de proyectos con los de la calidad del c\u00f3digo para decidir qu\u00e9 partes del portafolio de aplicaciones necesitan refactoring.<\/li>\n<\/ul>\n<p>Tambi\u00e9n ver si la metodolog\u00eda utilizada puede explicar algunos malos resultados en t\u00e9rminos de proyecto. Si la QA descubre demasiados errores demasiado tarde en el ciclo de vida del proyecto, llega un punto en el que el esfuerzo de pruebas es demasiado importante para permitir correcciones antes de la fecha l\u00edmite.<\/p>\n<p>Si el rumor es cierto que implica proponer el sitio como Software-as-a-Service, la refactorizaci\u00f3n no s\u00f3lo se justifica sino es mandatoria. No se trata simplemente de poner al usuario en el centro de la estrategia TI, esto es impredicible para seguir el crecimiento.<\/p>\n<p>Ya he encontrado este tipo de situaci\u00f3n en empresas de telecomunicaciones. Tuvieron que enfrentarse a un crecimiento muy fuerte y sus departamentos de TI experimentaron esos mismos problemas, y ahora deben gestionar sistemas de mala calidad, errores incontables, &#8230; salvo que estas empresas ya no son en un mercado en crecimiento y que los presupuestos de TI se est\u00e1n reduciendo y no se pueden pagar una refactorizaci\u00f3n ahora.<\/p>\n<p>Y eso es cuando el management decide poner al usuario en el centro de su estrategia porque, cuando no hay crecimiento, cuando ya no es posible obtener nuevos clientes, es cuando evitar la p\u00e9rdida de los clientes se convierte en la prioridad.<\/p>\n<p>Cherchez l\u2019erreur\u2026 antes de que sea demasiado tarde.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>El bug presentado en nuestro post anterior atrajo a un gran n\u00famero de comentarios muy interesantes As\u00ed que, primero, un gran agradecimiento a todos los que expresaron sus puntos de vista, ya que fue precisamente el objetivo de esta publicaci\u00f3n. Mi experiencia en consultor\u00eda es m\u00e1s bien orientada a las &#8216;mejores pr\u00e1cticas&#8217; en t\u00e9rminos de [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-134","post","type-post","status-publish","format-standard","hentry","category-qa"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/134"}],"collection":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/comments?post=134"}],"version-history":[{"count":4,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/134\/revisions"}],"predecessor-version":[{"id":138,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/134\/revisions\/138"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=134"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=134"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=134"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}