Abstract
Requirements engineering (RE) techniques play a determinant role within Agile Product Lines development methods; these notably allow to establish the relevance to adopt or not the product line approach for software-intensive systems production. This paper proposes an integrated goal and feature-based meta-model for agile software product lines development. The main objective is to permit the sepecification of the requirements that precisely capture stakeholder’s needs and intentions as well as the management of product line variabilities. Adopting practices from requirements engineering, especially goal and feature models, helps designing the domain and application engineering tiers of an agile product line. Such an approach allows a holistic perspective integrating human, organizational and agile aspects to better understand product lines dynamic business environments. It helps bridging the gap be-tween product lines structures and requirements models, and proposes an integrated framework to all actors involved in the product line architecture. In this paper we show how our proposed metamodel can be applied to the requirements engineering stage of an agile product line development mainly for feature-oriented agile product lines such as our own methodology called AgiFPL.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
da Silva, I.F., da Mota Silveira Neto, P.A., O’Leary, P., de Almeida, E.S., de Lemos Meira, S.R.: Agile software product lines: a systematic mapping study. Softw.: Pract. Exp. 41(8), 899–920 (2011)
Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2001)
DÃaz, J., Pérez, J., Alarcón, P.P., Garbajosa, J.: Agile product line engineering - a systematic literature review. Softw.: Pract. Exp. 41(8), 921–941 (2011)
Asadi, M., Ramsin, R.: MDA-based methodologies: an analytical survey. In: Schieferdecker, I., Hartman, A. (eds.) ECMDA-FA 2008. LNCS, vol. 5095, pp. 419–431. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-69100-6_30
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)
Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Softw. 15(6), 37–45 (1998)
Alves, V., Niu, N., Alves, C.F., Valença, G.: Requirements engineering for software product lines: a systematic literature review. Inf. Softw. Technol. 52(8), 806–820 (2010)
Haidar, H., Kolp, M., Wautelet, Y.: Formalizing agile software product lines with a RE metamodel. In: 13th International Conference on Software Technologies, ICSOFT 2018, pp. 90–101. SciTePress, Porto (2018)
O’Regan, G.: Z formal specification language. In: O’Regan, G. (ed.) Mathematics in Computing: An Accessible Guide to Historical, Foundational and Application Contexts, pp. 109–122. Springer, London (2013). https://doi.org/10.1007/978-1-4471-4534-9_6
Haidar, H., Kolp, M., Wautelet, Y.: Agile product line engineering: the AgiFPL method. In: 12th International Conference on Software Technologies, ICSOFT 2017, pp. 275–285. SciTePress, Madrid (2017)
Borba, C., Silva, C.: A comparison of goal-oriented approaches to model software product lines variability. In: Heuser, C.A., Pernul, G. (eds.) ER 2009. LNCS, vol. 5833, pp. 244–253. Springer, Heidelberg (2009). https://doi.org/10.1007/978-3-642-04947-7_30
Tian, K., Cooper, K.: Agile and software product line methods: are they so different. In: 1st International Workshop on Agile Product Line Engineering (2006)
Carbon, R., Lindvall, M., Muthig, D., Costa, P.: Integrating product line engineering and agile methods: flexible design up-front vs. incremental design. In: 1st International Workshop on Agile Product Line Engineering (2006)
Boehm, B.W.: Get ready for agile methods, with care. IEEE Comput. 35(1), 64–69 (2002)
Navarrete, F., Botella, P., Franch, X.: How agile COTS selection methods are (and can be). In: Proceedings of the 31st EUROMICRO Conference on Software Engineering and Advanced Applications, Porto, Portugal, pp. 160–167. IEEE Computer Society (2005)
Noor, M.A., Rabiser, R., Grünbacher, P.: Agile product line planning: a collaborative approach and a case study. J. Syst. Softw. 81(6), 868–882 (2008)
Schön, E.-M., Thomaschewski, J., Escalona, M.J.: Agile requirements engineering: a systematic literature review. Comput. Stand. Interfaces 49, 79–91 (2017)
Highsmith, J., Cockburn, A.: Agile software development: the business of innovation. Computer 34(9), 120–122 (2001)
Apel, S., Batory, D., Kästner, C., Saake, G.: Feature-Oriented Software Product Lines: Concepts and Implementation. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37521-7
Northrop, L., Clement, P.C.: A framework for software product line practice, version 5.0. https://resources.sei.cmu.edu/library/asset-view.cfm?assetID=495357. Accessed 23 Nov 2018
Irshad, M., Petersen, K., Poulding, S.: A systematic literature review of software requirements reuse approaches. Inf. Softw. Technol. 93(C), 223–245 (2018)
Cohn, M.: User Stories Applied: For Agile Software Development. Addison Wesley Longman Publishing Co., Boston (2004)
Wautelet, Y., Heng, S., Hintea, D., Kolp, M., Poelmans, S.: Bridging user story sets with the use case model. In: Link, S., Trujillo, Juan C. (eds.) ER 2016. LNCS, vol. 9975, pp. 127–138. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-47717-6_11
van der Linden, F.J., Schmid, K., Rommes, E.: Software Product Lines in Action: The Best Industrial Practice in Product Line Engineering. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71437-8
Rubin, K.S.: Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley Professional (2012)
Wautelet, Y., Heng, S., Kolp, M., Mirbel, I.: Unifying and extending user story models. In: Jarke, M., Mylopoulos, J., Quix, C., Rolland, C., Manolopoulos, Y., Mouratidis, H., Horkoff, J. (eds.) CAiSE 2014. LNCS, vol. 8484, pp. 211–225. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-07881-6_15
Broy, M.: Domain modeling and domain engineering: key tasks in requirements engineering. In: Münch, J., Schmid, K. (eds.) Perspectives on the Future of Software Engineering. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-37395-4_2
Klünder, J., Hohl, P., Schneider, K.: Becoming agile while preserving software product lines: an agile transformation model for large companies. In: Proceedings of the 2018 International Conference on Software and System Process, Gothenburg, Sweden, pp. 1–10. ACM (2018)
Babar, M.A., Ihme, T., Pikkarainen, M.: An industrial case of exploiting product line architectures in agile software development. In: Proceedings of the 13th International Software Product Line Conference, San Francisco, California, USA, pp. 171–179. Carnegie Mellon University (2009)
Ghanam, Y., Park, S., Maurer, F.: A test-driven approach to establishing & managing agile product lines. In: Proceedings of the 5th Software Product Line Testing Workshop (SPLiT 2008) in Conjunction with SPLC 2008, Limerick, Ireland (2008)
O’Leary, P., McCaffery, F., Thiel, S., Richardson, I.: An agile process model for product derivation in software product line engineering. J. Softw. Maint. Res. Pract. 24(5), 561–571 (2012)
DÃaz, J., Pérez, J., Garbajosa, J.: Agile product-line architecting in practice: a case study in smart grids. Inf. Softw. Technol. 56(7), 727–748 (2014)
Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall PTR, Upper Saddle River (2002)
dos Santos Jr., A.F., Lucena Jr., V.F.: SCRUMPL - software product line engineering with scrum. In: Proceedings of ENASE 2010 - Conference on Evaluation of Novel Approaches to Software Engineering, Setubal, Portugal, pp. 239–244. SciTePress (2010)
Kuhrmann, M., Tiessler, M.: Crafting a Method Engineering Metamodel – Approach, Methods, Results. TU München, Garching (2014)
Engels, G., Sauer, S.: A meta-method for defining software engineering methods. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Graph Transformations and Model-Driven Engineering. Lecture Notes in Computer Science, vol. 5765, pp. 411–440. Springer, Berlin, Heidelberg (2010). https://doi.org/10.1007/978-3-642-17322-6_18
OMG: Unified Modeling Language (OMG UML) - version 2.5.1. Technical report (2017)
Yu, E., Giorgini, P., Maiden, N., Mylopoulos, J. (eds.): Social Modeling for Requirements Engineering. MIT, Cambridge (2011)
Mouratidis, H., Kolp, M., Faulkner, S., Giorgini, P.: A secure architectural description language for agent systems. In: Proceedings of the 4th International Joint Conference on Autonomous Agents and Multiagent Systems, pp. 578–585. ACM, The Netherlands (2005)
Asadi, M., Gröner, G., Mohabbati, B., Gasevic, D.: Goal-oriented modeling and verification of feature-oriented product lines. Softw. Syst. Model. 15(1), 257–279 (2014)
Dalpiaz, F., Franch, X., Horkoff, J.J.C.: iStar 2.0 Language Guide (v3) 2016. https://arxiv.org/pdf/1605.07767v3.pdf. Accessed 14 Oct 2018
Jaqueira, A., Lucena, M., Alencar, F.M.R., Castro, J., Aranha, E.: Using i* models to enrich user stories. In: Proceedings of the 6th International i* Workshop 2013, Valencia, Spain, pp. 55–60. CEUR-WS.org (2013)
Haidar, H., Kolp, M., Wautelet, Y.: Goal-oriented requirement engineering for agile software product lines: an overview. LouRIM Working Paper Series, February 2017. http://hdl.handle.net/2078.1/185846
Leffingwell, D.: Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley Professional, Boston (2011)
Wautelet, Y., Heng, S., Kiv, S., Kolp, M.: User-story driven development of multi-agent systems: a process fragment for agile methods. Comput. Lang. Syst. Struct. 50, 159–176 (2017)
Kolp, M., Do, T., Faulkner, S.: Introspecting agent-oriented design patterns. In: Chang, S.K. (ed.) Handbook of Software Engineering and Knowledge Engineering: Recent Advances: Recent Advances, vol. 3, pp. 151–177. World Scientific Publishing (2005)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Haidar, H., Kolp, M., Wautelet, Y. (2019). An Integrated Requirements Engineering Framework for Agile Software Product Lines. In: van Sinderen, M., Maciaszek, L. (eds) Software Technologies. ICSOFT 2018. Communications in Computer and Information Science, vol 1077. Springer, Cham. https://doi.org/10.1007/978-3-030-29157-0_6
Download citation
DOI: https://doi.org/10.1007/978-3-030-29157-0_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-29156-3
Online ISBN: 978-3-030-29157-0
eBook Packages: Computer ScienceComputer Science (R0)