Communication factors for speed and reuse in large-scale agile software development

An open issue in industry is the combination of software reuse in the context of large scale Agile Software Development. The speed offered by Agile Software Development is needed for short time to market, while reuse strategies such as Software Product Line Engineering are needed for long-term productivity, efficiency, and profit. The paper investigates, through a survey, communication factors affecting both speed and reuse in 3 large companies developing embedded systems and employing Agile Software Development and Software Product Line Engineering. Our results include a prioritized list of communication related factors obtained by statistical analysis and the recognition and spread of the factors in the companies. We have recognized 5 interfaces with the Agile development team that need to be improved: system engineers (architects), product management, distributed teams, inter-project teams and sales unit. Few factors (involving inter-project communication) depend on the business drivers for the company. We also reveal that Agile teams need strategic and architectural inputs in order to be implanted in a large company employing Software Product Line Engineering. Academic and industrial training as well as different tactics for co-location would improve the communication skills of engineers. There is also a need for solutions, in the reference architecture, for fostering Agile Software Development: the goal is the combination of the focus on customer value of the teams, reusability, system requirements and avoidance of organizational dependencies.

[1]  Per Runeson,et al.  Guidelines for conducting and reporting case study research in software engineering , 2009, Empirical Software Engineering.

[2]  Petra Bosch-Sijtsema,et al.  From integration to composition: On the impact of software product lines, global development and ecosystems , 2010, J. Syst. Softw..

[3]  Ronald Czaja,et al.  Designing Surveys: A Guide to Decisions and Procedures , 1995 .

[4]  William B. Frakes,et al.  Software reuse research: status and future , 2005, IEEE Transactions on Software Engineering.

[5]  Per Runeson,et al.  Combining agile methods with stage-gate project management , 2005, IEEE Software.

[6]  Beverley G. Hope,et al.  Author's Personal Copy the Journal of Systems and Software Coordination in Co-located Agile Software Development Projects , 2022 .

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

[8]  Torgeir Dingsøyr,et al.  A decade of agile methodologies: Towards explaining agile software development , 2012, J. Syst. Softw..

[9]  Petri Kettunen,et al.  Combining agile software projects and large-scale organizational agility , 2008, Softw. Process. Improv. Pract..

[10]  Kari Känsälä,et al.  Software Product Family Evaluation , 2004, SPLC.

[11]  Jan Bosch,et al.  Enablers and inhibitors for speed with reuse , 2012, SPLC '12.

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

[13]  Kulwant S. Pawar,et al.  Virtual collocation of design teams: coordinating for speed , 2000 .

[14]  Robert L. Nord,et al.  Software Product Lines , 2004, Lecture Notes in Computer Science.

[15]  A. Strauss,et al.  Grounded Theory in Practice , 1997 .

[16]  Claes Wohlin,et al.  Experimentation in software engineering: an introduction , 2000 .

[17]  Lars Höglund Review: Designing surveys: a guide to decisions and procedures. Eds: Czaja, R. and Blair, J. London: Sage, 2005 , 2006 .

[18]  Casper Lassenius,et al.  Collaboration practices in global inter-organizational software development projects , 2003, Softw. Process. Improv. Pract..

[19]  Hye-Young Paik,et al.  Using Scrum in Global Software Development: A Systematic Literature Review , 2009, 2009 Fourth IEEE International Conference on Global Software Engineering.

[20]  Petri Kettunen,et al.  Combining agile software projects and large-scale organizational agility , 2008 .

[21]  Jan Bosch,et al.  Improving Businesses Success by Managing Interactions among Agile Teams in Large Organizations , 2013, ICSOB.

[22]  Pekka Abrahamsson,et al.  The impact of agile practices on communication in software development , 2008, Empirical Software Engineering.

[23]  Aldo Dagnino,et al.  Agile Software Development in Large Organizations , 2004, Computer.