Moving toward software product lines in a small software firm: a case study (original) (raw)
Related papers
Software Engineering is an art of designing software products for users' consumption. This is an enduring knowledge area due to growing computational needs. Nobody succeed re-inventing the wheel. Re-usability is a key concept in software design. To an extent, the concept of software reuse has helped developers in meeting up with the market demands. Common reuse method includes using developed components, modules etc. to build new products. Yet, the traditional software engineering reuse patterns have not successfully addressed development challenges in terms of delivery time, cost and quality. This paper considers a new approach to reuse called Software Product Line Engineering (SPLE). This is described as "Industrial/Massive re-use". While traditional software engineering focuses on developing individual products, software product line practice focuses on developing product family. To gain significant reduction in development time, reduced cost (both in development and products) and increase software quality, development is channeled towards SPLE.
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.
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.
Economic Impact of Software Product Line Engineering Method– a Survey
International Journal of Advanced Research in Computer Science, 2020
Software Engineering has to do with the art of design, development and maintenance of software products that adequately meet user's need. The key market requirements this field tries to meet are basically time to deliver, product cost and quality. With these goals in mind, software engineering researches had experienced rigorous changes in time and in space especially in the area of "software re-use". Software Product Line Engineering (SPLE) leverages on building reusable components to achieve massive re-use. It is about designing systems for, and with reuse. In traditional software engineering, requirements and software architectures are engineered based on individual product alone but a product line approach requires the software expert to do same for a family of related products. Therefore, common assets are built for these related products while variable assets are also discovered which will lead to production of each specific product. This process, as it were, does not come cheap at first. There are surrounding economic, social and other consequences. This work proposes to survey the economic impact of adopting software product line engineering methods in software production. This will help software developers make sound business case as well as appropriate judgments in terms of decision making.
Software product lines evolution for valuable reusability
2015
Nowadays, adopting software product line (SPL) development approach becomes a successful strategic decision in software development since the rapid time to market necessity is guaranteed by SPLs due to assets reusability [1,2]. However, the expansion of the market segment implies a boost of user's requirements that should be satisfied by quickly developing new products [1]. Thus, an agile evolution of SPLs becomes a necessity. The general purpose of a SPL is the automated construction of a new product based on the reusability of existing features [2]. A feature is a characteristic defined by the domain experts [3] that abstracts a set of software-related resources called assets. Thus, a feature model (FM) represents all the products of the SPL and permits capturing products commonalities and variability [3]. To generate a new product, a user selects a set of features via a process called configuration by respecting the constraints defined in the FM [2]. Despite that SPLs permit ...
Understanding the software product line derivation process: an industrial example
2013
Software Product Line Engineering has emerged as a software engineering strategy aimed at helping industry achieve business goals. Nevertheless, in order to ensure the return of investment with the Software Product Line (SPL) approach, a well-defined Product Derivation (PD) process is important. Without this process, the products are instantiated in an ad-hoc manner with success relying on the effort of a few individual members. This may increase the production costs and time-to-market. Despite its importance, when compared to the vast amount of research on developing product lines, relatively little work has been dedicated to the process of product derivation. Additionally, there are few available reports about how software development organizations derive their products from a product line. Thus, this study presents the findings gathered through to the case study methodology in order to enhance understanding of how product derivation is performed in industrial settings, including its key phases and activities in the product derivation process.