Abstract

BackgroundThe software product lines (SPL) enable development teams to fully address a systematic reuse of shared assets to deliver a family of similar software products. Mobile applications are an obvious candidate for employing an SPL approach. This paper presents our research outcomes, based on empirical data from an industry-level development project. Two development teams were confronted with the same functionalities set to be delivered through a family of native mobile applications for Android and iOS.MethodsEmpirical data was gathered before, during and after a year of full-time development. The data demonstrate the impact of a SPL approach by comparing the SPL and non-SPL multiple edition development. One family of products (Android apps) was developed using an SPL approach, while another (iOS apps), functionally the same, was developed without employing an SPL approach. The project generated a volume of raw and aggregated empirical data to support our research questions.ResultsThe paper reports a positive impact of an SPL approach on product quality (internal and external) and feature output per week. As data shows, it also increases the delivery of functionalities (240% in 6 more editions), while investing the same amount of effort needed for a single-edition development. As a result of system-supported separation of development and production code, developers had a high confidence in further development. On the other hand, the second team delivered less new functionalities, only two new application editions, and lower software quality than the team that manages multi-edition development by employing an SPL approach.

Highlights

  • Reuse is one of the fundamental disciplines in software engineering

  • We develop the same functionality for a variety of products and/or customers, the same change should be made in a number of different software products, the same functionality should behave differently depending on the final product, certain functionality can no longer be maintained, and so the customer has to move to a newer version of the software, we cannot estimate the cost of transferring certain features to different software, certain basic infrastructure changes lead to unpredictable behavior of dependent products, the majority of effort is put into maintenance, and not the development of new functionalities

  • RQ2.1: What are the impacts of the software product lines (SPL) approach to application growth? RQ2.2: What are the impacts of the SPL approach to application quality?

Read more

Summary

Introduction

Reuse is one of the fundamental disciplines in software engineering It plays an important role in the development of new systems and in maintenance of existing ones. Results: The paper reports a positive impact of an SPL approach on product quality (internal and external) and feature output per week. As data shows, it increases the delivery of functionalities (240% in 6 more editions), while investing the same amount of effort needed for a single-edition development. The second team delivered less new functionalities, only two new application editions, and lower software quality than the team that manages multi-edition development by employing an SPL approach

Results
Discussion
Conclusion

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.