Skip to main content
Log in

Assessing software product line potential: an exploratory industrial case study

  • Experience Report
  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

Corporate organizations sometimes offer similar software products in certain domains due to former company mergers or due to the complexity of the organization. The functional overlap of such products is an opportunity for future systematic reuse to reduce software development and maintenance costs. Therefore, we have tailored existing domain analysis methods to our organization to identify commonalities and variabilities among such products and to assess the potential for software product line (SPL) approaches. As an exploratory case study, we report on our experiences and lessons learned from conducting the domain analysis in four application cases with large-scale software products. We learned that the outcome of a domain analysis was often a smaller integration scenario instead of an SPL and that business case calculations were less relevant for the stakeholders and managers from the business units during this phase. We also learned that architecture reconstruction using a simple block diagram notation aids domain analysis and that large parts of our approach were reusable across application cases.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1

Similar content being viewed by others

References

  • Ahnassay A, Bagheri E, Gasevic D (2013) Empirical evaluation in software product line engineering. Tech. rep., Laboratory for Systems, Software and Semantics. Ryerson University . http://ls3.rnet.ryerson.ca/wp-content/uploads/2013/08/TR-LS3-130084R4T.pdf

  • America P, Thiel S, Ferber S, Mergel M (2001) Introduction to domain analysis, http://www.ibrarian.net/navon/paper/Introduction_to_Domain_Analysis_Pierre_America__e.pdf?paperid=15855122

  • Bayer J, Flege O, Knauber P, Laqua R, Muthig D, Schmid K, Widen T, DeBaud JM (1999) Pulse: A methodology to develop software product lines. In: Proceedings of the 1999 Symposium on Software Reusability, SSR ’99, pp 122–131. ACM, New York

    Google Scholar 

  • Birk A, Heller G, John I, Schmid K, von der Massen T, Muller K (2003) Product line engineering, the state of the practice. IEEE Softw 20(6):52–60. doi:10.1109/MS.2003.1241367

    Article  Google Scholar 

  • Boeckle G, Clements P, McGregor J, Muthig D, Schmid K (2004) Calculating roi for software product lines, vol 21, pp 23–31

  • Boehm BW, Clark H, Brown RC, Madachy R, Steece B (2000) Software Cost Estimation with Cocomo II with Cdrom, 1st edn. Prentice Hall PTR, Upper Saddle River

    Google Scholar 

  • Bosch J (2001) Software product lines: Organizational alternatives. In: Proceedings of the 23rd International Conference on Software Engineering, ICSE ’01, pp 91–100. IEEE Computer Society, Washington . http://dl.acm.org/citation.cfm?id=381473.381482

  • Breivold HP, Larsson S, Land R (2008) Migrating industrial systems towards software product lines: Experiences and observations through case studies. In: Proceedings of the 2008 34th Euromicro Conference Software Engineering and Advanced Applications, SEAA ’08, pp 232–239. IEEE Computer Society, Washington

    Google Scholar 

  • Buhr RJA (1998) Use case maps as architectural entities for complex systems. IEEE Trans Softw Eng 24(12):1131–1155. doi:10.1109/32.738343

    Article  Google Scholar 

  • Capilla R (2005) Using map for recovering the architecture of web systems of a spanish insurance company. International Workshop on Software Technology and Engineering Practice 0:92–101. doi:10.1109/STEP.2005.33

    Google Scholar 

  • Carnegie Mellon University - Software Engineering Institute (2013) Product Line Hall of Fame. http://splc.net/fame.html. Last visited 2013-01-21

  • Carnegie Mellon University - Software Engineering Institute (2013) Software Product Lines. http://www.sei.cmu.edu/productlines/. Last visited 2013-01-21

  • Chrissis MB, Konrad M, Shrum S (2003) CMMI: Guidelines for Process Integration and Product Improvement. Addison-Wesley

  • Clements P, Northrop L (2001) Software Product Lines: Practices and Patterns. Addison-Wesley

  • Davis T (1993) The reuse capability model: a basis for improving an organization’s reuse capability. In: Software Reusability, 1993. Proceedings Advances in Software Reuse, Selected Papers from the Second International Workshop on, pp 126 –133. doi:10.1109/ASR.1993.291710

  • Domis D, Sehestedt S, Gamer T, Aleksy M, Koziolek H (2014) Customizing domain analysis for assessing the reuse potential of industrial software systems. In: Proceedings of 18th Internal Software Product Line Conference (SPLC2014), Industry Track. ACM

  • Ducasse S, Pollet D (2009) Software architecture reconstruction: A process-oriented taxonomy. IEEE Trans Softw Eng 35(4):573–591

    Article  Google Scholar 

  • Eisenbarth T, Simon D (2001) Guiding feature asset mining for software product line development In: Proceedings of the International Workshop on Product Line Engineering: The Early Steps: Planning, Modeling, and Managing, Erfurt, Germany, Fraunhofer IESE, pp 1–4

  • Eisenhardt KM (1989) Building theories from case study research. Acad Manag Rev 14(4):532–550

    Google Scholar 

  • Fairbanks G (2010) Just Enough Software Architecture: A Risk-Driven Approach, 1st edn. Marshall & Brainerd

  • Frenzel P, Koschke R, Breu APJ, Angstmann K (2007) Extending the reflexion method for consolidating software variants into product lines. In: Proceedings of the 14th Working Conference on Reverse Engineering, WCRE ’07, pp 160–169. IEEE Computer Society, Washington

    Book  Google Scholar 

  • Ganesan D, Knodel J (2005) Identifying domain-specific reusable components from existing oo systems to support product line migration. In: Proceedings First International Workshop on Reengineering towards Product Lines, R2PL 2005, Pittsburgh, Pennsylvania, USA, pp 16–20

  • Groene B (2012) Introducing architecture modeling at a big software product company. In: Proceedings Praxisforum Modellierung 2012 http://qfam.gi.de/fileadmin/user_upload/PraxiforumModellierung2012/Introducing-architecture-modeling-at-a-big-software-product-company_Groene.pdf

  • Guo GY, Atlee JM, Kazman R (1999) A software architecture reconstruction method. In:Proceedings of the TC2 First Working IFIP Conference on Software Architecture (WICSA1), WICSA1, pp 15–34. Kluwer, B.V., Deventer. http://dl.acm.org/citation.cfm?id=646545.696370

  • Harhurin A, Hartmann J (2008) Service-oriented commonality analysis across existing systems. In: Software Product Line Conference, 2008. SPLC ’08. 12th International, pp 255–264 doi:10.1109/SPLC.2008.19

  • Hariri N, Castro-Herrera C, Mirakhorli M, Cleland-Huang J, Mobasher B (2013) Supporting domain analysis through mining and recommending features from online product listings. IEEE Trans Softw Eng 39(12):1736–1752. doi:10.1109/TSE.2013.39

    Article  Google Scholar 

  • Holmes R, Walker RJ (2013) Systematizing pragmatic software reuse. ACM Trans Softw Eng Methodol 21(4):20:1–20:44. doi:10.1145/2377656.2377657

    Google Scholar 

  • John I, Knodel J, Lehner T, Muthig D (2006) A practical guide to product line scoping. In: Software Product Line Conference, 2006 10th International, pp 3–12 doi:10.1109/SPLINE.2006.1691572

  • Jones LG, Northrop LM (2010) Clearing the way for software product line success. IEEE Softw 27(3):22–28. doi:10.1109/MS.2010.71

    Article  Google Scholar 

  • Kazman R, Carrière SJ (1999) Playing detective: Reconstructing software architecture from available evidence. Autom Softw Eng 6(2):107–138

    Article  Google Scholar 

  • Khurum M, Gorschek T (2009) A systematic review of domain analysis solutions for product lines. J Syst Softw 82(12):1982–2003. doi:10.1016/j.jss.2009.06.048

    Article  Google Scholar 

  • Knauber P, Muthig D, Schmid K, Widen T (2000) Applying product line concepts in small and medium-sized companies. IEEE Softw 17(5):88–95. doi:10.1109/52.877873

    Article  Google Scholar 

  • Knoepfel A, Groene B, Tabeling P (2006) Fundamental Modeling Concepts: Effective Communication of IT Systems. Wiley

  • Koziolek H, Goldschmidt T, de Gooijer T, Domis D, Sehestedt S (2013) Experiences from identifying software reuse opportunities by domain analysis. In: Proceedings of the 17th Internal Software Product Line Conference (SPLC2013), Industry Track. ACM

  • Koziolek H, Weiss R, Doppelhamer J (2009) Evolving Industrial Software Architectures into a Software Product Line: A Case Study. In: Proceedings of the 5th Int. Conf. on the Quality of Software Architecture (QoSA’09), LNCS, vol 5581, pp 177–193. Springer

  • Krueger CW (2002) Easing the transition to software mass customization. In: Revised Papers from the 4th International Workshop on Software Product-Family Engineering, PFE ’01, pp 282–293. Springer-Verlag, London. http://dl.acm.org/citation.cfm?id=648114.748909

    Book  Google Scholar 

  • van der Linden FJ, Schmid K, Rommes E (2007) Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer

  • Neighbors JM (1984) The draco approach to constructing software from reusable components. IEEE Trans Softw Eng 5:564–574

    Article  Google Scholar 

  • Northrop L, Jones L, Donohoe P (2005) Examining product line readiness: Experiences with the sei product line technical probe. https://resources.sei.cmu.edu/asset_files/Presentation/2005_017_001_23904.pdf

  • Pinzger M, Gall H, Girard JF, Knodel J, Riva C, Pasman W, Broerse C, Wijnstra J (2004) Architecture recovery for product families. In: van der Linden F (ed) Software Product-Family Engineering, Lecture Notes in Computer Science, vol 3014, pp 332–351. Springer, Berlin

  • Pohl K, Boeckle G, van der Linden FJ (2005) Software Product Line Engineering: Foundations, Principles and Techniques. Springer

  • Poulin JS (1996) Measuring Software Reuse: Principles, Practices, and Economic Models, 1st edn. Addison-Wesley Professional

  • Prieto-Diaz R, Arango G (1991) Domain Analysis and Software Systems Modeling. IEEE Computer Society Press

  • Rubin J, Chechik M (2013) A survey of feature location techniques. In: Domain Engineering, pp 29–58. Springer

  • Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empirical Softw Engg 14(2):131–164. doi:10.1007/s10664-008-9102-8

    Article  Google Scholar 

  • Schmid K (2002) A comprehensive product line scoping approach and its validation. In: Proceedings of the 24th International Conference on Software Engineering, ICSE ’02, pp 593–603. ACM, New York

    Book  Google Scholar 

  • Schmid K, John I, Kolb R, Meier G (2005) Introducing the pulse approach to an embedded system population at testo ag. In: Proceedings of the 27th International Conference on Software Engineering, ICSE ’05, pp 544–552. ACM, New York

    Google Scholar 

  • Simos M, Creps D, Klingler C, Levine L, Allemang D (1996) Organization domain modeling (odm) guidebook, version 2.0. Tech. Rep. STARS-VC-A025/001/00, Lockheed Martin Tactical Defence Systems, United States of America

  • Stoermer C, O’Brien L (2001) Map - mining architectures for product line evaluations. In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture, 2001, pp 35–44. doi:10.1109/WICSA.2001.948405

  • Van Deursen A, Klint P, Visser J (2000) Domain-specific languages: An annotated bibliography. SIGPLAN Not 35(6):26–36

    Article  Google Scholar 

  • Yin RK (2013) Case Study Research: Design and Methods, 5th edn. Sage Publications Ltd

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Heiko Koziolek.

Additional information

Communicated by: Ebrahim Bagheri, David Benavides, Per Runeson and Klaus Schmid

Appendix: Application Cases

Appendix: Application Cases

This section provides a detailed description of the application of our Software Product Line potential assessment approach and is intended to facilitate executing similar approaches.

1.1 A.1 Application Case 1: Industrial Control Systems

Industrial control systems monitor and control automation processes in a variety of different industrial sectors (e.g., power generation, chemical plants, or substations). ABB has several such systems in its portfolio, which address specific industrial subdomains and have been incorporated in former company mergers.

For step 1 of our approach we conducted an internal survey of existing ABB products, which resulted in a list of products, from which we removed such products that are no longer in active development. In step 2 we decided to use almost all of the generic reuse criteria formerly defined. We also decided to focus on high-level features only. Since these are large-scale systems, there is no fine-granular break-down of the features as the analysis rather targets the systematic reuse of whole subsystems. According to the selected reuse criteria, we started to create the questionnaire for the later interviews.

In step 3, we found that for some systems extensive architectural documentation was available. We used this information to come up with a sketch of the architecture in the FMC notation. We created an initial list of 30 features in step 4, which we based on our own domain knowledge from working with similar systems (Fig. 2). The list was reviewed by multiple ABB-internal domain experts, who did not work on the products themselves.

Fig. 2
figure 2

Anonymized excerpt of the feature support matrix for the control systems case study

We conducted on-site interviews for each product ranging from half a day to three days (step 5) depending on the product’s size. As the last part of each product interview, we created and extended our architectural sketches. Due to the different sizes of the systems and the varying depth of the interviews, the architecture illustrations created during the interviews had different granularity. In subsequent document analyses and clarifications via phone the architecture illustrations of all systems were brought to a comparable level (example in Fig. 3. Based on the architecture illustrations we were capable of visualizing the data flows through the components, which are omitted here for confidentiality. For example, one data flow included a sensor value read from an industrial device and propagated through the system to be shown on the operator screen.

Fig. 3
figure 3

Architecture map for three of the analyzed systems in application case 1 (simplified)

The next step 6 was to identify reusable features and subsystems based on the information from system documentation and the interviews transcripts. We executed this step offsite after all interviews had been finished. We used a product feature support matrix (Fig. 2). The matrix shows for each product whether a feature from the feature list is supported. We also indicated whether a new implementation of a feature or a replacement of an existing subsystem is currently realistic. In this case, we marked the product as a potential reuse consumer for that feature. Products that have a high-quality and generic implementation of a feature are highlighted as potential reuse providers.

Furthermore, we analyzed the cohesion and coupling of the subsystems that implement a feature to find out whether subsystems could be easily extracted from the implementations to serve as core assets. We also colored subsystems in different products that implement similar features. Using the matrix we identified several realistic new reuse opportunities among the products. We documented the technical feasibility for each reuse opportunity based on the information from the interviews and the available documentation. The organizational feasibility of each reuse opportunity was also analyzed similarly.

In parallel, we attempted to create a economic analysis (step 7), which proved to be too complicated in this case. Besides the development and maintenance cost of each product, also the migration costs for existing installations need to be considered if a subsystem is replaced. This is especially critical in the industrial control system domain, since these systems include numerous hardware devices and engineering work to customize the system. We were thus not able to create a reasonable business calculation in this domain, because the inputs for such a calculation were difficult to gather.

In summary, in this application case, our approach enabled us to create a thorough, albeit high-level, assessment of reuse opportunities. It showed to scale to complex systems and still provides useful results despite the relatively short feature list. In one product, the high-level architecture overviews provided by our architecture illustrations made the respective business unit rethink architectural trade-offs. The architecture illustrations also were instrumental in stimulating discussions among the product architects and visualize the functional overlap.

Our initial intuition about high functional overlap between the various systems was confirmed by our analysis. However, an actual re-engineering of the systems towards reusing subsystems still seems difficult due to the expected high migration costs. These costs are a result of the high configurability of the products, which would require high efforts to update customer configurations. Therefore, the focus of reuse opportunities in this domain lies more in guiding future development towards a better alignment and systematic reuse of subsystems.

1.2 A.2 Application Case 2: Automation PC Tools

In the second application case, we analyzed a set of PC-based commissioning and monitoring tools for industrial automation systems. Commissioning tools load software applications onto a device and set application parameters. Monitoring tools observe an automation system, check and predict its operating conditions, and raise alarm events. During their development history, the developers of the tools have changed. The product management was aware of the tools in the families as well as of the potential functional overlaps, which could provide a potential for a software product line and for reducing future development and maintenance efforts.

The time frame for this SPL potential analysis was three working weeks. We used one week for preparation (step 1-4), one week on site for interviews with the developers (step 5), and one week for potential identification and economic analysis (step 6-7). For step 1 the developers provided an initial list of all tools. We excluded tools, for which a low reuse potential could be assumed or which are no longer maintained. From the generic reuse criteria we excluded organizational criteria, since the tools were owned by only two units, which were already collaborating successfully step 2.

We gathered user manuals and architecture documents in step 3, which were instrumental to build up an initial feature list (step 4). Nevertheless, due to our limited former domain knowledge, we had to significantly adapt the list in step 5. During this step, we interviewed three project managers and developers, who provided a business and technical perspective. There was no explicit architecture role defined for these products. We used a feature map (Schmid 2002) immediately in the interviews (Fig. 4). Compared to Schmid’s approach (Schmid 2002), we only performed product line mapping and a short domain potential assessment, but no quantitative reuse infrastructure scoping, due to effort limitations.

Fig. 4
figure 4

Example feature map

The last session of each interview, was the architecture reconstruction. We started from a black box view of a tool with its interfaces, refined this into a view showing clients and servers, for example, and modeled the next levels of components and internal data flow. The data-flow oriented view of FMC was a new notation for the developers. After a short learning phase, modeling worked well and supported an active discussion about the architecture and its concepts, such as used patterns and styles.

After completing the interviews, we finalized the assessment of the reuse and SPL potential for each domain and subdomain in the feature map (step 6). We added rationale for each potential rating of low, medium, and high. In the end, the feature map consisted of more than 300 features grouped into 50 subdomains and 19 domains. The potential for systematic reuse of ten subdomains, e.g., data management, are ranked high. The architecture illustration was then used to cross-check the technical feasibility of creating shared components for the identified subdomains. In the end, we identified three short-term reuse scenarios involving smaller subsets of features that can be implemented in the next releases. Additionally, six feature domains and subdomains are long-term candidates for being integrated into a common platform, but require deeper technical investigations.

To round up our investigation with an economic analysis, we performed a business case calculation step 7. In parallel to the preceding steps of the analysis, we collected numbers for the current development and maintenance costs of the tools, which required several weeks of calendar time, as the information had to be gathered from different sources. Then we calculated the return on investment for each reuse scenario. As originally defined, the formulas (Boeckle et al. 2004) were only applicable to one reuse scenario without changes. In this scenario, two components are merged for being reused in both tool families. In this case, we estimated C c a b as 50 percent higher than building one of the individual products. F c a b was 10 percent and C r e u s e was approx. 12 percent of the costs of building the whole products from scratch. We have omitted the other costs for confidentiality reasons. The calculation showed a positive ROI after three years.

The stakeholders were particularly interested in the three short-term reuse scenarios and their business cases. They did not require the exact numbers, but were satisfied by the positive trend expected for implementing the scenarios. Thus, they planned to discuss the scenarios with the other relevant stakeholders of the tools for implementation.

1.3 A.3 Application Case 3: Device Engineering Tools

In the following application case, we focus on three different ABB device engineering tools for configuration, commissioning, and maintenance within a single industrial sector. In step 1 of our approach these tools had been identified by management and a contact person had been named for each tool. Specific for this case we considered a new product with only a technical and market requirement specification available at the time of analysis. This is to ensure that this new product can directly benefit from and support the systematic software reuse opportunities that are identified during our analysis.

While establishing the reuse criteria in step 2 management asked us to put specific emphasis on lessons learned from the existing tools and future developments. Finally, as management appeared to be open minded towards reuse for future developments, reuse culture was also integrated into the questionnaire. Processes and market fit were excluded in this case.

During step 3 we collected documentation on the different engineering tools as well as the devices to be engineered, e.g., product manuals, specification sheets, and getting started guides. For the most powerful and complex tool, we also received detailed internal technical documentation, such as an architecture review of a previous tool version, from which we created a first architectural sketch. In step 4, we created an extensive feature list with roughly 200 entries categorized in 10 domains (Fig. 4).

For step 5, we scheduled one and a half days for the interviews with lead architect, product manager, and team manager for each tool. We started each interview with a short tool and device demonstration, which proved to provide a good common understanding. During the interviews we spent most time for discussing and refining the feature list. To reconstruct the architecture in the interviews we additionally relied on the CrossModel Architecture Discovery Pattern Language (Fairbanks 2010) for guidance, which was not yet known to us in the other application cases. In addition, the FMC notation was used to document the architecture.

After the interviews, we identified reuse opportunities on the feature and system level (step 6). The regarded tools partially have similar functionality as well as similar technology roadmaps for future releases. This finding resulted in the creation of a new project to design and implement a common underlying platform. Especially, collected lessons learned and identified high level requirements covering all tools will be useful. The lessons learned were categorized into organizational, technical, and known challenges with reuse. This allows for avoiding known issues but also to benefit from known opportunities and good decisions.

We did not create a business case (step 7) in this application case, as the management’s priority was on technical aspects of future reuse opportunities. Nevertheless the involved stakeholders confirmed their perception of an expected positive return on investment by starting a new platform design and development project. Based on the positive analysis results, one additional ABB device engineering tool was added to the potential scope of a future common platform and will be analyzed soon.

1.4 A.4 Application Case 4: Enterprise Information Systems

In this application case, we analyzed a set of ABB enterprise information systems, which are used to store large data sets and to provide them to different kinds of users via corresponding views, filters, and search functions. The analysis comprised a family of five products and two individual products, which have grown independently of each other. Today, the two individual products (A and B) and one product from the family (C) are used to support similar business processes, i.e., some users require all three systems to manage related sets of data for particular tasks. The four remaining products of the family have different users and handle independent data.

To better understand the relationships of the considered enterprise information systems, we extended the domain analysis: we used a comparison of the database schemata to analyze the relation and overlap of the data managed by the products. Additionally, we conducted an evaluation of the underlying business processes to assess the tool overlap on this level as well as the impact of merging the tools on the business processes.

In step 1, the product managers provided the list of products to analyze as well as the contact persons. To establish the reuse criteria in step 2 we reused the criteria prioritization from application case 3, which was agreed upon by the contact persons. The provided documentation for step 3 included product overviews such as powerpoint presentations, user manuals, database schemata, use case descriptions in UML, and high-level architectural descriptions.

From the collected documentation, we were able to prepare around 70 percent of the final feature table in step 4 and major parts of the architecture maps before the interviews. Similar to the feature table, we prepared a table that mapped the data model entities (in the rows) to products (in the columns). We mainly used the product overviews and user manuals of the products as input for the data entity map, because the database schemata were too detailed and complex for such an high level mapping. Based on a use case documentation, we were able to create a draft version of a business process description of one of the products.

The on-site interviews in step 5 required one and a half day for each product. Showing the feature map for all products to the developers of a single tool created discussions. Some interviewees disputed the features supported by other products or argued that despite missing support in their own product, a work around would be possible. These discussions were valuable, as they allowed to cross check the feature table and achieve a better understanding of the differences of the products. The final feature map contained more than 250 features grouped into subdomains and domains.

Afterwards, we reviewed the prepared FMC architecture maps and completed them together with the interviewees. The original architecture documentations used proprietary notations and described the architecture on different levels of abstraction for each product. Redrawing the architectures in FMC unified the notation and the abstraction level for better comparability. All interviewees understood the notation immediately and were able to provide corrections and additions.

In step 6, we compared the business process, features, architectures, and data schemata. For comparing the business processes, we mapped them onto a related reference business process specification. As a result, we identified a large overlap between the individual product A and product C from the family, although they might be instantiated differently. This fact was determined in three business processes which are supported by both systems but handled in a different way. For the feature map, we assessed the overlap with a subjective of rating high, medium, and low and added a rationale statement. As for the business processes, the individual product A and product C from the family showed a large feature overlap. The functional overlap inside product B and the product family was lower and mainly covers basic tool functionality such as open, edit, and store data sets.

From the architecture maps, we compared logical structuring and used technologies. The two individual products and the tool family had been implemented in different technologies, which hinders direct reuse of components between the products. Also the logical structures of the products were different, but the cores of the individual product A and the product family were similar and provided potential for a common platform. The data schemata included different names and types, but semantically similar elements. We observed the largest overlap between product A’s and C’s data model, while product B had a low data model overlap.

Based on these results, we elaborated several scenarios for integrating the products: 1) data integration of A and C via corresponding interfaces, 2) merging A and C into a single product, 3) building A and C based on a common platform, and 4) building a software product line for implementing product A, product B, and the family (including C). For all scenarios, we listed the most important advantages and disadvantages such as usability, complexity, maintainability, time to market, and investment cost. We also sketched migration roadmaps between the scenarios.

In step 7, we only performed a return on investment calculation for reuse scenarios 3) and 4). The business units provided the former development and maintenance costs for the calculations, and we estimated a 50 percent higher effort for building generic, shared parts instead of specific, separated parts (C c a b ). Although the feature map indicated a high functional overlap, we conservatively assumed the overlap to be 50 percent after consulting the architects. With these and other assumptions, we expected a positive return on investment for scenario 3) after seven years, latest. Due to the larger number of products, the return on investment scenario 4) will likely pay off earlier. However, in both cases not the exact numbers, but the positive trend even under conservative assumptions was important for the stakeholders.

The business unit will first implement scenario 1) (data integration) for better usability of products A and C in common business processes and will align their business processes for preparing a more deep integration scenario. After the alignment of the business processes, the proposed integration scenarios well be reassessed for selecting the final solution.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Koziolek, H., Goldschmidt, T., de Gooijer, T. et al. Assessing software product line potential: an exploratory industrial case study. Empir Software Eng 21, 411–448 (2016). https://doi.org/10.1007/s10664-014-9358-0

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-014-9358-0

Keywords

Navigation