lunes, 23 de junio de 2008

Desarrollo de Software Efectivo

Si bien la palabra "efectivo" y "ágil" se están poniendo pesadas, considero interesante este punto de vista para determinar el Desarrollo Efectivo de Software. Primero y fundamental Desarrollo Basado en Modelos (MBD), en segunda escala Service-Oriented Architectures (SOA) y Software Product Lines (SPL). Estos conceptos explican como uno tendría que diseñar sus productos para lograr la tan ansiada reusabilidad por medio de composición. Un proceso de desarrollo ágil, tal como Agile Unified Process (Agile UP) suma a estas herramientas

La base empieza por seguir una metodología de desarrollo basada en SPL sustentándose en MBD como repositorio del activo y SOA para lograr una apertura e interoperatividad.

Activo de software:
Una colección de partes de software (Casos de Uso, diseños, componentes, casos de prueba, patrones de diseño, etc.) que se configuran y componen de una manera prescrita para producir los productos de la línea.


Decisiones de Productos:
Los Modelos de Decisiones describen los aspectos variables y opcionales de los productos de la línea.
Cada producto de la línea es definido por un conjunto de decisiones (decisiones del producto).


El proceso de producción:
Establece los mecanismos o pasos para componer y configurar productos a partir de los activos de entrada.
Las decisiones del producto se usan para determinar que activos de entrada utilizar y como configurar los puntos de variación de esos activos.


Productos de software
Conjunto de todos los productos que pueden o son producidos por la línea de productos.

Estos conceptos combinados con herramientas tales como CaseComplete  y CA Plex permiten mantener nuestro activo de software en un lugar propicio y beneficiarnos ampliamente en el proceso de producción, proporcionando una visión clara de como el procesos de desarrollo de software puede encajar como un proceso de producción tradicional, potenciando el reuso de componentes de software desde el propio diseño.

El desafío es poner esta línea de producto en un contexto de trabajo distribuido con equipos de trabajos multidisciplinados.


A continuación dejo algunos link para ir recolectando información y estudiando.

http://www.sei.cmu.edu/productlines/
http://www.ibm.com/developerworks/rational/library/3100.html
http://software--factory.blogspot.com/2008/05/lineas-de-producto-software.html
http://www.softwareproductlines.com/
http://www.ieee.org.ar/downloads/2006-montilva-productos.pdf