{"id":167,"date":"2012-09-17T11:07:01","date_gmt":"2012-09-17T10:07:01","guid":{"rendered":"http:\/\/dev.qualilogy.com\/es\/?p=167"},"modified":"2013-01-05T11:07:38","modified_gmt":"2013-01-05T10:07:38","slug":"evaluar-el-esfuerzo-antes-del-proyecto","status":"publish","type":"post","link":"http:\/\/qualilogy.com\/es\/evaluar-el-esfuerzo-antes-del-proyecto\/","title":{"rendered":"Evaluar el esfuerzo antes del proyecto"},"content":{"rendered":"<p><a href=\"http:\/\/vicken.deviantart.com\/\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" class=\"alignright size-full wp-image-2283\" title=\"EffortQA\" src=\"http:\/\/qualilogy.com\/wp-content\/uploads\/2012\/09\/EffortQA.jpg\" alt=\"\" width=\"294\" height=\"441\" \/><\/a>Vicente Merino preguntaba en <a title=\"Complejidad y esfuerzo de QA\" href=\"http:\/\/qualilogy.com\/es\/complejidad-y-esfuerzo-de-qa\" target=\"_blank\">el \u00faltimo post<\/a> sobre la complejidad y el esfuerzo de QA: \u00ab\u00bfC\u00f3mo evaluar el esfuerzo cuando no tienes ya c\u00f3digo\u00bb y \u00ab\u00bfEs posible decidir al principio del proyecto si es suficientemente importante para requerir un equipo de control de calidad independiente y formalizar un plan de pruebas? \u00bb<\/p>\n<p>Imaginamos que eres responsable de TI en una empresa de telecomunicaciones. Por tanto, es de tu responsabilidad:<\/p>\n<ul>\n<li>que los clientes puedan conectarse en el sitio web de la empresa para ver su factura, su n\u00famero de puntos, adquirir nuevos servicios, un nuevo movil, etc.<\/li>\n<li>que los empleados que atienden a estos clientes puedan conectarse al mismo sitio, sino tambi\u00e9n a otras aplicaciones para verificar la cuenta de un cliente, un problema de pago, etc.<\/li>\n<li> pues que las aplicaciones comerciales permiten vender y que las aplicaciones financieras permiten cobrar. <!--more--><\/li>\n<\/ul>\n<p>Un d\u00eda, el director comercial y el director financiero te avisan \u00abVamos a tener una importante nueva oferta comercial. Las aplicaciones deben estar listas para eso dentro de dos meses\u00bb<\/p>\n<p>Claro que tienes algunas preguntas para aclarar las caracter\u00edsticas de esta nueva oferta con el fin de preparar un plan de proyecto y movilizar a tus equipos. Y claro que las respuestas son poco precisas: entiendes que los cambios necesarios son significativos y tocan a muchas aplicaciones. No es simplemente crear una nueva oferta pero modificar los mecanismos de venta, de promoci\u00f3n, de pago, etc. y las estructuras de datos para estos tratamientos.<\/p>\n<p>En este ejemplo, no es posible esperar que las especificaciones est\u00e1n suficientemente definidas para poder iniciar el proyecto, hay que empezar lo antes posible y trabajar con los usuarios en ciclos iterativos para crear especificaciones y desarrollar a medida que se vuelven m\u00e1s claras. Una metodolog\u00eda de tipo Agile ser\u00e1 m\u00e1s eficaz en esta situaci\u00f3n.<\/p>\n<p>Hemos visto en este post \u2018<a title=\"Casos de uso \u2013 Encajar a la perfecci\u00f3n\" href=\"http:\/\/qualilogy.com\/es\/casos-de-uso-encajar-a-la-perfeccion\" target=\"_blank\">Casos de uso \u2013 Encajar a la perfecci\u00f3n<\/a>\u2019 como un ciclo de integraci\u00f3n continua permite a los programadores probar el c\u00f3digo de manera continua cuando se desarrolla. Con una estimaci\u00f3n de la complejidad de las diferentes evoluciones para las diferentes aplicaciones, ser\u00e1 posible decidir lo antes posible en el proyecto si se necesita una Quality Gate y un equipo dedicado para realizar pruebas de control de calidad y para cuales modulos aplicativos.<\/p>\n<p>En este ejemplo, el proyecto ya se ha iniciado, lo cual no es exactamente responder a la pregunta de Vicente, pero yo s\u00f3lo quer\u00eda indicar que es posible determinar cuanto antes si se necesitar\u00e1n los servicios de un equipo de QA y hacer una evaluaci\u00f3n de la magnitud de esta fase y del esfuerzo de pruebas.<\/p>\n<p>Consideramos ahora el caso en que la evaluaci\u00f3n de este esfuerzo, y de hecho, de todo el proyecto, se debe realizar antes de que comience. Esta vez, el director comercial habla de un proyecto para un producto completamente nuevo y el director financiero te pregunta cu\u00e1l ser\u00eda el coste para desarrollar nuevas aplicaciones para los clientes y los servicios al cliente, y si ser\u00eda posible reutilizar las actuales aplicaciones financieras o si se necesita crear otras nuevas.<\/p>\n<p>\u00bfC\u00f3mo evaluar las actividades y las cargas de desarrollo y de control de calidad? En tal caso, se proceder\u00e1 por analog\u00eda.<\/p>\n<p>Incluso si se trata de un nuevo proyecto para el que no tenemos especificaciones, ya hemos hecho aplicaciones para casos de negocios similares, y podemos tratar de evaluar el tama\u00f1o y la complejidad del proyecto bas\u00e1ndonos en los puntos de los que tenemos datos de referencia. Aqui tengo una lista proporcionada por Gustavo Terrera, con un muy buen blog dedicado a estos temas: <a title=\"Testingbaires.com\" href=\"http:\/\/testingbaires.com\/\" target=\"_blank\">testingbaires.com<\/a>.<\/p>\n<ul>\n<li>N\u00famero de aplicaciones, n\u00famero de m\u00f3dulos nuevos o a cambiar, n\u00famero de funciones por m\u00f3dulo: tenemos un conocimiento de nuestro negocio suficiente para saber crear la cadena de las diferentes aplicaciones necesarias para esta nueva oferta e identificar m\u00f3dulos funcionales.<\/li>\n<li>La criticidad de cada aplicaci\u00f3n \/ m\u00f3dulo, la criticidad de los principales tratamientos en cada m\u00f3dulo, a nivel de desarrollo \/ de pruebas, perfiles de usuario. Una vez que se ha establecido la mapa de las aplicaciones y de los m\u00f3dulos, podemos tratar una evaluaci\u00f3n de la complejidad de cada uno de ellos, de nuevo procediendo por analog\u00eda con otras aplicaciones similares que conocemos bien.<\/li>\n<li>N\u00famero de bases de datos, n\u00famero de programas batch, n\u00famero de interfaces, n\u00famero de navegadores que probar, tecnolog\u00edas, lenguajes de desarrollo, pruebas de rendimiento, de seguridad &#8230; Ahora estamos interesados \u200b\u200ben la dimensi\u00f3n t\u00e9cnica, con el fin de evaluar el esfuerzo de pruebas. Podemos pedir esta evaluaci\u00f3n al equipo de control de calidad que tiene m\u00e1s referencias o experiencia.<\/li>\n<\/ul>\n<p>Basandonos en estos datos, se puede ahora realizar una evaluaci\u00f3n del tiempo necesario para definir y realizar los casos de pruebas y su documentaci\u00f3n.<\/p>\n<p>Esta estimaci\u00f3n por analog\u00eda no es necesariamente muy precisa, pero podemos conseguir uno o m\u00e1s escenarios para el director financiero y justificar cada uno con datos basados \u200b\u200ben nuestro conocimiento de casos similares.<\/p>\n<p>Estos dos ejemplos diferentes normalmente deber\u00edan cubrir la mayor\u00eda de los casos:<\/p>\n<ul>\n<li>Cuando la necesidad a nivel de negocio es bastante cr\u00edtica, es usual de ver el proyecto empezar sin un an\u00e1lisis de costes y sin una evaluaci\u00f3n precisa de los esfuerzos de desarrollo y de control de calidad. Algunas metodolog\u00edas o procesos, sin embargo, nos permiten especificar estos costes lo antes posible en el ciclo de vida del proyecto.<\/li>\n<li>M\u00e1s importante el proyecto o m\u00e1s riesgoso para la empresa, y m\u00e1s se necesita calcular el retorno de la inversi\u00f3n. Se proceder\u00e1 a un an\u00e1lisis m\u00e1s riguroso de los costes potenciales, lo cual ser\u00e1 posible con nuestro conocimiento pr\u00e1ctico y nuestra experiencia. El problema puede ser en la existencia o la recolecci\u00f3n de los datos, en n\u00famero suficiente para poder crear un repositorio que permite la evaluaci\u00f3n por comparaci\u00f3n con ellos.<\/li>\n<\/ul>\n<p>Sigue todavia un caso, probablemente m\u00e1s inusual, pero que puede ocurrir. Esta vez, el director comercial y el director financiero est\u00e1n estudiando la posibilidad de desarrollar una nueva estrategia en un nuevo mercado: la venta de seguros por tel\u00e9fono a todos los clientes, seguro de viaje, seguro m\u00e9dico, seguro de accidentes, etc &#8230;<\/p>\n<p>Esta vez, no tenemos referencias que nos permiten estimar, por analog\u00eda, el coste de alcanzar tal sistema, ni tenemos los conocimientos funcionales por este nuevo negocio. \u00bfQu\u00e9 hacer?<\/p>\n<p>Le pregunt\u00e9 a Capers Jones, sin duda la persona m\u00e1s experta en la estimaci\u00f3n de costes (y puntos de funci\u00f3n) que me envi\u00f3 un documento a disposici\u00f3n en su sitio web <a href=\"http:\/\/www.namcook.com\/\" target=\"_blank\">Namcook.com<\/a> con respecto a la estimaci\u00f3n de costes en un tal caso, utilizando un m\u00e9todo (patentado). Se basa en un cuestionario sobre datos normalmente disponibles antes del inicio del proyecto, como por ejemplo:<\/p>\n<ol>\n<li>Salario promedio y cargas de trabajo del equipo del proyecto.<\/li>\n<li>Fecha de inicio y fecha de entrega del proyecto.<\/li>\n<li>Metodolog\u00eda de desarrollo: Agile, RUP, etc.<\/li>\n<li>Nivel CMMI del equipo del proyecto.<\/li>\n<li>Lenguajes de programaci\u00f3n: C #, Java, SQL, etc.<\/li>\n<li>Tipo de proyecto: nuevo, de evoluciones, etc.<\/li>\n<li>Categor\u00eda del proyecto: interno, comercial, etc.<\/li>\n<li>Tipo de proyecto: cliente-servidor, aplicaciones web, etc.<\/li>\n<li>Alcance del proyecto: sub-programa, programa, sistema, etc.<\/li>\n<li>Complejidad funcional, complejidad de c\u00f3digo, de datos, etc.<\/li>\n<\/ol>\n<p>Las respuestas a estas preguntas constituyen un &#8216;pattern&#8217;, que se compara con un repositorio de m\u00e1s de 13 000 proyectos, con la idea de que los proyectos con patrones id\u00e9nticos normalmente tienen un tama\u00f1o y un nivel de esfuerzo similar.<\/p>\n<p>Pues se puede beneficiar de un repositorio con los datos que faltan y un m\u00e9todo para estimar el tama\u00f1o del proyecto y el nivel de costos y riesgos. Encontrar\u00e1s en el sitio <a href=\"http:\/\/www.namcook.com\/\" target=\"_blank\">Namcook<\/a> todas las informaciones sobre este m\u00f1etodo &#8216;Software Risk Master&#8217;.<\/p>\n<p>\u00daltimo punto: los tres ejemplos que hemos visto se pueden combinar.<\/p>\n<p>Y t\u00fa, \u00bfqu\u00e9 m\u00e9todos utilizas para estimar el esfuerzo para el desarrollo y el control de calidad del proyecto?<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vicente Merino preguntaba en el \u00faltimo post sobre la complejidad y el esfuerzo de QA: \u00ab\u00bfC\u00f3mo evaluar el esfuerzo cuando no tienes ya c\u00f3digo\u00bb y \u00ab\u00bfEs posible decidir al principio del proyecto si es suficientemente importante para requerir un equipo de control de calidad independiente y formalizar un plan de pruebas? \u00bb Imaginamos que eres [&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-167","post","type-post","status-publish","format-standard","hentry","category-qa"],"_links":{"self":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/167"}],"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=167"}],"version-history":[{"count":1,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/167\/revisions"}],"predecessor-version":[{"id":168,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/posts\/167\/revisions\/168"}],"wp:attachment":[{"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/media?parent=167"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/categories?post=167"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/qualilogy.com\/es\/wp-json\/wp\/v2\/tags?post=167"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}