Empirical Software Engineering

, Volume 19, Issue 4, pp 1144–1168 | Cite as

Challenges and industry practices for managing software variability in small and medium sized enterprises

  • Tuomas Ihme
  • Minna Pikkarainen
  • Susanna Teppola
  • Jukka Kääriäinen
  • Olivier Biot
Article

Abstract

Software variability is an ability to change (configure, customize, extend) software artefacts (e.g. code, product, domain requirements, models, design, documentation, test cases) for a specific context. Optimized variability management can lead a software company to 1) shorter development lead time, 2) improved customer and improved user satisfaction, 3) reduced complexity of product management (more variability, same $) and 4) reduced costs (same variability, less $). However, it is not easy for software companies, especially small and medium size of enterprises to deal with variability. In this paper we present variability challenges and used practices collected from five SMEs. Our study indicates that increased product complexity can lead growing SMEs to the time-consuming decision-making. Many of the analyzed medium size of companies also expect improved tool support to help them to boost their productivity when managing increasingly complex products and increasing amount of variants In fact, in many of the analysed SMEs, a high level of automation in design, release management and testing are or become a key factor for market success By introducing the challenges and used practices related to variability the paper deepens understanding of this highly relevant but relatively under-researched phenomenon and contributes to the literature on software product line engineering.

Keywords

Software variability challenges Variability practices 

References

  1. Ali Babar M, Chen L, Shull F (2010) Managing variability in software product lines. IEEE Softw 27(3):89–94CrossRefGoogle Scholar
  2. Asikainen T, Mannisto T, Soininen T (2007) Kumbang: A domain ontology for modelling variability in software product families. Adv Eng Inform 21(1):23–40Google Scholar
  3. Bachmann F, Clements PC (2005) Variability in software product lines. SEI CMU, Pittsburgh, Technical Report CMU/SEI-2005-TR-012Google Scholar
  4. Bosch J (2006) The challenges of broadening the scope of software product families the challenges of broading the cope of software product families. Commun ACM 49(12):41–44CrossRefGoogle Scholar
  5. Bosch J, Florijn G, Greefhorst D, Kuusela J, Obbink H, Pohl K (2001) Variability issues in software product lines. In: van def Linden F (ed) Fourth International Workshop on Product Family Engineering (PFE-4). Springer-Verlag, Bilbao, pp 13–21Google Scholar
  6. Chen L, Ali Babar M (2010) Variability management in software product lines: an investigation of contenporary industrial challenges. Proceeding SPLC'10 Proceedings of the 14th international conference on Software product linesGoogle Scholar
  7. Chen L, Ali Babar M (2011) A systematic review of evaluation of variability management approaches in software product lines. Inf Softw Technol 53: 344–362Google Scholar
  8. Clements P, Northrop L (2001) Software product lines. Addison-Wesley, New YorkGoogle Scholar
  9. Codenie W, Gonzalez-Deleito N, Deleu J, Blagojevic V, Kuvaja P, Similä J (2010) Managing flexibility and variability: a road to competitive advantage. In: Kang K, Sugumaran V, Park S (eds) Applied software product line engineering. CRC Press, New York, pp 269–313Google Scholar
  10. Eisenhardt KM (1989) Building theories from case study research. Acad Manag Rev 14(4):532–550Google Scholar
  11. Eisenhardt KM, Graebner ME (2007) Theory building from cases: opportunities and challenges. Acad Manag J 50(1):25–32CrossRefGoogle Scholar
  12. Fillis I (2001) Small firm internationalisation: an investigative survey and future research directions. Manag Decis 39(9):767–783CrossRefGoogle Scholar
  13. Galster M, Avgeriou P (2011) Handling variability in software architecture: problems and implications. Proceedings of the ninth working IEEE/IFIP Conference on Software Architecture pp 171–180Google Scholar
  14. Groves L, Nickson R, Reeve G, Reeves S, Utting M (2000) A survey of software development practices in New Zeland software industry. Aswec (Australian Software Engineering Conference) 00, pp 189–202Google Scholar
  15. Gurp J, Bosch J, Svahnberg M (2001) On the notion of variability in software product lines. Proc Work IEEE/IFIP Conf Softw Archit 2001:45–55CrossRefGoogle Scholar
  16. Hallsteinsen S, Hinchey M, Park S, Schmid K (2008) Dyn Softw Prod Lines Comput 2008:93–95Google Scholar
  17. Halmans G, Pohl K (2003) Communicating the variability of a software-product family to customers. Softw Syst Model 2(1):15–36CrossRefGoogle Scholar
  18. Info-Tech (2004) Stage 7 >build a strategic decision making framework. In: Strategic IT planning and governance, info-tech research group (www.infotech.com)
  19. Jaejoon L, Kotonya G, Robinson D (2012) Engineering service-based dynamic software product lines. IEEE Comput 45(10):49–54Google Scholar
  20. Kamsties E, Hörmann K, Schlich M (1998) Requirements engineering in small and medium enterprises. Requir Eng 3(2):84–90CrossRefGoogle Scholar
  21. Karlström D, Runeson P (2006) Integrating agile software development into stage-gate managed product development. Empir Softw Eng 11(2):203–225CrossRefGoogle Scholar
  22. Kim KS, Knotts TL, Jones SC (2008) Characterizing viability of small manufacturing enterprises (SME) in the market. Expert Syst Appl 34(2008):128–134CrossRefGoogle Scholar
  23. Kratochvíl M, Carson C (2005) Growing modular: mass customization of complex products, services and software. SpringerGoogle Scholar
  24. Krueger C (2001) Variation management for software production lines. In: Chastek G (Ed) SPLC2 2002, LNCS 2379, pp 37–48Google Scholar
  25. Krueger C (2002) Eliminating the adoption barrier. IEEE Softw 19(4):29–31CrossRefGoogle Scholar
  26. Laporte CY, Alexandre S, O’Connor RV (2008) A software engineering lifecycle standard for very small enterprises. Proceedings of the 15th European Software Process Improvement Conference, EuroSPI 2008. EuroSPI 2008, Dublin, pp 129–141. doi:10.1007/978-3-540-85936-9_12 Google Scholar
  27. Manolova T, Brush C, Edelman L, Greene P (2002) Internationalization of small firms: personal factors revisited. Int Small Bus J 20(1):9–31CrossRefGoogle Scholar
  28. Metha A, Heineman GT (2002) Evolving legacy system features into fine grained components. ICSE 2002:417–427Google Scholar
  29. Mohagheghi P, Conradi R (2007) Quality, productivity and economic benefits of software reuse: a review of industrial studies. Empir Softw Eng 12(5):471–516CrossRefGoogle Scholar
  30. Mtigwe B (2005) The entrepreneurial firm internationalization process in the Southern African context: a comparative approach. Int J Entrep Behav Res 11(5):358–377CrossRefGoogle Scholar
  31. Nikula U, Sajaniemi J, Kälviäinen H (2000) A state-of-the-practice survey on requirements engineering in small- and medium-sized enterprises, research report 1. Telecom Business Research Center, Lappeenranta University of Technology, Lappeenranta, 20 pGoogle Scholar
  32. Northrop L (2010) Maximizing the investment from your software product portfolio. Software Engineering Institute. Available at http://www.sei.cmu.edu/library
  33. Patton MQ (2002) Qualitative research & evaluation methods. Sage Publications, LondonGoogle Scholar
  34. Pohl K, Böckle G, van der Linden F (2005) Software product-line engineering—foundations. Principles and Techniques, SpringerMATHGoogle Scholar
  35. Rech J, Bogner C, Haas V (2007) Using wikis to tackle reuse in software projects. IEEE Softw 24(6):99–104CrossRefGoogle Scholar
  36. Reinhartz-Berger I, Sturm A (2009) Utilizing domain models for application design and validation. Inf Softw Technol 51:1275–1289Google Scholar
  37. Runeson P, Höst M (2009) Guidelines for conducting and reporting case studies in software engineering. Empir Softw Eng 14:131–164CrossRefGoogle Scholar
  38. Stallinger F, Neumann R, Schossleitner R, Stephan Kriener S (2011) Migrating towards evolving software product lines: challenges of an SME in a core customer-driven industrial systems engineering context. Proceedings of PLEASE’11, May 22–23, 2011, Waikiki, Honolulu, pp. 20–24Google Scholar
  39. Svahnberg M, van Gurp J, Bosch A (2005) A taxonomy of variability realization techniques. Softw Pract Experience 35(8):705–754CrossRefGoogle Scholar
  40. Thörn C (2010) Current state and potential of variability management practices in software-intensive SMEs: results from a regional survey. Inf Softw Technol 52:411–421CrossRefGoogle Scholar
  41. van der Linden FJ, Schmid K, Rommes E (2007) Software product lines in action. Springer, Berlin, 333 pCrossRefGoogle Scholar
  42. Verlage M, Kiesgen T (2005) Five years of product engineering in small company, ICSE, pp 534–543Google Scholar
  43. Yin RK (2002) Case study research design and methods, 3rd edn. Sage Publications, Thousand OaksGoogle Scholar

Copyright information

© Springer Science+Business Media New York 2013

Authors and Affiliations

  • Tuomas Ihme
    • 1
  • Minna Pikkarainen
    • 1
  • Susanna Teppola
    • 1
  • Jukka Kääriäinen
    • 1
  • Olivier Biot
    • 2
  1. 1.VTT Technical Research Centre of FinlandOuluFinland
  2. 2.Sirris, The Collective Centre of the Belgian Technological IndustryBrusselsBelgium

Personalised recommendations