innovación y desarrollo Líneas de Producto Software aplicadas a la generación de blogs Las LPS pueden engoblarse dentro de ese anhelo recurrente de la ingeniería del software que es la reutilización C uando una empresa ofrece un producto software a distintos clientes, surge toda la problemática de las versiones y evolución acompasada del producto. En este escenario, no es raro encontrarse con alguna de las siguientes situaciones: relaciones conflictivas entre los equipos de marketing y de ingeniería a causa de la incapacidad de los segundos para adecuarse a las solicitudes de nuevas variaciones de producto provenientes del negocio coordinación compleja y costosa de múltiples tareas de desarrollo en paralelo que comparten software común código fuente poco robusto, que resulta difícil de extender con variaciones del nuevo producto y propenso al error. Óscar Díaz Grupo ONEKIN – Universidad del País Vasco En colaboración con LKS Soc. Coop. y Donostia Digital Esta problemática no es exclusiva del software. Se da también en la fabricación de otros productos como automóviles, aparatos de telefonía, electrodomésticos, y en general, cuando un mismo producto admite distintas variaciones. La producción en serie (mass production) – la capacidad para crear eficientemente múltiples copias del mismo producto – constituyó septiembre 2009 132 un gran avance en el mundo de la fabricación. Pero crear múltiples copias de un producto software es trivial. Sin embargo, la personalización en serie (mass customization) – la capacidad para crear eficientemente múltiples variaciones de un producto – es un importante reto tanto en la fabricación de lavadoras como en la venta de un ERP o cualquier otro producto software. La pregunta es cómo se plasma el enfoque de “personalización en serie” en el desarrollo de productos software. Ésta es la solución que pretenden aportar las Líneas de Producto Software (LPS). La característica que distingue este enfoque es la reutilización proactiva. En lugar de agrupar los componentes de software en una librería, en espera de que puedan ser utilizados posteriormente (reutilización oportunista), el enfoque LPS sólo crea aquellos componentes que sabe positivamente que van a reutilizarse en uno o más productos de la LPS. la experiencia Hemos aplicado estas ideas a la creación de una línea de productos para la generación de blogs. Nuestro objetivo es la creación de blogs a partir de los catálogos de productos de una empresa: cada producto es un post del blog, las innovación y desarrollo Las LPS han vuelto a recordarnos que la reutilización eficaz no es sólo un problema técnico, sino también de procesos y organización relaciones de cross-selling se soportan como enlaces entre posts, y la participación de los clientes/socios pivota alrededor de los blogs a través de comentarios. El objetivo no es realizar un blog, sino una factoría de blogs. El dominio de aplicación son los blogs sobre catálogos de productos (cataBLOGs), y sobre este dominio surge una amplia casuística (variabilidad) a considerar. En primer lugar, la plataforma. Entre el amplio abanico de motores de blogs disponibles, una primera decisión es la del almacenamiento. Los blogs pueden almacenarse en remoto, y gestionarse on-line. Otra opción es almacenarlo en local (standalone) y ser la propia empresa la que lo gestione. Asimismo, los diferentes mecanismos de interacción entre los clientes dan lugar a diferentes alternativas a la hora de desarrollar el blog: posibilidad de añadir comentarios de forma remota, posibilidad de compartir posts fuera del propio blog a través de herramientas de bookmarking como delicious, posibilidad de mecanismos de votación sobre diferentes aspectos de un producto, etc. A esto habría que añadir variaciones en la presentación y estética del blog. Todo ello, definiría el espacio de diseño del producto “blog”. Los beneficios que las LPS aportan a la calidad se pueden medir de dos maneras. La primera es el grado de exactitud con que cada producto se ajusta a las necesidades de cada consumidor. Las capacidades de personalización de las líneas de producto están dirigidas directamente a esta medida de calidad. La segunda es la tasa de defectos encontrados en cada producto, también derivado de que la LPS recoge todas las experiencias que se van obteniendo con la generación de cada producto. Optimizando la reutilización de los elementos comunes a lo largo de la línea de producto y durante todo el ciclo de vida de la misma, emergen “assets” de una calidad muy alta. Encontrar y arreglar un defecto en un “software asset” común tendrá un impacto en todos los productos que usan ese “asset”, aunque este defecto sólo se hubiera observado en uno de ellos. En el mundo web, con una tasa de innovación muy alta, el time-to-market es también un factor decisivo: ¿cómo puedo ahora ofrecer mi blog a través del móvil? Las LPS ofrecen el marco para capitalizar experiencias adquiridas en el desarrollo de un producto singular pero que pueden eventualmente repercutir en productos ya existentes. septiembre 2009 134 conclusiones Las LPS pueden englobarse dentro de ese anhelo recurrente dentro de la Ingeniería del Software que es la reutilización. Este artículo ha motivado su interés y brevemente ha expuesto las ventajas que para el desarrollo software traen las LPS a través de un caso real. No nos gustaría terminar sin indicar que la visión aquí dada es parcial. Nos hemos centrado en las LPS como estrategia para la reutilización. Las LPS han vuelto a recordarnos que la reutilización eficaz no es sólo un problema técnico, sino también de procesos y organización. Las LPS suponen una importante reorganización de los equipos humanos. De estar orientados al producto pasan a pivotar sobre la LPS. Aquí pueden surgir tensiones entre los desarrolladores de los artefactos comunes frente a aquellos encargados de desarrollar el producto con estos artefactos. ¿Qué ocurre ante nuevas peticiones del cliente no contempladas hasta entonces? Si la planificación no se cumple o se detecta algún error, ¿a qué equipo se le imputa el coste? ¿Cómo se reparten las responsabilidades/presupuestos entre los dos tipos de equipos? Pero esto es ya otra investigación…