Abstract
Software product lines are rarely developed from scratch. Instead the development of a product line by reengineering existing systems is a more common scenario, which relies on the collaboration of diverse stakeholders to lay its foundations. The paper describes a collaborative scoping approach for organizations migrating existing products to a product line. The approach uses established practices from the field of reengineering and architectural recovery and synthesizes them in a collaborative process. The proposed approach employs best practices and tools from the area of collaboration engineering to achieve effective collaboration. The paper presents a case study as initial validation of the proposed approach.
Chapter PDF
Similar content being viewed by others
References
Clements, P., Northrop, L.: Software product lines: practices and patterns. Addison-Wesley, Reading (2002)
Boeckle, G., Clements, P., McGregor, J.D., Muthig, D., Schmid, K., Siemens, A.G., Munich, G.: Calculating ROI for software product lines. IEEESoftware 21(3), 23–31 (2004)
Aversano, L., Tortorella, M.: An assessment strategy for identifying legacy system evolution requirements in eBusiness context. J. Softw. Maint. Evol.: Res. Pract. 16, 255–276 (2004)
Noor, M.A., Grünbacher, P., Briggs, R.O.: Defining a Collaborative Approach for Product Line Scoping: A Case Study in Collaboration Engineering. In: IASTED Conference on Software Engineering (SE 2007) Innsbruck, Austria, February 13 (2007)
De Lucia, A., Fasolino, A.R., Pompelle, E.: A decisional framework for legacy system management. In: Proceedings of IEEE International Conference on Software Maintenance, pp. 642–651 (2001)
Ransom, J., Sommerville, I., Warren, I.: A Method for Assessing Legacy Systems for Evolution. In: Proceedings of Reengineering Forum, p. 98 (1998)
Software Engineering Assessment HandBook Version 3, DoD US (1997) last checked: 9-08-07, http://www.swen.uwaterloo.ca/~kostas/ECE750-3/srah.pdf
Bergey, J.K., O’Brien, L., Smith, D.: Options Analysis for Reengineering (OAR): A Method for Mining Legacy Assets 2001. Carnegie Mellon University, Software Engineering Institute
Caldiera, G., Basili, V.R.: Identifying and qualifying reusable software components. IEEE Computer 24(2), 61–70 (1991)
Sneed, H.M.: Planning the reengineering of legacy systems. IEEE Software 12(1), 24–34 (1995)
De Baud, J.M., Flege, O., Knauber, P.: PuLSE-DSSA—a method for the development of software reference architectures. In: Proceedings of the third international workshop on Software architecture, pp. 25–28 (1998)
O’Brien, L., Smith, D.: MAP and OAR Methods: Techniques for Developing Core Assets for Software Product Lines from Existing Assets. Carnegie Mellon University, Software Engineering Institute (2002)
Stoermer, C., O’Brien, L.: MAP-Mining Architectures for Product Line Evaluations. In: Proceedings of the IEEE/IFIP Working Conference on Software Architectures, Amsterdam, The Netherlands, August 2001, pp. 35–44 (2001)
Boehm, B.: A view of 20th and 21st century software engineering. In: Proceeding of the 28th international conference on Software engineering (ICSE 2006), pp. 12–29 (2006)
Briggs, R.O., d.V.G.J., Nunamaker, J.J.F.: Collaboration Engineering with ThinkLets to Pursue Sustained Success with Group Support Systems. Journal of Management Information Systems 19(4), 31–64 (2003)
Briggs, R.O., De Vreede, G.J., Nunamaker Jr, J.F., Tobey, D.: ThinkLets: achieving predictable, repeatable patterns of group interaction with group support systems (GSS). In: Proceedings of the 34th Annual Hawaii International Conference on System Sciences, p. 9 (2001)
Grünbacher, P., Halling, M., Biffl, S.: An empirical study on groupware support for software inspection meetings. In: 18th IEEE International Conference on Automated Software Engineering, pp. 4–11 (2003)
Grünbacher, P., Seyff, N., Briggs, R.O., In, H.P., Kitapci, H., Port, D.: Making every student a winner: The WinWin approach in software engineering education. Journal of Systems and Software 80(8), 1191–1200 (2007)
Kolb, R., Muthig, D., Patzke, T., Yamauchi, K.: Refactoring a legacy component for reuse in a software product line: a case study. Journal of Software Maintenance and Evolution: Research and Practice 18, 109–132 (2006)
Schmid, K.: A comprehensive product line scoping approach and its validation. In: Proceedings of the 24th International Conference on Software Engineering, pp. 593–603 (2002)
Noor, M.A., Rabiser, R., Grünbacher, P.: A Collaborative Approach for Reengineering-based Product Line Scoping in APLE - 1st International Workshop on Agile Product Line Engineering 2006, Baltimore, Maryland (2006)
Noor, M.A., Rabiser, R., Grünbacher, P.: Agile Product Line Planning: A Collaborative Approach and a Case Study. Journal of Systems and Software (to appear), doi:10.1016/j.jss.2007.10.028
Schmid, K., Verlage, M.: The Economic Impact of Product Line Adoption and Evolution. IEEE Software 19(4), 50–57 (2002)
Bayer, J., Girard, J.F., Wuerthner, M., De Baud, J.M., Apel, M.: Transitioning legacy assets to a product line architecture. ACM SIGSOFT Software Engineering Notes 24(6), 446–463 (1999)
Ebert, C., Smouts, M.: Tricks and Traps of Initiating a Product Line Concept in Existing Products. In: Proceedings of the 25th International Conference on Software Engineering (ICSE 2003), pp. 520–525 (2003)
Kircher, M., Schwanninger, C., Groher, I.: Transitioning to a Software Product Family Approach - Challenges and Best Practices. In: 10th International Software Product Line Conference, 2006, pp. 163–171 (2006)
Briggs, R.O., Kolfschoten, G.L., Vreede, G.J.d., Dean, D.L.: Defining Key Concepts for Collaboration Engineering. In: Americas Conference on Information Systems, AIS, Acapulco (2006)
De Vreede, G.J., Kolfschoten, G.L., Briggs, R.O.: ThinkLets: a collaboration engineering pattern language. International Journal of Computer Applications in Technology 25(2), 140–154 (2006)
Kolfschoten, G.L., Appelman, J.H., Briggs, R.O., de Vreede, G.J.: Recurring patterns of facilitation interventions in GSS sessions. In: Proceedings of the 37th Annual Hawaii International Conference on System Sciences, pp. 19–28 (2004)
Boehm, B.W., Ross, R.: Theory-W software project management principles and examples. IEEE Transactions on Software Engineering 1989 15(7), 902–916 (1989)
Harder, R.J., Keeter, J.M., Woodcock, B.W., Ferguson, J.W., Wills, F.W.: Insights in Implementing Collaboration Engineering. In: Proceedings of the 38th Annual Hawaii International Conference on System Sciences, HICSS 2005, p. 15b (2005)
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Transactions on Software Engineering 29(3), 210–224 (2003)
Egyed, A.: A Scenario-Driven Approach to Traceability. In: Proceedings of the 23rd International Conference on Software Engineering (ICSE), Toronto, Canada, pp. 123–132 (2001)
Barnard, J.: A new reusability metric for object-oriented software. Software Quality Journal 7, 35–50 (1998)
McCabe, T.J., Butler, C.W.: Design complexity measurement and testing. Communications of the ACM 32(12), 1415–1425 (1989)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2008 IFIP International Federation for Information Processing
About this paper
Cite this paper
Noor, M.A., Grünbacher, P., Hoyer, C. (2008). A Collaborative Method for Reuse Potential Assessment in Reengineering-Based Product Line Adoption. In: Meyer, B., Nawrocki, J.R., Walter, B. (eds) Balancing Agility and Formalism in Software Engineering. CEE-SET 2007. Lecture Notes in Computer Science, vol 5082. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-85279-7_6
Download citation
DOI: https://doi.org/10.1007/978-3-540-85279-7_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-85278-0
Online ISBN: 978-3-540-85279-7
eBook Packages: Computer ScienceComputer Science (R0)