You are on page 1of 6

Technical essay: Software Product Lines

Tatiana Yaldaie

Software product lines have already gained momentum in the software industry since the late
1960s, and more so in the 1990s. They should be built from reusable parts instead of producing
software systems from scratch. Rather than always writing a software system in the same way,
it should be customized to customer requirements, where consumers can choose from a wide
range of configuration options. The approach to the software product line offers a form of mass
customization by creating individual solutions based on a portfolio of interchangeable software
components. This brings individualism into the development of software, but still maintains the
advantages of mass production in that it can cover whole sector and consumer segments. The
need for individualism stems from different software specifications with respect to features,
target platforms, and non-functional properties, such as efficiency and energy usage. (Apel, S.,
et al., 2013)

I. Software Product Lines in software engineering

A software product line is a collection of software-intensive systems that share a common,


controlled set of features that meet the specific needs of a particular market segment or project,
and are built in a specified manner from a common set of core assets. (Northrop, L., n.d.)

Software product lines offer distinct benefits in the conflict between designing individual software
products from scratch and creating generic one-size-fits-all products. The benefits include:
 Tailor-made
A product line approach to manufacturing software allows the tailoring of goods to individual
clients. Instead of selling a standardized product (or a small set of preconfigured products), a
software vendor may manufacture a whole collection of differently tailored products. (Apel, S., et
al., 2013)
 Reduced costs
Thus offering the ideal solution for each customer, product-line vendors do not have to pay the
cost of designing and developing each product from scratch. Alternatively, they are designing
recycled parts which can be used in various ways. The cost of production per product per
consumer can be minimized by choosing which parts to combine and evaluating the product
resulting. While the upfront investment needed for such an approach is definitely greater than the
creation of a single software product, the approach pays off in the long run when multiple
customized products are requested. (Apel, S., et al., 2013)
 Improved quality
Industrial mass production has increased efficiency, as standardized components can be routinely
verified and tested in many items. Standardized software offers similar advantages when opposed
to independently built from scratch software. Product lines of software provide a solution, in that
different products are made from similar components. While millions of customers do not use
every combination, parts can be standardized and checked in isolation to some extent, and parts
are reused and tested in multiple products. Components that are often used lead, in particular, to
more robust, lean and durable products than handcrafted products. (Apel, S., et al., 2013)
 Time to market
Although standard software is readily available, handmade software products require substantial
costs and, sometimes more importantly, time before launching them. If a customer chooses only
from predetermined configuration options, the respective software product can be quickly
generated by a software vendor by assembling the corresponding existing parts. Even if a
customer needs unprepared features, building a new product alongside existing well-designed,
recycled components is much easier than creating it completely from scratch. A well-designed
framework that can be expanded to include new products offers the possibility to react quickly to
changes in the market, more so than structured software or individual development can. (Apel,
S., et al., 2013)

The development of product lines comes at a price. Preparation of recycled parts requires
substantial upfront investment. In addition, developers are starting to simultaneously design
multiple potential products which boost complexity. (Apel, S., et al., 2013)

II. Research trends

Research is mainly focusing on the following areas:


 The problems of converting business requirements into requirements of product line from
non-technical (business group) to technical (architecture group) requirements. For
example, the authors claim that Software Product Lines (SPLs) as a software engineering
trend is very exciting as it can provide many facilities and benefits for all stakeholder
groups. Creating SPLs for ERP systems can impact the process of implementing ERP
systems and improve configuration and customization flexibility. In addition, shifting ERPs
into the cloud would accelerate the deployment process and impact the Return On
Investment (ROI) due to cloud providers ' scalability plans. This research presents an
SPLs elicitation strategy for cloud ERP systems. (Ali, M.,Nasr, E. S., Gheith, M. H., 2016)

 The role and effect of the organization's strategic planning in designing and maintaining
its product line of apps. How will organization, using the product line approach, achieve
its strategic goals. The illustration of this concept is given by Alves Pereira, Constantino
and Figueiredo (2015) in their paper called ” A Systematic Literature Review of Software
Product Line Management Tools”. The authors provide an overview of the Software
Product Line Management Tools.

 Some researchers are investigating the evolution of Software product line. For example,
Marques, et al (2019) are reviewing the characteristics of the methods reported as
promoting SPL evolution, and synthesizing the evidence provided by primary studies on
the essence of their processes and how they are reported and validated. Having
conducted the research, the authors came to a conclusion that there is no consensus on
the formalization of the SPL, what assets should change, and how and when those
assets grow.

Other topics for the research encompass:


 Business environments around product line development
 System challenges, e.g. integrating PLE with agile processes
 Product / solution portfolios and properties
 Product line models, design, testing and assessment
 Variability applying techniques
 Public / private cloud trends and architectures in software product lines (Software
Product Line Conference (SPLC), 2015)

III. Application in industries

Software product line engineering (SPLE) has been shown to enable industry to build a variety of
similar systems at a lower cost, in a shorter time and with greater quality opposed to single system
development. (Pohl, K. & Metzger, A., n.d.)
Software product lines are most commonly used in such industries as:
 Electronics industry, including:
o consumer electronic products
o avionics systems

 Marine industry:
o command and control ship systems,

 A&D industry, including:


o satellite ground station systems
o command and control/situation
o awareness systems
o engine control systems,

 Financial services, including:


o billing systems
o web-based retail systems
o acquisition management
o enterprise systems
o financial and tax systems

 Medical industry:
o medical devices

 Agriculture, including:
o farm fish management software (Northrop, L., n.d.)

Some examples of the companies utilizing software product lines. Boeing, representative of
airlines industry, develops a product line of operational flight programs which support the pilot's
avionics and cockpit functions as mission-critical, distributed real-time and embedded
applications. The key success factors for this product line are thoughtfully planned strategies to
address commonality and variation. (Apel, S., et al., 2013)
Another example is Bosch. Bosch is designing an engine-control software product line for fuel
systems. Developers in this area are facing intense uncertainty, ever-increasing complexity and
high cost pressure. Bosch sees the product-line strategy as the key to producing appropriate
software products and entering new markets. (Apel, S., et al., 2013)

Hewlett Packard pursues an approach to the production of printer firmware on the product line. It
includes over 2000 features to support hundreds of printers. Goods could be created with 1/4 of
the workers, 1/3 of the time, and with 1/25 the number of bugs of earlier goods. (Apel, S., et al.,
2013)

Toshiba provides equipment for power generation, transmission and distribution, supplying clients
with capabilities ranging from power plant design to management and service. Toshiba has built
a software product line in this context that distinguishes variable and non-variable software
components and includes a fill-in - the-format configurator to support individual management of
variable components and software logic components over the period from production to system
maintenance. (Apel, S., et al., 2013)

General Motors, which distributes vehicles and vehicle parts, as well as sells financial services,
is designing the control software as a product line for their powertrains. It supports various
electronic architectures (5 modules for engine-control, 4 modules for transmission-control and 3
modules for powertrain-control) and physical architectures (diesel engines vs gas engines, clutch-
to-clutch transmission versus freewheel transmission). (Apel, S., et al., 2013)

To sum up, organizations adopt product line practices in order to:


• reach large scale productivity gains
• enhance time to market
• retain market presence and unprecedented growth
• gain bigger market agility
• provide mass customization
• get control of diverse product configurations
• increase quality of the product and customer satisfaction
References

Ali, M.,Nasr, E. S., Gheith, M. H. (2016) Approach for Cloud Based Software Product Line ERPs.

Alves Pereira, J., Constantino, K. & Figueiredo, E. (2015) A Systematic Literature Review of
Software Product Line Management Tools. Part of the Lecture Notes in Computer Science book
series (LNCS, volume 8919).

Apel, S., Batory, D., Kästner, C., & Saake, G. (2013) Feature-Oriented Software Product Lines.
AMECSE '16: Proceedings of the 2nd Africa and Middle East Conference on Software
Engineering. Pages 34–39.

Marques, M., Simmonds, J., Rossel, P. O., & Bastarrica, M. C. (2018). Software Product Line
Evolution: a Systematic Literature Review. Information and Software Technology.

Northrop, L. (n.d.) Software Product Lines Essentials. Software Engineering Institute Carnegie
Mellon University Pittsburgh, PA 15213-2612.

Pohl, K. & Metzger, A. (n.d.) Software Product Lines.

Software Product Line Conference (SPLC). (2015)

You might also like