Líneas de Producto Software, productividad y mantenibilidad


Arquitectura Software Líneas de Producto Software Mantenibilidad Productividad Desarrollo Software Evolución de Producto Costes de Proyecto

Las Líneas de Producto Software (LPS) son un conjunto de sistemas de software con características compartidas y desarrollados a partir de un conjunto común, generalmente referidos como activos principales, es decir, el núcleo del que se nutren todos ellos.

Las LPS incrementan la productividad corporativa, reduciendo el esfuerzo de los ingenieros para iniciar, desarrollar y mantener un conjunto de productos software de características similares. Por ende, las mejoras en productividad de los ingenieros software se ve reflejada en una reducción de costes, haciendo más competitivo su modelo de negocio.

Los enfoques tradicionales se suelen basar en realizar ramas divergentes, copiando la aplicación previa, aislándola como proyecto y producto independiente, y realizando una continuación del desarrollo y mantenimiento de forma aislada. Generalmente propician una aceleración en el desarrollo y evolución del nuevo producto, puesto que contienen bases de código e infraestructura comunes, facilitando el reconocimiento de estructuras y la explotación del conocimiento previo. Sin embargo, por otro lado, se penaliza completamente el mantenimiento, puesto que son ramas independientes con partes tanto comunes como variables. Además, a medida que el proyecto avanza, las bases de código van modificándose y variando, perdiendo la ventaja inicial en base al conocimiento común y complicando aún más la evolución de todos los productos.

líneas de producto software

Líneas de producto software frente al enfoque convencional: inversión inicial elevada que se amortiza cuantos más productos se exploten.

Como alternativa a la fragmentación de los equipos humanos en el desarrollo y mantenimiento de cada uno de los productos, las LPS aprovechan las potenciales sinergias derivadas de la semejanza entre productos. Se focaliza la gestión del núcleo de forma planificada, complementando lo variable de cada producto, facilitando patrones de comportamiento basados en las especificidades de cada uno, pero abstrayendo la base común al núcleo. De esta forma, no se tienen múltiples aplicaciones, sino una meta-aplicación capaz de producir diversos productos con una base común.

Las LPS facilitan y agilizan la evolución de los productos con base común, desde la puesta a punto y el desarrollo, hasta el propio mantenimiento, concentrando esfuerzos en los activos principales comunes.

Ajustándose al concepto teórico y práctico de la manera más fiel, el producto MaterialOptimizer actualmente sigue una línea de productos software para facilitar la evolución de las variantes surgidas, ajustando las necesidades de los clientes pero manteniendo una base común que facilite su mantenimiento.

Por otro lado, Werft-projects explota esta idea pero de una manera más abstracta, pues el propio sistema constructor de proyectos web es en sí mismo una factoría de líneas de producto en lo relativo a la estructura común, de forma que cuando van apareciendo nuevas necesidades en el desarrollo de los componentes Web, sus estilos, lógica común y cohesión de las piezas del propio framework resultante, se incorporan en Werft-projects. De esta forma se amplia esa base común y se facilita la mantenibilidad de las capas frontales (parte cliente) de las aplicaciones web construidas por Werft-projects.

Este sitio web emplea cookies propias y de terceros para analizar el tráfico y ofrecerle una mejor experiencia. Al navegar o utilizar nuestros servicios el usuario está aceptando su uso.Más información.