Advertisement

Requirements Engineering

, Volume 19, Issue 4, pp 333–354 | Cite as

Requirements-driven incremental adoption of variability management techniques and tools: an industrial experience report

  • Mahdi DerakhshanmaneshEmail author
  • Joachim Fox
  • Jürgen Ebert
Requirements Engineering in Software Product Lines

Abstract

In theory, software product line engineering has reached a mature state. In practice though, implementing a variability management approach remains a tough case-by-case challenge for any organization. To tame the complexity of this undertaking, it is inevitable to handle variability from multiple perspectives and to manage variability consistently across artifacts, tools, and workflows. Especially, a solid understanding and management of the requirements to be met by the products is an inevitable prerequisite. In this article, we share experiences from the ongoing incremental adoption of explicit variability management at TRW Automotive’s department for automotive slip control systems—located in Koblenz, Germany. On the technical side, the three key drivers of this adoption effort are (a) domain modeling and scoping, (b) handling of variability in requirements and (c) tighter integration of software engineering focus areas (e.g., domain modeling, requirements engineering, architectural modeling) to make use of variability-related data. In addition to implementation challenges with using and integrating concrete third-party tools, social and workflow-related issues are covered as well. The lessons learned are presented, discussed, and thoroughly compared with the state of the art in research.

Keywords

Features Incremental adoption Requirements Reuse Software product lines Tool integration 

References

  1. 1.
    Aiken C, Keller S (2009) The irrational side of change management. McKinsey Q 2:101–109Google Scholar
  2. 2.
    Alves V, Niu N, Alves C, Valença G (2010) Requirements engineering for software product lines: a systematic literature review. Inf Softw Technol 52(8):806–820CrossRefGoogle Scholar
  3. 3.
    APIS IT GmbH (2008) AIAG FMEA, 4th ednGoogle Scholar
  4. 4.
    Asadi M, Bagheri E, Mohabbati B, Gašević D (2012) Requirements engineering in feature oriented software product lines: an initial analytical study. In: Proceedings of the 16th international software product line conference, vol 2, SPLC ’12. ACM, New York, NY, USA, pp 36–44Google Scholar
  5. 5.
    Automotive SIG: Automotive SPICE: process assessment model (2010)Google Scholar
  6. 6.
    Automotive SIG: Automotive SPICE: process reference model (2010)Google Scholar
  7. 7.
    Bachmann F, Bass L (2001) Managing variability in software architectures. In: Proceedings of the 2001 symposium on software reusability: putting software reuse in context, SSR ’01. ACM, New York, NY, USA, pp 126–132Google Scholar
  8. 8.
    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. ACM, New York, NY, USA, pp 122–131Google Scholar
  9. 9.
    Bosch J (2002) Maturity and evolution in software product lines: approaches, artefacts and organization. In: Proceedings of the second international conference on software product lines, SPLC ’02. London, UK, pp 257–271Google Scholar
  10. 10.
    Bosch J (2004) On the development of software product family components. Lect Notes Comput Sci 3154:169–173Google Scholar
  11. 11.
    Brewer MB (2000) Research design and issues of validity. In: Reis HT, Judd CM (eds) Handbook of research methods in social and personality psychology, chap 1. Cambridge University Press, CambridgeGoogle Scholar
  12. 12.
    Bühne S, Lauenroth K, Pohl K (2005) Modelling requirements variability across product lines. In: Proceedings 13th IEEE international conference on requirements engineering, RE ’05. IEEE, pp 41–52Google Scholar
  13. 13.
    Chrissis MB, Konrad M, Shrum S (2011) CMMI for development: guidelines for process integration and product improvement, third edn. SEI series in software engineering. Addison-Wesley Professional, ReadingGoogle Scholar
  14. 14.
    Classen A, Heymans P, Laney RC, Nuseibeh B, Tun TT (2007) On the structure of problem variability: from feature diagrams to problem frames. In: Pohl K, Heymans P, Kang KC, Metzger A (eds) First international workshop on variability modelling of software-intensive systems, Lero Technical Report, vol 2007-01, pp 109–117Google Scholar
  15. 15.
    Clements P, Northrop L (2001) Software product lines: practices and patterns. In: SEI series in software engineering, 3rd edn. Addison-Wesley Professional, ReadingGoogle Scholar
  16. 16.
    Clements PC, Jones LG, McGregor JD, Northrop LM (2006) Getting there from here: a roadmap for software product line adoption. Commun ACM 49(12):33–36CrossRefGoogle Scholar
  17. 17.
    Derakhshanmanesh M, Fox J, Ebert J (2012) Adopting feature-centric reuse of requirements assets: an industrial experience report. In: Proceedings of the 16th international software product line conference, vol 2, SPLC ’12. ACM, New York, NY, USA, pp 2–9Google Scholar
  18. 18.
    Doppler K, Lauterburg C (2002) Change management. Den Unternehmenswandel gestalten. Campus FachbuchGoogle Scholar
  19. 19.
    Eriksson M, Börstler J, Borg K (2005) The PLUSS approach—domain modeling with features, use cases and use case realizations. In: Obbink H, Pohl K (eds) Software product lines, lecture notes in computer science, vol 3714. Springer, Berlin, pp 33–44Google Scholar
  20. 20.
    Galster M, Avgeriou P (2011) Handling variability in software architecture: problems and implications. In: Proceedings of the 2011 ninth working IEEE/IFIP conference on software architecture, WICSA ’11. IEEE Computer Society, Washington, DC, USA, pp 171–180Google Scholar
  21. 21.
    Galster M, Avgeriou P (2011) The notion of variability in software architecture: results from a preliminary exploratory study. In: Proceedings of the 5th workshop on variability modeling of software-intensive systems, VaMoS ’11. ACM, New York, NY, USA, pp 59–67Google Scholar
  22. 22.
    Griss ML, Favaro J, d’Alessandro M (1998) Integrating feature modeling with the RSEB. In: Proceedings of the 5th international conference on software reuse, ICSR ’98. IEEE Computer Society, Washington, DC, USA, pp 76–85Google Scholar
  23. 23.
    Hetrick WA, Krueger CW, Moore JG (2006) Incremental return on incremental investment: engenio’s transition to software product line practice. Companion to the 21st ACM SIGPLAN conference on object-oriented programming systems languages and applications, OOPSLA ’06, pp 798–804Google Scholar
  24. 24.
    IEEE Recommended Practice for Software Requirements Specifications (1998) Technical report. New York, NY, USAGoogle Scholar
  25. 25.
    ISO—International Organization for Standardization: 26262-6:2011(E) Annex D: road vehicles—functional safety—part 6: product development at the software level (2011)Google Scholar
  26. 26.
    Jackson M (1995) Software requirements and specifications: a lexicon of practice, principles and prejudices. ACM Press/Addison-Wesley, New York, NYGoogle Scholar
  27. 27.
    Jackson M (2001) Problem frames: analyzing and structuring software development problems. Addison-Wesley, Boston, MAGoogle Scholar
  28. 28.
    Jacobson I, Griss M, Jonsson P (1997) Software reuse: architecture, process and organization for business success. ACM Press/Addison-Wesley, New York, NYGoogle Scholar
  29. 29.
    Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS (1990) Feature-oriented domain analysis (FODA) feasibility study. Technical report, CMU/SEI-90-TR-21, Software Engineering Institute, Carnegie Mellon UniversityGoogle Scholar
  30. 30.
    Knauss E, Lübke D, Flohr T (2006) Learning to tailor documentation of software requirements. In: Proceedings of the international workshop on learning software organizations and requirements engineering. Hannover, Germany, pp 39–46Google Scholar
  31. 31.
    Kotter JP (1996) Leading change. Harvard Business Review Press, CambridgeGoogle Scholar
  32. 32.
    Kovačević J, Aférez M, Kulesza U, Moreira A, Araújo J, Amaral V, Ramos Alves, Vander Rashid A, Chitchyan R (2007) AMPLE: aspect-oriented, model-driven, product line engineering (AMPLE: Deliverable D1.1). Technical report. http://ample.holos.pt/gest_cnt_upload/editor/File/public/DeliverableD1.1.pdf. (Visited: June 5th, 2013)
  33. 33.
    Krueger CW, Jackson K (2009) Requirements engineering for systems and software product lines. Technical report, IBM CorporationGoogle Scholar
  34. 34.
    Kuvaja P, Similä J, Hanhela H (2011) Software product line adoption—guidelines from a case study, pp 143–157Google Scholar
  35. 35.
    van Lamsweerde A (2009) Requirements engineering: from system goals to UML models to software specifications. Wiley, New YorkGoogle Scholar
  36. 36.
    Lee K, Kang KC, Lee J (2002) Concepts and guidelines of feature modeling for product line software engineering. Softw Reuse Methods Tech Tools 2319:62–77CrossRefGoogle Scholar
  37. 37.
    Maßen T, Lichter H (2004) RequiLine: a requirements engineering tool for software product lines. In: Linden F (eds) Software product-family engineering, lecture notes in computer science, vol 3014. Springer, Berlin, pp 168–180Google Scholar
  38. 38.
    McFeeley B (1996) IDEAL: A user’s guide for software process improvement. Technical report. February, Carnegie Mellon University, Pittsburgh, PAGoogle Scholar
  39. 39.
    Neiva DFS, De Almeida ES, Meira SRDL (2009) An experimental study on requirements engineering for software product lines. Proceedings of the 35th euromicro conference on software engineering and advanced applications, pp 251–254Google Scholar
  40. 40.
    Northrop LM (2004) Software product line adoption roadmap. Technical report. CMU/SEI-2004-TR-022, Software Engineering Institute, Carnegie Mellon UniversityGoogle Scholar
  41. 41.
    Nuseibeh B, Easterbrook S (2000) Requirements engineering: a roadmap. In: Proceedings of the conference on the future of software engineering, ICSE ’00. ACM, New York, NY, USA, pp 35–46Google Scholar
  42. 42.
    Padmanabhan P, Lutz RR (2005) Tool-Supported Verification of Product Line Requirements. Autom Softw Eng 12(4):447–465Google Scholar
  43. 43.
    Pohl K, Böckle G, van der Linden FJ (2005) Software product line engineering: foundations, principles and techniques. Springer, BerlinCrossRefGoogle Scholar
  44. 44.
    Rupp C (2007) Requirements-engineering und-Management. Hanser Fachbuchverlag, MunichGoogle Scholar
  45. 45.
    Schmid K, Krennrich K, Eisenbarth M (2006) Requirements management for product lines: extending professional tools. In: Proceedings of the 10th international software product line conference, SPLC ’06, pp 113–122Google Scholar
  46. 46.
    Shaker P, Atlee JM, Wang S (2012) A feature-oriented requirements modelling language. In: Proceedings of the 20th IEEE international requirements engineering conference, RE ’12, pp 151–160Google Scholar
  47. 47.
    Sochos P, Riebisch M, Philippow I (2006) The feature-architecture mapping (FArM) method for feature-oriented development of software product lines. In: Proceedings of the 13th annual IEEE international symposium and workshop on engineering of computer based systems, ECBS ’06. IEEE Computer Society, Washington, DC, USA, pp 308–318Google Scholar
  48. 48.
    Staples M, Hill D (2004) Experiences adopting software product line development without a product line architecture. In: Proceedings of the 11th Asia-Pacific software engineering conference, APSEC ’04. IEEE Computer Society, Washington, DC, USA, pp 176–183Google Scholar
  49. 49.
    Thurimella AK, Janzen D (2011) metadoc feature modeler: a plug-in for IBM rational DOORS. In: Proceedings of the 15th international software product line conference, SPLC ’11, pp 313–322Google Scholar
  50. 50.
    van der Linden FJ, Schmid K, Rommes E (2010) Software product lines in action: the best industrial practice in product line engineering. Springer, BerlinGoogle Scholar

Copyright information

© Springer-Verlag London 2013

Authors and Affiliations

  • Mahdi Derakhshanmanesh
    • 1
    Email author
  • Joachim Fox
    • 2
  • Jürgen Ebert
    • 1
  1. 1.Institute for Software TechnologyUniversity of Koblenz–LandauKoblenzGermany
  2. 2.Lucas Varity GmbHTRW AutomotiveKoblenzGermany

Personalised recommendations