SoftwareProductLines

From SPA Wiki

Jump to: navigation, search

Thanks to everyone who came to this session, I have placed the slides I used at http://www.software-acumen.com/news/SPA2005slides.htm There are additional notes on most slides.

Some topics that were discussed (heavily paraphrased by me):

  • Are Software Product Lines (SPLs) agile?

Many of the organisations developing SPLs do so for 'agility' reasons such as improved time-to-market or the ability to enter new markets cheaply and quickly.

A number of different strategies are available for developing SPLs.

In the proactive approach there is a lot of up-front effort spent on deciding which products will be built, what features will be supported, what the SPL architecture will be and on building reusable components. I would describe this as 'planned agility'. Your up-front investment in a core asset base targetted at a specific market-segment buys you the agility to react to demands for new products and new product features very quickly. For example, decreasing product development time from months to days. However, it should be noted that 'planned agility' is only available within or near your SPL scope.

The reactive approach is more conventionally 'agile'. In this approach you start with an existing product and gradually refactor what you have into a core asset base and multiple products as the market demands these additional products.

Factors such as organisational appetite for risk and amount of domain experience should drive the decision as to which approach is best for your particular circumstances.

  • A lot of examples come from Embedded Systems

Embedded Systems developers seem to need the SPL approach due to the large amount of variation they have to support in their product lines.

It should be noted though there is a growing body of examples from other domains too.

  • Are SPLs another attempt at 'reuse'?

Individual products in a SPL are built using one or more reusable (core) assets such as software components or test plans, so, yes, SPLs are about reuse. However, what makes a difference this time around is that SPLs are aimed at a specific market segment and so development of reusable assets is easier and the assets are used in many more products.

Other points of interest:

  • I was asked before the session started about the relationship between SPL and CMMI. There is a relationship between the two, particularly with respect to Configuration Management and Product Management but as far as I am aware SEI have no plans to merge the two approaches. SEI have a paper on the releationship at http://www.sei.cmu.edu/publications/documents/02.reports/02tn012.html