Toward Compositional Software Product Lines

Software product lines (SPLs) were introduced over the last two decades as a mechanism for dealing with the complexities of software systems' ever-increasing size by exploiting the commonalities among the company's different products or systems. By standardizing the software components sourced from the outside and sharing domain specific software assets the company develops among different product teams, you can significantly reduce the per-product R&D cost, which improves the company's competitive position. This can be achieved through a richer product portfolio, a harmonized look-and-feel across the product portfolio, or a significantly higher degree of customer configurability. Companies that successfully deploy SPL technology can achieve order-of magnitude growth over a decade and reach major business milestones.