Nothing Special   »   [go: up one dir, main page]

skip to main content
research-article

Continuous software engineering and its support by usage and decision knowledge: : An interview study with practitioners

Published: 20 May 2019 Publication History

Abstract

Continuous software engineering (CSE) emerged as a process that is increasingly applied by practitioners. However, different perceptions impede its adoption in industry. Furthermore, opportunities through utilizing usage and decision knowledge remain unexploited. We conducted a semi‐structured interview study with 24 practitioners from 17 companies to study how practitioners apply CSE during software evolution and how usage and decision knowledge can support CSE. Regarding the application of CSE, we identified five perspectives on CSE with tool‐ and methodology‐driven definitions most prevalent. Automated tests, involved users, and shared rulesets are perceived as most relevant for CSE. Practitioners report more positive than negative experiences; however, more than half of their responses were neutral. Practitioners' future plans for CSE focus on enhancement, expansion, and on‐demand adaption. Regarding the integration of usage and decision knowledge into CSE, practitioners perceive accountability and traceability as major benefits, while raising concerns about its feasibility and user groups. As short‐term extensions, practitioners expect improvements regarding automation and role aspects, while long‐term additions to integration and experimentation capabilities are demanded. We conclude that CSE remains partially difficult to capture for practitioners, while their attitude toward integrating usage and decision knowledge into CSE is positive.

Graphical Abstract

Utilizing a semi‐structured interview study with 24 practitioners from 17 companies, we identify five CSE definitions. Practitioners perceive quality as most relevant. They provide 19 positive, 56 neutral, and 17 negative experiences and three strategies for future plans. We structure CSE in a model. Practitioners welcome the integration of usage and decision knowledge into CSE. They report on benefits, obstacles, additions, and extensions for both knowledge types, from which we improve a vision of knowledge integration into CSE.

References

[1]
Bosch J. Continuous Software Engineering: An Introduction. Cham:Springer; 2014.
[2]
Fitzgerald B, Stol K‐J. Continuous software engineering: a roadmap and agenda. J Syst Software. 2017;123:176‐189.
[3]
Humphrey WS. The software engineering process: definition and scope. SIGSOFT Softw Eng Notes. 1988;14(4):82‐83.
[4]
Krusche S, Bruegge B. Csepm ‐ a continuous software engineering process metamodel. In: 2017 IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering (RCoSE). Buenos Aires, Argentina; 2017:2‐8.
[5]
Olsson HH, Alahyari H, Bosch J. Climbing the "stairway to heaven"—a mulitiple‐case study exploring barriers in the transition from agile development towards continuous deployment of software. In: 2012 38th Euromicro Conference on Software Engineering and Advanced Applications; 2012; Washington, DC, USA:392‐399.
[6]
Ståhl D., Mårtensson T, Bosch J. The continuity of continuous integration: correlations and consequences. J Syst Software. 2017;127:150‐167.
[7]
Rahman AAU, Helms E, Williams L, Parnin C. Synthesizing continuous deployment practices used in software development. In: 2015 Agile Conference; 2015; Washington, DC, USA:1‐10.
[8]
Rodríguez P, Haghighatkhah A, Lwakatare LE, et al. Continuous deployment of software intensive products and services: a systematic mapping study. J Syst Software. 2017;123:263‐291.
[9]
Johanssen JO, Kleebaum A, Bruegge B, Paech B. Towards a systematic approach to integrate usage and decision knowledge in continuous software engineering. In: 2nd Workshop on Continuous Software Engineering. Hannover, Germany; 2017:7‐11.
[10]
Johanssen JO, Kleebaum A, Bruegge B, Paech B. Towards the visualization of usage and decision knowledge in continuous software engineering. In: 2017 IEEE Working Conference on Software Visualization (VISSOFT); 2017; Shanghai, China:104‐108.
[11]
Johanssen JO, Kleebaum A, Paech B, Bruegge B. Practitioners' eye on continuous software engineering: an interview study. In: Proceedings of the 2018 International Conference on Software and System Process. ACM; 2018; Gothenburg, Sweden:41‐50.
[12]
Maalej W, Happel H‐J, Rashid A. When users become collaborators: towards continuous and context‐aware user input. In: Proceedings of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications. ACM; 2009; Orlando, Florida, USA:981‐990.
[13]
Johanssen JO, Kleebaum A, Bruegge B, Paech B. Feature crumbs: adapting usage monitoring to continuous software engineering. In: Kuhrmann M, Schneider K, Pfahl D, et al., eds. Product‐Focused Software Process Improvement. Cham: Springer International Publishing; 2018:263‐271.
[14]
Seffah A, Metzker E. The obstacles and myths of usability and software engineering. Commun ACM. December 2004;47(12):71‐76.
[15]
Dutoit AH, McCall R, Mistrík I, Paech B. Rationale Management in Software Engineering. Berlin, Heidelberg:Springer; 2006.
[16]
Alexeeva Z, Perez‐Palacin D, Mirandola R. Design decision documentation: a literature overview. Software Architecture, LNCS, vol. 5292. Cham:Springer Berlin Heidelberg; 2016:84‐101.
[17]
Kleebaum A, Johanssen JO, Paech B, Bruegge B. Tool support for decision and usage knowledge in continuous software engineering. In: Krusche S, Lichter H, Riehle D, Steffens A, eds. Proceedings of the 3rd Workshop on Continuous Software Engineering. Ulm, Germany: CEUR‐WS.org; 2018:74‐77.
[18]
Kleebaum A, Johanssen JO, Paech B, Alkadhi R, Bruegge B. Decision knowledge triggers in continuous software engineering. In: Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering. Gothenburg, Sweden:ACM; 2018:23‐26.
[19]
Brunet J, Murphy GC, Terra R, Figueiredo J, Serey D. Do developers discuss design? Proceedings of the 11th Working Conference on Mining Software Repositories ‐ MSR 2014. Hyderabad, India: ACM Press; 2014:340‐343.
[20]
Krusche S, Alperowitz L, Bruegge B, Wagner MO. Rugby: an agile process model based on continuous delivery. In: Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering. Hyderabad, India; 2014:42‐50.
[21]
Krusche S. Rugby ‐ A process model for continuous software engineering. Ph.D. Thesis: Technical University Munich, Germany; 2016.
[22]
Myers MD, Newman M. The qualitative interview in is research: examining the craft. Inf Organiz. 2007;17(1):2‐26.
[23]
Runeson P, Host M, Rainer A, Regnell B. Case Study Research in Software Engineering: Guidelines and Examples. Hoboken, N.J.: John Wiley & Sons; 2012.
[24]
Saldaña J. The Coding Manual for Qualitative Researchers. 2nd ed. Los Angeles/London/New Delhi/Singapore/Washington DC: SAGE Publications; 2009.
[25]
Torchiano M, Ricca F. Six reasons for rejecting an industrial survey paper. In: 2013 1st International Workshop on Conducting Empirical Studies in Industry (CESI). San Francisco, CA, USA; 2013:21‐26.
[26]
Kuhrmann M, Diebold P, Münch J., et al. Hybrid software and system development in practice: waterfall, scrum, and beyond. In: Proceedings of the 2017 International Conference on Software and System Process. ACM; 2017; Paris, France:30‐39.
[27]
Mäkinen S, Leppänen M, Kilamo T, et al. Improving the delivery cycle: a multiple‐case study of the toolchains in finnish software intensive enterprises. Inf Software Technol. 2016;80:175‐194.
[28]
Ståhl D, Bosch J. Experienced benefits of continuous integration in industry software product development: a case study. In: Proceedings of the 12th IASTED International Conference on Software Engineering, SE 2013; 2013; Innsbruck, Austria:736‐743.
[29]
Shahin M, Ali Babar M, Zhu L. Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices. IEEE Access. 2017;5(Ci):3909‐3943.
[30]
Kevic K, Murphy B, Williams L, Beckmann J. Characterizing experimentation in continuous deployment: a case study on bing. In: Proceedings of the 39th International Conference on Software Engineering: Software Engineering in Practice Track (ICSE‐SEIP); 2017; Buenos Aires, Argentina:123‐132.
[31]
Dybå T, Dingsøyr T. Empirical studies of agile software development: a systematic review. Inf Software Technol. 2008;50(9‐10):833‐859.
[32]
Ayed H, Vanderose B, Habra N. Agile cultural challenges in Europe and Asia: insights from practitioners. In: Proceedings of the 39th International Conference on Software Engineering: SEIP Track. IEEE; 2017; Buenos Aires, Argentina:153‐162.
[33]
Larusdottir M, Gulliksen J, Cajander Å. A license to kill—improving UCSD in Agile development. J Syst Software. 2017;123:214‐222.
[34]
O'Hanlon C. A conversation with werner vogels. Queue. May 2006;4(4):14:14‐14:22.
[35]
Johanssen JO. Continuous user understanding for the evolution of interactive systems. In: Proceedings of the ACM SIGCHI Symposium on Engineering Interactive Computing Systems (EICS '18). Paris, France:ACM; 2018:15:1‐15:6.
[36]
Johanssen JO, Henze D, Bruegge B. A syllabus for usability engineering in multi‐project courses. In: 16. Workshop Software Engineering im Unterricht der Hochschulen (SEUH). Bremerhaven, Germany; 2019:126‐133.
[37]
Kleebaum A, Johanssen JO, Paech B, Bruegge B. Teaching rationale management in agile project courses. In: 16. Workshop Software Engineering im Unterricht der Hochschulen (SEUH). Bremerhaven, Germany; 2019:134‐145.
[38]
Bruegge B, Krusche S, Alperowitz L. Software engineering project courses with industrial clients. ACM Trans Comput Educ. 2015;15(4):17:1‐17:31.

Cited By

View all
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2023)Towards Federated Ontology-Driven Data Integration in Continuous Software EngineeringProceedings of the XXXVII Brazilian Symposium on Software Engineering10.1145/3613372.3613380(31-36)Online publication date: 25-Sep-2023
  • (2023)Visualizations for the evolution of Variant-Rich SystemsInformation and Software Technology10.1016/j.infsof.2022.107084154:COnline publication date: 20-Jan-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image Journal of Software: Evolution and Process
Journal of Software: Evolution and Process  Volume 31, Issue 5
May 2019
112 pages
ISSN:2047-7473
EISSN:2047-7481
DOI:10.1002/smr.v31.5
Issue’s Table of Contents

Publisher

John Wiley & Sons, Inc.

United States

Publication History

Published: 20 May 2019

Author Tags

  1. agile software development
  2. continuous software engineering
  3. decision knowledge
  4. interview study
  5. tool support
  6. usage knowledge

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 04 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A Systematic Literature Review on the Influence of Enhanced Developer Experience on Developers' Productivity: Factors, Practices, and RecommendationsACM Computing Surveys10.1145/368729957:1(1-46)Online publication date: 7-Oct-2024
  • (2023)Towards Federated Ontology-Driven Data Integration in Continuous Software EngineeringProceedings of the XXXVII Brazilian Symposium on Software Engineering10.1145/3613372.3613380(31-36)Online publication date: 25-Sep-2023
  • (2023)Visualizations for the evolution of Variant-Rich SystemsInformation and Software Technology10.1016/j.infsof.2022.107084154:COnline publication date: 20-Jan-2023
  • (2023)Data interoperability assessment, case of messaging‐based data exchangesJournal of Software: Evolution and Process10.1002/smr.253835:12Online publication date: 7-Feb-2023
  • (2021)Tell me: Am I going to Heaven? A Diagnosis Instrument of Continuous Software Engineering Practices AdoptionProceedings of the 25th International Conference on Evaluation and Assessment in Software Engineering10.1145/3463274.3463324(30-39)Online publication date: 21-Jun-2021
  • (2021)From a Scrum Reference Ontology to the Integration of Applications for Data-Driven Software DevelopmentInformation and Software Technology10.1016/j.infsof.2021.106570136:COnline publication date: 1-Aug-2021
  • (2020)Towards a Framework for Continuous Software EngineeringProceedings of the XXXIV Brazilian Symposium on Software Engineering10.1145/3422392.3422469(626-631)Online publication date: 21-Oct-2020

View Options

View options

Get Access

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media