Examples of Software Product Lines

Paul Clements certainly likes software product lines:

Software product lines represent perhaps the most exciting paradigm shift in software development since the advent of high-level programming languages. Nowhere else in software engineering have we seen such breathtaking improvements in cost, quality, time to market, and developer productivity, often registering in the order-of-magnitude range. Let me say that again: *often registering in the order-of-magnitude range*. Just to be clear, we are talking about software systems built for around one-tenth the cost. With around one-tenth the faults. Delivered in around one-tenth the time. If you know of another way to achieve such a staggering combination of better-faster-and-cheaper, please let me know.

He works at the Software Engineering Institute at Carnegie Mellon doing stuff with software product lines.

They maintain a list of SPLE case studies of where software product line engineering has been used effectively.

It’s a pretty good list of names… you might have heard of some of them:

  • Boeing. Avionics and cockpit functions for Boeing military fighters.

  • Bosch Group. Gasoline engine control units.

  • CelsiusTech Systems AB. Naval shipboard command and control systems.

  • Cummins, Inc.. Large diesel engines.

  • Ericsson AXE. Telecommunications switches.

  • FISCAN. Security inspection systems.

  • General Motors Powertrain (GMPT). Embedded powertrain control software.

  • Hewlett Packard. Firmware for printer/copier/scanner/fax devices.

  • HomeAway. Online vacation rental marketplace.

  • LSI Logic. RAID controller firmware.

  • Lucent. Telecommunications switches.

  • Market Maker. Web-based stock market software.

  • Nokia. Mobile phones.

  • Philips. Medical systems, software for television sets, and telecommunication switching systems.

  • Salion, Inc.. Revenue acquisition management systems.

  • Siemens (syngo.via). Visualization and reading of 3D medical imagery.

  • Toshiba. Electric power generation plant monitoring and control.

  • U.S. Naval Research Laboratory. Operational flight programs.

So that’s all pretty high-faluting. Lots of very large, critical, industrial systems. I’ve not actually read the case studies in-depth, but it certainly suggests that software product line engineering works in some circumstances.

Being a web app developer for a small company, though, I’m actually less interested in the big names. The HomeAway, Market Maker and Salion case studies interest me the most. Product lines for small companies, and in the case of HomeAway and Market Maker, for web apps.

There’s some papers on these:

I think I’ll go into those in a bit more depth in another blog post.