Enablers and inhibitors for speed with reuse

An open issue in industry is software reuse in the context of large scale Agile product development. The speed offered by agile practices is needed to hit the market, while reuse is needed for long-term productivity, efficiency, and profit. The paper presents an empirical investigation of factors influencing speed and reuse in three large product developing organizations seeking to implement Agile practices. The paper identifies, through a multiple case study with 3 organizations, 114 business-, process-, organizational-, architecture-, knowledge- and communication factors with positive or negative influences on reuse, speed or both. Contributions are a categorized inventory of influencing factors, a display for organizing factors for the purpose of process improvement work, and a list of key improvement areas to address when implementing reuse in organizations striving to become more Agile. Categories identified include good factors with positive influences on reuse or speed, harmful factors with negative influences, and complex factors involving inverse or ambiguous relationships. Key improvement areas in the studied organizations are intra-organizational communication practices, reuse awareness and practices, architectural integration and variability management. Results are intended to support process improvement work in the direction of Agile product development. Feedback on results from the studied organizations has been that the inventory captures current situations, and is useful for software process improvement work.

[1]  Will Tracz,et al.  Confessions of a used-program salesman: lessons learned , 1995, SSR '95.

[2]  Klaus Schmid A Quantitative Model of the Value of Architecture in Product Line Adoption , 2003, PFE.

[3]  Maurizio Morisio,et al.  Success and Failure Factors in Software Reuse , 2002, IEEE Trans. Software Eng..

[4]  Jennifer Pérez,et al.  Agile product line engineering—a systematic literature review , 2011, Softw. Pract. Exp..

[5]  Geir Kjetil Hanssen,et al.  Process fusion: An industrial case study on agile software product line engineering , 2008, J. Syst. Softw..

[6]  John McGregor Agile Software Product Lines, Deconstructed , 2008, J. Object Technol..

[7]  Paul J. Layzell,et al.  Organisational considerations for software reuse , 1998, Ann. Softw. Eng..

[8]  Ioannis Stamelos,et al.  Product Line Variability with Elastic Components and Test-Driven Development , 2008, 2008 International Conference on Computational Intelligence for Modelling Control & Automation.

[9]  Anselm L. Strauss,et al.  Basics of qualitative research : techniques and procedures for developing grounded theory , 1998 .

[10]  Dean Leffingwell,et al.  Scaling Software Agility: Best Practices for Large Enterprises (The Agile Software Development Series) , 2007 .

[11]  Tsun Chow,et al.  A survey study of critical success factors in agile software projects , 2008, J. Syst. Softw..

[12]  John E. Gaffney,et al.  A general economics model of software reuse , 1992, International Conference on Software Engineering.

[13]  Dale R. Peterson Economics of Software Product Lines , 2003, PFE.

[14]  Bernhard Rumpe,et al.  Limitations of Agile Software Processes , 2014, ArXiv.

[15]  Tim Menzies,et al.  More Success and Failure Factors in Software Reuse , 2003, IEEE Trans. Software Eng..

[16]  Claes Wohlin,et al.  A comparison of issues and advantages in agile and incremental development between state of the art and an industrial case , 2009, J. Syst. Softw..

[17]  Antonio Martini Factors influencing reuse and speed in three organizations , 2012 .

[18]  Pekka Abrahamsson,et al.  A report on the XP workshop on agile product line engineering , 2009, SOEN.

[19]  Matthew B. Miles,et al.  Qualitative Data Analysis: An Expanded Sourcebook , 1994 .