{"id":19289,"date":"2023-04-12T09:44:12","date_gmt":"2023-04-12T07:44:12","guid":{"rendered":"https:\/\/inlab.fib.upc.edu\/lineas-de-producto-para-abordar-la-creciente-variabilidad-del-software\/2023\/"},"modified":"2023-06-08T10:53:51","modified_gmt":"2023-06-08T09:53:51","slug":"lineas-de-producto-para-abordar-la-creciente-variabilidad-del-software","status":"publish","type":"post","link":"https:\/\/inlab.fib.upc.edu\/es\/blog\/lineas-de-producto-para-abordar-la-creciente-variabilidad-del-software","title":{"rendered":"L\u00edneas de producto para abordar la creciente variabilidad del software"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">En la industria del software existen algunas tendencias que hacen que el panorama de la producci\u00f3n en esta industria vaya cambiando. Por un lado, la reutilizaci\u00f3n de componentes y artefactos, lo que se persigue desde siempre en la ingenier\u00eda del software, evolucione de ser una reutilizaci\u00f3n oportunista y ad hoc a una reutilizaci\u00f3n planificada. Gran parte de las empresas maduras planifican c\u00f3mo reutilizar sus activos y, aunque el \u00abcopia y pega\u00bb sigue siendo una de las formas m\u00e1s frecuentes de reutilizaci\u00f3n, se planifican otras formas de reaprovechar el trabajo realizado en otros proyectos, definiendo (micro) servicios, paquetes u otros artefactos. En segundo lugar, la variabilidad de los sistemas inform\u00e1ticos est\u00e1 pasando de forma acelerada del hardware al software hasta el punto de llegar a virtualizar componentes de hardware como sensores, actuadores o incluso redes. Un mismo producto (por ejemplo, un coche) puede tener exactamente el mismo hardware y una gran diferencia de valor seg\u00fan el software que tiene configurado. Esto lleva de forma natural a la tercera tendencia y es que el n\u00famero de puntos de variabilidad de los sistemas crece por miles. Si pensamos en una parte de un sistema inform\u00e1tico, por ejemplo, el kernel de Linux, existen reportes que sit\u00faan entre 10.000 y 16.000 los posibles valores de configuraci\u00f3n de esa parte de un sistema. Si estos puntos de configuraci\u00f3n fueran s\u00f3lo con valores booleanos, quisiera decir que tendr\u00edamos muchas m\u00e1s posibles configuraciones del n\u00facleo de Linux que el n\u00famero total de \u00e1tomos estimados que existen en todo el universo.<\/p>\n\n<p class=\"wp-block-paragraph\">Todo esto nos lleva a una de las tareas m\u00e1s complejas dentro de la producci\u00f3n de software que es la gesti\u00f3n de la complejidad. Los sistemas siguen creciendo en funcionalidad, tama\u00f1o, alcance y tambi\u00e9n en complejidad. Una posible aproximaci\u00f3n para abordar la complejidad, reutilizaci\u00f3n y variabilidad en ingenier\u00eda de software son las l\u00edneas de producto software(<em>software product lines<\/em>). La idea es relativamente simple, no as\u00ed la puesta en marcha de la idea.<\/p>\n\n<p class=\"wp-block-paragraph\">En la revoluci\u00f3n industrial se pas\u00f3 de un paradigma de producci\u00f3n artesanal a lo que se llama producci\u00f3n en masa (<em>mass production<\/em>). La idea era que se pod\u00eda producir un mismo producto estandarizado de forma repetida con mucha eficiencia usando para ello cadenas de montaje. La aparici\u00f3n de las TIC y la automatizaci\u00f3n permiti\u00f3 avanzar en el proceso de producci\u00f3n hacia lo que se conoce como personalizaci\u00f3n en masa (<em>mass customization<\/em>) que parte de producir bienes o servicios con alto grado de personalizaci\u00f3n pero haci\u00e9ndolo con casi la misma eficiencia que la producci\u00f3n en masa. Un ejemplo podr\u00eda ser la producci\u00f3n de relojes. Al principio los relojes se produc\u00edan de forma artesanal, despu\u00e9s pasaron a producirse en masa en un n\u00famero reducido de modelos y actualmente se producen infinidad de modelos personalizados con capacidad de almacenar informaci\u00f3n y ejecutar una multitud de aplicaciones. La ingenier\u00eda de l\u00edneas de producto software no ser\u00eda m\u00e1s que la personalizaci\u00f3n en masa de los productos software.<\/p>\n\n<p class=\"wp-block-paragraph\">Para poder abordar una estrategia de l\u00edneas de producto software en una organizaci\u00f3n es necesario que haya un cambio de enfoque en el \u00e1mbito organizacional, lo que es un reto y suele ser una barrera. Por eso es necesario centrarse en un dominio o dominios de aplicaci\u00f3n. Ya no producir\u00edamos software de forma gen\u00e9rica para cualquier clase de proyecto, sino que lo har\u00edamos dentro de un determinado dominio, por ejemplo, har\u00edamos software para tiendas de comercio electr\u00f3nico.<\/p>\n\n<p class=\"wp-block-paragraph\">Una vez determinado el dominio en el que produces, debes identificar cu\u00e1les son tus partes comunes y cu\u00e1les son las partes variables que esperas tengan tus productos. Aqu\u00ed es donde los modelos de caracter\u00edsticas (<em>feature models<\/em>)pueden servir para determinar cu\u00e1les son los productos que entrar\u00e1n dentro del alcance (<em>scope<\/em>) de la l\u00ednea de productos y cu\u00e1les no. Estos modelos son \u00fatiles tanto para interactuar con los participantes como para aspectos m\u00e1s t\u00e9cnicos como generar configuradores interactivos o permitir el an\u00e1lisis o razonamiento autom\u00e1tico con los modelos para la producci\u00f3n o depuraci\u00f3n de errores.<\/p>\n\n<p class=\"wp-block-paragraph\">Las l\u00edneas de producto son una aproximaci\u00f3n interesante si una organizaci\u00f3n produce productos similares dentro de un mismo dominio. Desde la red de investigaci\u00f3n TASOVA PLUS, en la que participan hasta 13 universidades, hemos detectado, a trav\u00e9s de una encuesta con m\u00e1s de 100 participantes de la industria del estado, que hay m\u00e1s necesidad de gesti\u00f3n de la variabilidad que conocimiento sobre l\u00edneas de producto software. Por tanto, tenemos un gran reto en la comunidad para dar a conocer los avances tecnol\u00f3gicos en este campo y seguir investigando.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En la industria del software existen algunas tendencias que hacen que el panorama de la producci\u00f3n en esta industria vaya cambiando. Por un lado, la reutilizaci\u00f3n de componentes y artefactos, lo que se persigue desde siempre en la ingenier\u00eda del software, evolucione de ser una reutilizaci\u00f3n oportunista y ad hoc a una reutilizaci\u00f3n planificada. Gran [&hellip;]<\/p>\n","protected":false},"author":594,"featured_media":19285,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[572],"tags":[],"experteses":[],"class_list":["post-19289","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog"],"acf":[],"_links":{"self":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/19289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/users\/594"}],"replies":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/comments?post=19289"}],"version-history":[{"count":1,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/19289\/revisions"}],"predecessor-version":[{"id":19290,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/posts\/19289\/revisions\/19290"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/media\/19285"}],"wp:attachment":[{"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/media?parent=19289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/categories?post=19289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/tags?post=19289"},{"taxonomy":"experteses","embeddable":true,"href":"https:\/\/inlab.fib.upc.edu\/es\/wp-json\/wp\/v2\/experteses?post=19289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}