Advertisement

An Integrated Requirements Engineering Framework for Agile Software Product Lines

  • Hassan HaidarEmail author
  • Manuel Kolp
  • Yves Wautelet
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 1077)

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.

Keywords

Agile product line engineering Requirements Engineering goal model Feature Feature model AgiFPL 

References

  1. 1.
    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)Google Scholar
  2. 2.
    Clements, P.C., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston (2001)Google Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    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_30CrossRefGoogle Scholar
  5. 5.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)CrossRefGoogle Scholar
  6. 6.
    Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Softw. 15(6), 37–45 (1998)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    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_6CrossRefzbMATHGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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_30CrossRefGoogle Scholar
  12. 12.
    Tian, K., Cooper, K.: Agile and software product line methods: are they so different. In: 1st International Workshop on Agile Product Line Engineering (2006)Google Scholar
  13. 13.
    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)Google Scholar
  14. 14.
    Boehm, B.W.: Get ready for agile methods, with care. IEEE Comput. 35(1), 64–69 (2002)CrossRefGoogle Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)CrossRefGoogle Scholar
  17. 17.
    Schön, E.-M., Thomaschewski, J., Escalona, M.J.: Agile requirements engineering: a systematic literature review. Comput. Stand. Interfaces 49, 79–91 (2017)CrossRefGoogle Scholar
  18. 18.
    Highsmith, J., Cockburn, A.: Agile software development: the business of innovation. Computer 34(9), 120–122 (2001)CrossRefGoogle Scholar
  19. 19.
    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-7CrossRefGoogle Scholar
  20. 20.
    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
  21. 21.
    Irshad, M., Petersen, K., Poulding, S.: A systematic literature review of software requirements reuse approaches. Inf. Softw. Technol. 93(C), 223–245 (2018)CrossRefGoogle Scholar
  22. 22.
    Cohn, M.: User Stories Applied: For Agile Software Development. Addison Wesley Longman Publishing Co., Boston (2004)Google Scholar
  23. 23.
    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_11CrossRefGoogle Scholar
  24. 24.
    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-8CrossRefGoogle Scholar
  25. 25.
    Rubin, K.S.: Essential Scrum: A Practical Guide to the Most Popular Agile Process. Addison-Wesley Professional (2012)Google Scholar
  26. 26.
    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_15CrossRefGoogle Scholar
  27. 27.
    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_2CrossRefzbMATHGoogle Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    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)CrossRefGoogle Scholar
  32. 32.
    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)CrossRefGoogle Scholar
  33. 33.
    Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Prentice Hall PTR, Upper Saddle River (2002)zbMATHGoogle Scholar
  34. 34.
    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)Google Scholar
  35. 35.
    Kuhrmann, M., Tiessler, M.: Crafting a Method Engineering Metamodel – Approach, Methods, Results. TU München, Garching (2014)Google Scholar
  36. 36.
    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_18CrossRefGoogle Scholar
  37. 37.
    OMG: Unified Modeling Language (OMG UML) - version 2.5.1. Technical report (2017)Google Scholar
  38. 38.
    Yu, E., Giorgini, P., Maiden, N., Mylopoulos, J. (eds.): Social Modeling for Requirements Engineering. MIT, Cambridge (2011)Google Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    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)CrossRefGoogle Scholar
  41. 41.
    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
  42. 42.
    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)Google Scholar
  43. 43.
    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
  44. 44.
    Leffingwell, D.: Agile Software Requirements: Lean Requirements Practices for Teams, Programs, and the Enterprise. Addison-Wesley Professional, Boston (2011)Google Scholar
  45. 45.
    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)Google Scholar
  46. 46.
    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)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.UCLouvain, LouRIM/CEMISLouvain-la-NeuveBelgium
  2. 2.KULeuven, FEBLeuvenBelgium

Personalised recommendations