Software Product Lines - Introductory Slides

Software Product Lines

A Software Product Line, or Product Family, is a set of software systems that share common features and is aimed at a specific market segment. Each application in a Software Product Line is assembled from a set of common, reusable assets using a common production method.

Adopting a Software Product Lines approach offers many significant benefits to the organisation and its customers. The following are the among most compelling benefits that have been reported in the literature:

  • Productivity gains of 500% have been quoted; no other approach has this potential and this is usually the most compelling reason for an organisation to switch to Software Product Line development.
  • Improved product quality through reuse. Quality improvement efforts on core assets propagate to all products that use those assets.
  • Faster time-to-market can make the difference between dominating a segment and being shut out.
  • Mass customisation offers support for large numbers of product variants at least in the 100s. The ability to support more products means that you can dominate a market segment by matching your software to each customer’s needs.
  • Finally, one common trigger is that the organisation realises that something has to change e.g. in one case study an organisation had been building one-of-a-kind systems for a while but on one day got two major orders for new products they knew there was no way they could meet the order timescales with their current approach and so something had to change - adopting a Software Product Line approach was their only way out.

Product Line Engineering has been adopted by diverse types of organisation regardless of their size, maturity and target markets. However, each of these organisations had a need for developing multiple, related software systems in a cost-effective manner.

Product Line Engineering has proved particularly successful for developers of embedded software systems e.g. engine-management and other automotive systems, mobile phone applications such as GUIs and games, telecomms systems and medical devices, but Software Product Lines have also been successfully adopted by organisations operating in non-embedded domains such as:

  • Online marketing analytics
  • Quote management services
  • Legal expert systems
  • Livestock management systems
  • Grid computing services

One final point, although most Product Line adopters develop and sell finished products, Product Line Engineering may also be applicable to software consultancies or in-house development groups developing systems in a project-based manner.

The associated slide presentation (available as PDF or Powerpoint Slideshow) gives an overview of the what, why, when and how of Software Product Lines. For more in-depth information visit the Software Acumen website.

You might also like...

Comments

About the author

Mark Dalgarno United Kingdom

An experienced software developer and consultant. Building software products for over 20 years for a varierty of industries and customers.

Specialises in Software Architecture, Software ...

Interested in writing for us? Find out more.

Contribute

Why not write for us? Or you could submit an event or a user group in your area. Alternatively just tell us what you think!

Our tools

We've got automatic conversion tools to convert C# to VB.NET, VB.NET to C#. Also you can compress javascript and compress css and generate sql connection strings.

“PHP is a minor evil perpetrated and created by incompetent amateurs, whereas Perl is a great and insidious evil perpetrated by skilled but perverted professionals.” - Jon Ribbens