{"id":31,"date":"2011-11-29T10:05:41","date_gmt":"2011-11-29T09:05:41","guid":{"rendered":"http:\/\/dev.qualilogy.com\/es\/?p=31"},"modified":"2013-01-04T10:10:11","modified_gmt":"2013-01-04T09:10:11","slug":"mejora-continua-de-la-calidad","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/mejora-continua-de-la-calidad\/","title":{"rendered":"Mejora contin\u00faa de la calidad"},"content":{"rendered":"<p>En el post anterior <a title=\"Medir y controlar\" href=\"http:\/\/qualilogy.com\/es\/medir-y-controlar\/\" target=\"_blank\">Medir y controlar<\/a>, hemos visto que las m\u00e9tricas cuantitativas tales como el n\u00famero de l\u00edneas de c\u00f3digo (LOC) o la medida de la complejidad cyclomatica (CC) est\u00e1n:<a href=\"http:\/\/vicken.deviantart.com\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-125\" title=\"QualContImprov\" alt=\"\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2011\/11\/QualContImprov.jpg\" width=\"180\" height=\"269\" \/><\/a><\/p>\n<ul>\n<li>F\u00e1cilmente disponibles &#8211; todas las herramientas de an\u00e1lisis de c\u00f3digo las proponen;<\/li>\n<li>Exactas &#8211; estas medidas no var\u00edan (casi nunca) seg\u00fan las herramientas;<\/li>\n<li>F\u00e1cilmente comprensibles para los ejecutivos.<\/li>\n<\/ul>\n<p>\u00bfEsto es decir que las medidas cualitativas estar\u00edan dif\u00edciles, inexactas y poco \u00fatiles? De hecho, todo depende de lo que quieres hacer, pues del caso de utilizaci\u00f3n. Hoy, veremos un caso ideal: la mejora contin\u00faa de la calidad (Continuous Improvement). <!--more--><\/p>\n<p>Elija 12 o 15 m\u00e9tricas consideradas como cr\u00edticas y para las cuales tu o tu equipo de proyecto apunta al cero defectos. Cada noche (o a finales de cada semana), el c\u00f3digo de la aplicaci\u00f3n est\u00e1 analizado y las violaciones para estas m\u00e9tricas cr\u00edticas estan identificadas. Cada ma\u00f1ana (o a principios de cada semana), el equipo de proyecto analiza los defectos recientemente introducidos y decide su remediaciones. Si la herramienta de an\u00e1lisis es conectada con la herramienta de desarrollo, estas remediaciones aparecer\u00e1n en el &#8216;task list&#8217; de cada desarrollador. Aqu\u00ed se encuentra un ejemplo de tal proceso : <a title=\"Effective Code Review with Sonar\" href=\"http:\/\/www.sonarsource.org\/effective-code-review-with-sonar\/\" target=\"_blank\">Effective Code Review with Sonar<\/a>.<\/p>\n<p>\u00bfCu\u00e1les son las ventajas de un proceso de mejora contin\u00faa de la calidad?<\/p>\n<ul>\n<li>Coste de correcci\u00f3n de los defectos el m\u00e1s bajo, porque lo m\u00e1s temprano posible en el ciclo de desarrollo. Sooner is cheaper.<\/li>\n<li>Mejora contin\u00faa de las competencias: el equipo de proyecto se familiariza con las buenas pr\u00e1cticas m\u00e1s importantes.<\/li>\n<li>Deuda t\u00e9cnica controlada: las derivas de mantenibilidad son contenidas.<\/li>\n<\/ul>\n<p>Sin embargo, con el fin de limitar la carga adicional de trabajo (an\u00e1lisis del c\u00f3digo fuente, comprobaci\u00f3n de los resultados, reparto de las correcciones \u00e1 efectuar), es recomendable disponer de unas herramientas adecuadas:<\/p>\n<ul>\n<li>Un servidor de gesti\u00f3n de versiones que permita compartir el c\u00f3digo fuente entre los desarrolladores y alimentar la herramienta de an\u00e1lisis de c\u00f3digo.<\/li>\n<li>Si es posible, una herramienta de gesti\u00f3n de pruebas para validar cada versi\u00f3n (build).<\/li>\n<li>Una herramienta de integraci\u00f3n que se encarga de automatizar las tareas de compilaci\u00f3n (build), de an\u00e1lisis de c\u00f3digo y de prueba.<\/li>\n<\/ul>\n<p>Idealmente, estas herramientas deben comunicar entre ellas, con el fin de:<\/p>\n<ul>\n<li>Subir (upload) en la herramienta de an\u00e1lisis de c\u00f3digo los resultados de las pruebas e identificar, por ejemplo, los componentes m\u00e1s peligrosos para la aplicaci\u00f3n: componentes con una Complejidad Cyclomatica (CC) elevada o muy elevada e insuficientemente probados. Porque son complejos, estos componentes presentan un riesgo elevado de introducir un defecto en caso de evoluci\u00f3n, y entonces deben ser sometidos a pruebas prioritariamente.<\/li>\n<li>Bajar (download) en la herramienta de desarrollo la lista de las correcciones a efectuar, para cada desarrollador.<\/li>\n<\/ul>\n<p>Se trata de un proceso completo de Integraci\u00f3n continua, que supone herramientas completamente integradas pero tambi\u00e9n un nivel correcto de madurez de los equipos de desarrollo. La integraci\u00f3n es importante con el fin de automatizar lo mejor posible las diferentes fases del proceso y limitar la carga adicional de trabajo y facilitar la aceptaci\u00f3n de este nuevo modo de trabajo.<\/p>\n<p>Tambi\u00e9n recomendar\u00eda empezar con un n\u00famero limitado de m\u00e9tricas, con el fin de no sumergir los programadores con buenas pr\u00e1cticas \u00e1 tolerancia cero. Ser\u00e1 posible extender el blanco m\u00e1s tarde, cuando los desarrolladores habr\u00e1n subido esta primera marcha y plenamente adherido a esta nueva organizaci\u00f3n. Por esa razon, es importante disponer de herramientas completamente integradas.<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En el post anterior Medir y controlar, hemos visto que las m\u00e9tricas cuantitativas tales como el n\u00famero de l\u00edneas de c\u00f3digo (LOC) o la medida de la complejidad cyclomatica (CC) est\u00e1n: F\u00e1cilmente disponibles &#8211; todas las herramientas de an\u00e1lisis de c\u00f3digo las proponen; Exactas &#8211; estas medidas no var\u00edan (casi nunca) seg\u00fan las herramientas; F\u00e1cilmente [&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-31","post","type-post","status-publish","format-standard","hentry","category-calidad-de-aplicaciones"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/31"}],"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=31"}],"version-history":[{"count":3,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/31\/revisions"}],"predecessor-version":[{"id":33,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/31\/revisions\/33"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=31"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=31"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=31"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}