Organizing for Software Product Lines (original) (raw)

Software product lines: organizational alternatives

icse, 2001

Software product lines enjoy increasingly wide adoption in the software industry. Most authors focus on the technical and process aspects and assume an organizational model consisting of a domain engineering unit and several application engineering units. In our cooperation with several software development organizations applying software product line principles, we have identified several other organizational models that are employed as well. In this article, we present a number of organizational alternatives, organized around four main models, i.e. development department, business units, domain engineering unit and hierarchical domain engineering units. For each model, its characteristics, applicability and advantages and disadvantages are discussed, as well as an example. Based on an analysis of these models, we present three factors that influence the choice of the organizational model, i.e. productline assets, the responsibility levels and the type of organizational units.

Opening up software product line engineering

Proceedings of the 2010 ICSE Workshop on Product Line Approaches in Software Engineering - PLEASE '10, 2010

The software industry is experiencing a shift towards more open processes, a globalized market and more active and engaged customers and end users. This change seems natural and inevitable, imposing necessary changes in how software product line organizations plan and drive the development of their products. This paper gives insight into some recent developments in a product line organization and discusses how their efforts have helped them in improving their development processes and their product line. Based on this experience, this paper provides some preliminary guidelines to both industry and research, indicating that software product line organizations should exploit open innovation, engage customers, build communities and simplify processes and organization.

An Approach to Assemble Software Products Using a Product Line Approach

The International Workshop on Product Line …, 2003

Software product lines present many benefits over the traditional methods of building systems. This paper discusses two primary concepts, namely, the separation continuum and application assembly using product lines. It starts by presenting a separation continuum that shows how vertical and horizontal layering can assist with separating user interface from business logic and data at an implementation level, and the separation of customer facing processes from infrastructure facing processes at a business or abstract level. An application assembly approach is discussed whereby a product line architecture is tied to the separation continuum showing how high levels of productivity can be achieved when realizing product lines. The approach presented in this paper is still under development with implementation on a limited number of product lines only. It is intended that the experiences presented will provoke and stimulate further experimentation needed to deal with large scale application assembly capabilities.

Initiating and institutionalizing software product line engineering: From bottom-up approach to top-down practice

2009

A software-intensive company generally grows from one of its remarkable software products. Different approaches adopted by a company will contribute to its future evolution. The approach employed by FISCAN, a leading manufacturer of security inspection system in China, is Software Product Line Engineering (SPLE). This paper reviews the initiation and institutionalization of SPLE by FISCAN. This is a process started with a bottom-up approach from application engineering to domain engineering, and realized by a top-down practice from domain engineering back to application engineering. Eventually, a closed loop which connects domain engineering and application engineering is ready to accelerate core asset development and product development continuously. This paper offers a roadmap for the initiation and institutionalization of SPLE as it was developed at FISCAN, including establishing a core team of product line champions, formalizing Matrix Product Line Model (MPLM), developing core asset library and product lines and creating compatible process model.

Software Product Lines-based development

2011 IEEE 9th International Symposium on Applied Machine Intelligence and Informatics (SAMI), 2011

Software Product Lines enable the development of a domain-specific set of similar systems. They rely on the predictable reuse of assets and components. Systems following this approach inherently support mass customization and configuration during the entire evolution of the product family. Feature modeling, in conjunction with Software Product Lines, provides a natural and expressive representation for the product variants. It enables the hierarchical description of common and variable features shared by the software product variants. This paper presents a model-driven approach of Software Product Lines, placing an emphasis on product implementation. After discussing the general model, an example is provided and the use of feature models for Product Line specification is introduced.

Moving toward software product lines in a small software firm: a case study

Product line engineering aims to take to the software development process the benefits of manufacturing processes where reuse and standardization lead to reduced costs, decreased time-to-market and improved product quality. The challenge is to capture, formalise and reuse past and present expertise in new projects, improving the software process and the products delivered to the customer.