{"id":85,"date":"2012-02-01T18:35:07","date_gmt":"2012-02-01T17:35:07","guid":{"rendered":"http:\/\/dev.qualilogy.com\/es\/?p=85"},"modified":"2013-01-04T18:35:40","modified_gmt":"2013-01-04T17:35:40","slug":"casos-de-uso-encajar-a-la-perfeccion","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/casos-de-uso-encajar-a-la-perfeccion\/","title":{"rendered":"Casos de uso &#8211; Encajar a la perfecci\u00f3n"},"content":{"rendered":"<p>Hemos visto en los dos \u00faltimos posts una serie de casos de uso muy frecuentes que requieren un n\u00famero limitado de m\u00e9tricas, entre 10 y 20 de ellas. Estos casos de uso son l0s siguientes:<\/p>\n<ul>\n<li>Validar la entrega de una aplicaci\u00f3n (Quality Gate).<\/li>\n<li>Disponer de datos objetivos para los SLAs de los proveedores.<\/li>\n<li>Los procesos de Integraci\u00f3n \/ Mejora continua de los equipos de desarrollo.<\/li>\n<\/ul>\n<p>La pregunta en comentario del primer post es : \u00bfcuales son esas 10\/20 m\u00e9tricas m\u00e1s importantes? <!--more--><\/p>\n<p>Veamos primero los casos de uso.<\/p>\n<h3><span style=\"text-decoration: underline\">Quality Gate<\/span><a href=\"http:\/\/vicken.deviantart.com\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-1050\" title=\"QualBeaubourgVicken\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/01\/QualBeaubourgVicken2.jpg\" alt=\"\" width=\"398\" height=\"156\" \/><\/a><\/h3>\n<p>Es un proceso de comprobaci\u00f3n y validaci\u00f3n de la calidad de la entrega de una aplicaci\u00f3n.<\/p>\n<p>\u00bfPorque ese nombre de \u2018Gate\u2019?<\/p>\n<p>Debido a que es una puerta entre dos fases que deja pasar o no el \u2018output\u2019 \u2013 es decir la entrega &#8211; de la fase anterior hasta la fase siguiente.<\/p>\n<p>Encontraremos por lo general dos tipos de Quality Gate:<\/p>\n<ul>\n<li>Pre-QA: no sirve perder tiempo y esfuerzos (pues dinero) en pruebas cuando ya defectos se pueden identificar autom\u00e1ticamente con un an\u00e1lisis de c\u00f3digo. Y si son demasiado numerosos, el c\u00f3digo vuelve hacia el equipo de desarrollo para que los arreglen. Esta Quality Gate se encuentra a nivel de los equipos internos (de desarrollo o de QA) de un cliente o de un proveedor.<\/li>\n<li>Pre-producci\u00f3n, con el objetivo de comprobar si quedan errores. \u00bfQuieres que los usuarios encuentren esos fallos? Claro que no: sabes muy bien lo que eso puede costar para la imagen de TI.<\/li>\n<\/ul>\n<p>\u00bfCu\u00e1l de esa Quality Gate poner en marcha? Depende del contexto de desarrollo.<br \/>\nSi la aplicaci\u00f3n est\u00e1 desarrollada internamente:<\/p>\n<ul>\n<li>Quality Gate pre-QA muy recomendable.<\/li>\n<li>Quality Gate pre-producci\u00f3n, para comprobar que las correcciones de defectos encontrados en QA no han producido nuevos defectos.<\/li>\n<\/ul>\n<p>Si la aplicaci\u00f3n es desarrollada por un proveedor (contexto Outsourcing):<\/p>\n<ul>\n<li>Quality Gate pre-producci\u00f3n mandatoria. Es recomendable que el proveedor tenga su propia Quality Gate.<\/li>\n<\/ul>\n<h3><span style=\"text-decoration: underline\">Integraci\u00f3n continua \/ Mejora continua<\/span><\/h3>\n<p>Es un proceso de an\u00e1lisis de c\u00f3digo a nivel de desarrollo, para detectar defectos tan pronto como sea posible.<br \/>\nIdealmente, se necesita un equipamiento para automatizar este proceso y no a\u00f1adir cargas de trabajo al equipo de proyecto:<\/p>\n<ul>\n<li>Una herramienta de gesti\u00f3n de versi\u00f3n para el seguimiento de los cambios de componentes y poder construir una nueva versi\u00f3n de la aplicaci\u00f3n en cualquier momento.<\/li>\n<li>Una herramienta para lanzar autom\u00e1ticamente un \u2018build\u2019 (compilaci\u00f3n) de la versi\u00f3n de la aplicaci\u00f3n y un an\u00e1lisis de c\u00f3digo. Hemos visto un ejemplo con Jenkins y Sonar: <a title=\"Permalink to Sonar \u2013 Analyse Cobol avec Jenkins\" href=\"http:\/\/qualilogy.com\/es\/analisis-de-codigo-cobol-con-sonar-y-jenkins\" rel=\"bookmark\" target=\"_blank\">Sonar \u2013 An\u00e1lisis con Jenkins<\/a>.<\/li>\n<\/ul>\n<p>Los beneficios de este proceso son m\u00faltiples:<\/p>\n<ul>\n<li>Integraci\u00f3n continua: los defectos se corrigen lo m\u00e1s ante posible<\/li>\n<li>Mejora continua: la frecuente repetici\u00f3n de los an\u00e1lisis ayuda los equipos de proyecto a respetar las buenas pr\u00e1cticas de programaci\u00f3n o de arquitectura.<\/li>\n<li>Es mucho m\u00e1s f\u00e1cil realizar un Quality Gate exitosa.<\/li>\n<\/ul>\n<p>El equipo de proyecto puede entregar o presentar al equipo de QA un informe con los resultados del \u00faltimo an\u00e1lisis. De nuevo, seg\u00fan el contexto:<\/p>\n<ul>\n<li>Desarrollo interno: el equipo de QA puede decidir pasar a la fase siguiente con solo revisar y aprobar ese informe.<\/li>\n<li>Desarrollo outsourcing: el equipo de QA revisa el informe proporcionado por el proveedor antes de poner en marcha un Quality Gate. Si se decide que se quedan demasiados defectos, mejor esperar una versi\u00f3n de mejor calidad y ajustar la planificaci\u00f3n. Si se aprueba el informe, la QA realiza su propio an\u00e1lisis en su repositorio, para comprobar los resultados del informe.<\/li>\n<\/ul>\n<h3><span style=\"text-decoration: underline\">Comprobar los SLAs de los proveedeores<\/span><\/h3>\n<p>Un Service Level Agreement (SLA) o Acuerdo de Nivel de Servicio es un contrato entre un proveedor de servicio y su cliente con objeto de fijar el nivel de calidad de dicho servicio.<\/p>\n<p>El problema m\u00e1s habitual es de disponer de datos objetivos y irrefutables para medir el nivel de calidad. Es cuando una herramienta de an\u00e1lisis de c\u00f3digo es muy \u00fatil.<br \/>\nAqu\u00ed, el contexto es \u00fanicamente de Outsourcing. Bueno, se puede tambi\u00e9n tener SLA a nivel de equipos internos pero eso se encuentra en organizaciones bastante grandes con muchos equipos de proyecto que trabajan como proveedores internos. O los directivos quieren monitorizar el rendimiento y la calidad de sus equipos internos pero en este caso, no se trata solamente de calidad de software pero tambi\u00e9n de otros datos como costes, time to market, etc.<\/p>\n<p>Un SLA se puede comprobar con cada entrega de una versi\u00f3n de aplicaci\u00f3n, con los resultados del Quality Gate. El cliente puede escoger entre 3 posibilidades, normalmente definidas en el acuerdo:<\/p>\n<ul>\n<li>OK: aceptaci\u00f3n de la entrega, cuando todos los objetivos de calidad han sido cumplidos.<\/li>\n<li>OK con reservas: aceptaci\u00f3n de la entrega, pero unos objetivos no han sido cumplidos y el proveedor tendr\u00e1 que entregar una nueva versi\u00f3n con correcciones. Esto ocurre bastante a menudo, para evitar retraso en la puesta en producci\u00f3n de la aplicaci\u00f3n, pero normalmente si los defectos que quedan no son muy graves o no impactan tanto al usuario (lo veremos a nivel de m\u00e9tricas).<\/li>\n<li>KO: quedan demasiados defectos en la nueva versi\u00f3n, la entrega es rechazada.<\/li>\n<\/ul>\n<p>Este proceso de SLAs es muy aconsejable cuando un cliente tiene diferentes proveedores, porque se puede realizar una evaluaci\u00f3n comparativa (benchmarking) de proveedores, con la consecuencia de crear una emulaci\u00f3n (para no decir una competici\u00f3n) entre ellos. Sabes, para poder decir algo como \u201cEres el \u00faltimo en el ranking de este trimestre\u201d. Eso explica tambi\u00e9n que no es muy f\u00e1cil imponerlo cuando hay un \u00fanico proveedor: en este caso, el cliente no tiene mucho peso.<\/p>\n<p>Es recomendable tener estos tres procesos en marcha para lograr una mejor sinergia y maximizar los beneficios pero de nuevo, depende del contexto:<\/p>\n<ul>\n<li>Desarrollo interno: integraci\u00f3n continua muy recomendable, Quality Gate m\u00e1s f\u00e1cil y no se necesitan SLAs (pero los datos de calidad pueden entregarse en un dashboard de pilotage de los equipos internos especialmente en TI de grande tama\u00f1o).<\/li>\n<li>Outsourcing: Quality Gate esencial y SLAs muy muy recomendables (para no decir mandatorios). Mejor que el proveedor ponga en marcha un proceso de Integraci\u00f3n continua a nivel de sus equipos, para facilitarse la vida con el cliente y no fracasar en sus Quality Gate y SLAs.<\/li>\n<\/ul>\n<p>El principal beneficio de una herramienta de an\u00e1lisis de c\u00f3digo proviene de las m\u00e9tricas de calidad que pueden objetivamente facilitar la relaci\u00f3n con el proveedor.<\/p>\n<p>Y como esos procesos trabajan juntos, vamos a encontrar m\u00e9tricas parecidas. En el pr\u00f3ximo post.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Hemos visto en los dos \u00faltimos posts una serie de casos de uso muy frecuentes que requieren un n\u00famero limitado de m\u00e9tricas, entre 10 y 20 de ellas. Estos casos de uso son l0s siguientes: Validar la entrega de una aplicaci\u00f3n (Quality Gate). Disponer de datos objetivos para los SLAs de los proveedores. Los procesos [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-85","post","type-post","status-publish","format-standard","hentry","category-calidad-de-aplicaciones"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/85"}],"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=85"}],"version-history":[{"count":1,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/85\/revisions"}],"predecessor-version":[{"id":86,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/85\/revisions\/86"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=85"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=85"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=85"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}