Kamal Verma

Software Product Line

Lately I have been reading a lot about the SPL, methods, tools and emerging new research about the SPL. I thought I will share some of information and my personal opinions about it. Since this one of few starting blogs about SPL, I think I will start from its formal definition.

Software Product Line as defined CMU.

A software product line (SPL) is a set of software-intensive systems that share a common, managed set of features satisfying the specific needs of a particular market segment or mission and that are developed from a commonset of core assets in a prescribed way.

The idea of creating software from reusable parts has been around for decades, but success has been elusive. Recent advances in the software product line field have demonstrated that a strategic application of these concepts and use of unique vertical tools can yield order of magnitude improvements in software engineering capability. Results often gives better competitive business advantage and saves money and time. Gains can be diverted further to new gorilla marketing techniques and gain competitive advantage.

For example, hardware component manufacturers have created thousands of unique variations of one IC chip using a single pool of carefully architected, tested and reliable parts. These parts includes designs, chemical processes, testing techniques and other intellectual property resources. One manufactruing assembly line specifically designed to configure and assemble these parts, into sellable value adding component has been successfully by the hardware manufactures.

Communications of the ACM's recent volume 49, number 12 talks about it more and gives more insights. Here are links to the article(s),

http://portal.acm.org/citation.cfm?id=1183260&coll=GUIDE&dl=ACM&CFID=10705959&CFTOKEN=75070793

here is link to special issue on software product line engineering,

http://portal.acm.org/toc.cfm?id=1183236&type=issue&coll=GUIDE&dl=ACM&CFID=10705959