Abstract
The development of smart and innovative software applications in various disciplines has inspired our lives by providing various cutting-edge technologies spanning from online to smart and efficient systems. The proliferation of innovative internet-enabled tools has transformed the nation into a globalized world where individuals can participate on various platforms, collaborate in activities, communicate on issues, and exchange information safely and consistently. Coordination and cooperation are essential in software development. It gathers all software developers in one space, encouraging them to discuss goals and work rationally to accomplish the project goal. In recent years, continuous software development and deployment have become increasingly common in software engineering. Continuous software engineering (CSE) is a method that involves a variety of strategies to increase the regularity of novel and modified software versions. CSE enables a continuous learning and improvement process through rapid software update iteration by combining continuous integration and delivery. Continuous integration is a method that has arisen in order to remove gaps between development and deployment. Software engineers must handle uncertainty and alter stakeholders' requirements, which is possible through continuous software developmental strategies that manage the overall software cycle and produce high-quality software applications. The proposed study is a systematic review related to continuous software development and deployment and focuses on achieving four aims: (1) To explore the impacts of continuous development on software, (2) to pinpoint various tools used to carry out this process, (3) to highlight the challenges faced in adopting continuous approaches for development and (4) to analyze the phases of continuous software engineering.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
Yaman SG, Sauvola T, Riungu-Kalliosaari L, Hokkanen L, Kuvaja P, Oivo M et al Customer involvement in continuous deployment: a systematic literature review. In: International working conference on requirements engineering: foundation for software quality, pp 249–265
Hu F, Xi X, Zhang Y (2021) Influencing mechanism of reverse knowledge spillover on investment enterprises’ technological progress: an empirical examination of Chinese firms. Technol Forecast Soc Chang 169:120797
Krusche S, Bruegge B (2017) CSEPM-a continuous software engineering process metamodel .In: 2017 IEEE/ACM 3rd international workshop on rapid continuous software engineering (RCoSE), pp 2–8
Johanssen JO, Kleebaum A, Bruegge B, Paech B Feature crumbs: adapting usage monitoring to continuous software engineering. In: International conference on product-focused software process improvement, pp 263–271
Zhou X, Zhang L (2022) SA-FPN: an effective feature pyramid network for crowded human detection. Appl Intell 52:12556–12568
Moyón F, Bayr C, Mendez D, Dännart S, Beckers K (2020) A light-weight tool for the self-assessment of security compliance in software development–an industry case. In: International conference on current trends in theory and practice of informatics, pp 403–416
Felderer M (2018) Risk-based software quality and security engineering in data-intensive environments. In: International conference on future data and security engineering, pp 12–17
Khan HU, Hussain A, Nazir S, Ali F, Khan MZ, Ullah I (2023) A service-efficient proxy mobile IPv6 extension for IoT domain. Information 14:459
Elazhary O, Storey M-A, Ernst NA, Paradis E (2021) Adept: a socio-technical theory of continuous integration. In: 2021 IEEE/ACM 43rd international conference on software engineering: new ideas and emerging results (ICSE-NIER), pp 26–30
Fagerholm F, Guinea AS, Mäenpää H, Münch J (2017) Building blocks for continuous experimentation. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 26–35
Li T, Fan Y, Li Y, Tarkoma S, Hui P (2021) Understanding the long-term evolution of mobile app usage. IEEE Trans Mob Comput. https://doi.org/10.1109/TMC.2021.3098664
Franch X, Lopez L, Martínez-Fernández S, Oriol M, Rodríguez P, Trendowicz A (2019) Quality-aware rapid software development project: the Q-rapids project. In: International conference on objects, components, models and patterns, pp 378–392
Fogarty A, Edgeworth A, Smith O, Dowling M, Yilmaz M, MacMahon ST et al (2020) Agile software development–do we really calculate the costs? A multivocal literature review. In: European Conference on Software Process Improvement, pp 203–219
Olsson HH, Bosch J (2014) Climbing the “Stairway to Heaven”: evolving from agile development to continuous deployment of software. In: Continuous software engineering, ed: Springer, pp 15–27
Antinyan V, Staron M, Meding W (2014) Profiling prerelease software product and organizational performance. In: Continuous software engineering, ed: Springer, pp 167–182
Garcia J, Cabot J (2018) Stepwise adoption of continuous delivery in model-driven engineering. In: International workshop on software engineering aspects of continuous development and new paradigms of software production and deployment, pp 19–32
Li T, Zhang M, Cao H, Li Y, Tarkoma S, Hui P (2020) what apps did you use?: Understanding the long-term evolution of mobile app usage. In: Proceedings of the web conference 2020, pp 66–76
Xi X, Xi B, Miao C, Yu R, Xie J, Xiang R et al (2022) Factors influencing technological innovation efficiency in the Chinese video game industry: Applying the meta-frontier approach. Technol Forecast Soc Change 178:121574
Kitchenham B (2004) Procedures for performing systematic reviews. Keele, UK, Keele University 33:1–26
Keele S. Guidelines for performing systematic literature reviews in software engineering. Technical report, Ver. 2.3 EBSE Technical Report. EBSE2007
Kitchenham B, Charters S (2007) Guidelines for performing systematic literature reviews in software engineering
Saunders M (2014) Research Methods for Business Students, 6th edn.
Lu S, Liu M, Yin L, Yin Z, Liu X, Zheng W (2023) The multi-modal fusion in visual question answering: a review of attention mechanisms. PeerJ Comput Sci 9:e1400
Clarke PM, Elger P, O'Connor RV (2016) Technology enabled continuous software development. In: Proceedings of the international workshop on continuous software evolution and delivery, pp 48–48
Silvestre L, Vera JM (2019) Improving continuous software development in academic scenarios using GitHubTracker. In: 2019 38th international conference of the chilean computer science society (SCCC), pp 1–8
Ameller D, Farré C, Franch X, Valerio D, Cassarino A (2017) Towards continuous software release planning. In: 2017 IEEE 24th international conference on software analysis, evolution and reengineering (SANER), pp 402–406
Uzunbayir S, Kurtel K (2018) A review of source code management tools for continuous software development. In: 2018 3rd international conference on computer science and engineering (UBMK), pp 414–419
Kessel M, Atkinson C (2018) Integrating reuse into the rapid, continuous software engineering cycle through test-driven search. In: 2018 IEEE/ACM 4th international workshop on rapid continuous software engineering (RCoSE), pp 8–11
Steffens A, Lichter H, Döring JS (2018) Designing a next-generation continuous software delivery system: Concepts and architecture. In: 2018 IEEE/ACM 4th international workshop on rapid continuous software engineering (RCoSE), pp 1–7
Steidl D, Deissenboeck F, Poehlmann M, Heinke R, Uhink-Mergenthaler B (2014) Continuous software quality control in practice. In: 2014 IEEE international conference on software maintenance and evolution, pp 561–564
Johanssen JO, Kleebaum A, Bruegge B, Paech B (2017) Towards the visualization of usage and decision knowledge in continuous software engineering. In: 2017 IEEE working conference on software visualization (VISSOFT), pp 104–108
Dittrich Y, Nørbjerg J, Tell P, Bendix L (2018) Researching cooperation and communication in continuous software engineering. In: 2018 IEEE/ACM 11th international workshop on cooperative and human aspects of software engineering (CHASE), pp 87–90
Chen L (2015) Continuous delivery: huge benefits, but challenges too. IEEE Softw 32(2):50–54
Knauss E, Staron M, Meding W, Söder O, Nilsson A, Castell M (2015) Supporting continuous integration by code-churn based test selection. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 19–25
O’Connor R, Elger P, Clarke PM (2016) Exploring the impact of situational context—a case study of a software development process for a microservices architecture. In: 2016 IEEE/ACM international conference on software and system processes (ICSSP), pp 6–10
Chen L (2015) Towards architecting for continuous delivery. In: 2015 12th Working IEEE/IFIP conference on software architecture, pp 131–134
Dakkak A, Mattos DI, Bosch J (2021) Perceived benefits of continuous deployment in software-intensive embedded systems. In: 2021 IEEE 45th annual computers, software, and applications conference (COMPSAC), pp 934–941
Klepper S, Krusche S, Peters S, Bruegge B, Alperowitz L (2015) Introducing continuous delivery of mobile apps in a corporate environment: a case study. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 5–11
Vst S, Wagner S (2016) Trace-based test selection to support continuous integration in the automotive industry. In 2016 IEEE. In: ACM international workshop on continuous software evolution and delivery (CSED), pp 34–40
Elazhary O, Werner C, Li ZS, Lowlind D, Ernst NA, Storey M-A (2021) Uncovering the benefits and challenges of continuous integration practices. IEEE Trans Softw Eng 48(7):2570–2583
Shahin M, Babar MA, Zhu LJIA (2017) Continuous integration, delivery and deployment: a systematic review on approaches, tools, challenges and practices. IEEE access 5:3909–3943
Abd Rahman A, Hasim N (2015) Defect management life cycle process for software quality improvement. In: 2015 3rd international conference on artificial intelligence, modelling and simulation (AIMS), pp 241–244
Paule C, Düllmann TF, Van Hoorn A (2019) Vulnerabilities in continuous delivery pipelines? a case study. In: 2019 IEEE international conference on software architecture companion (ICSA-C), pp 102–108
Johanssen JO, Kleebaum A, Paech B, Bruegge B (2019) Continuous software engineering and its support by usage and decision knowledge: an interview study with practitioners. J Softw Evol Process 31:e2169
Bertolino A, Angelis GD, Guerriero A, Miranda B, Pietrantuono R, Russo S et al (2020) DevOpRET: Continuous reliability testing in DevOps. J Softw Evol Process 35(3):e2298
Sun L, Nazir S, Hussain AJSP (2021) Multicriteria decision making to continuous software improvement based on quality management, assurance, and metrics. Sci Program. https://doi.org/10.1155/2021/9953618
Xiaolong H, Nazir S, Lunchao Z, Jun DJSP (2021) Library-based overview of multicriteria decision making for continuous software improvement for internet of software industry. Sci Program. https://doi.org/10.1155/2021/5519900
Theunissen T, Van Heesch U (2017) Specification in continuous software development. In: Proceedings of the 22nd European conference on pattern languages of programs, pp 1–19
Van Heesch U, Theunissen T, Zimmermann O, Zdun U (2017) Software specification and documentation in continuous software development: a focus group report. In: Proceedings of the 22nd European conference on pattern languages of programs, pp 1–13
Ferme V, Pautasso C (2018) A declarative approach for performance tests execution in continuous software development environments. In: Proceedings of the 2018 ACM/SPEC international conference on performance engineering, pp 261–272
Fitzgerald B, Stol K-J (2014) Continuous software engineering and beyond: trends and challenges. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 1–9
Ferme V, Pautasso C (2017) Towards holistic continuous software performance assessment. In: Proceedings of the 8th ACM/SPEC on international conference on performance engineering companion, pp 159–164
Dzvonyar D, Krusche S, Alkadhi R, Bruegge B (2016) Context-aware user feedback in continuous software evolution. In: 2016 IEEE/ACM international workshop on continuous software evolution and delivery (CSED), pp 12–18
Schulz H, Angerstein T, van Hoorn A (2018) Towards automating representative load testing in continuous software engineering. In: Companion of the 2018 ACM/SPEC international conference on performance engineering, pp 123–126
Zahedi M, Rajapakse RN, Babar MA (2020) Mining questions asked about continuous software engineering: A case study of stack overflow. In: Proceedings of the evaluation and assessment in software engineering, ed, pp 41–50
Goldstein M, Segall I (2015) Automatic and continuous software architecture validation. In: 2015 IEEE/ACM 37th IEEE international conference on software engineering, pp 59–68
dos Santos Júnior PS, Perini Barcellos M, Borges Ruy F (2021) Tell me: Am I going to Heaven? A Diagnosis Instrument of Continuous Software Engineering Practices Adoption. In: Evaluation and assessment in software engineering, ed, pp 30–39
Pietrantuono R, Bertolino A, De Angelis G, Miranda B, Russo S (2019) Towards continuous software reliability testing in DevOps. In: 2019 IEEE/ACM 14th international workshop on automation of software test (AST), pp 21–27
Forbrig P (2016) Continuous software engineering with special emphasis on continuous business-process modeling and human-centered design. In: Proceedings of the 8th international conference on subject-oriented business process management, pp 1–4
Leppänen M, Kilamo T, Mikkonen T (2015) Towards post-agile development practices through productized development infrastructure. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 34–40
De França BBN, Simões RV, Silva V, Travassos GH (2017) Escaping from the time box towards continuous planning: an industrial experience. In: 2017 IEEE/ACM 3rd international workshop on rapid continuous software engineering (RCoSE), pp 43–49
Düllmann TF, Paule C, van Hoorn A (2018) Exploiting devops practices for dependable and secure continuous delivery pipelines. In: 2018 IEEE/ACM 4th international workshop on rapid continuous software engineering (RCoSE), pp 27–30
Laukkanen E, Mäntylä M (2015) Build waiting time in continuous integration--an initial interdisciplinary literature review. In: 2015 IEEE/ACM 2nd international workshop on rapid continuous software engineering, pp 1–4
Krusche S, Alperowitz L, Bruegge B, Wagner MO (2014) Rugby: an agile process model based on continuous delivery. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 42–50
Toh MZ, Sahibuddin S, Mahrin MNR (2019) Adoption issues in DevOps from the perspective of continuous delivery pipeline. In: Proceedings of the 2019 8th international conference on software and computer applications, pp 173–177
Virtanen A, Kuusinen K, Leppänen M, Luoto A, Kilamo T, Mikkonen T (2017) On continuous deployment maturity in customer projects. In: Proceedings of the symposium on applied computing, pp 1205–1212
Kirikova M (2017) Continuous requirements engineering. In: Proceedings of the 18th international conference on computer systems and technologies, pp 1–10
Itkonen J, Udd R, Lassenius C, Lehtonen T (2016) perceived benefits of adopting continuous delivery practices. In: ESEM, pp 42:1–42:6
Prens D, Alfonso I, Garcés K, Guerra-Gomez J (2019) Continuous delivery of software on IoT devices. In: 2019 ACM/IEEE 22nd international conference on model driven engineering languages and systems companion (MODELS-C), pp 734–735
Mäkinen S, Lehtonen T, Kilamo T, Puonti M, Mikkonen T, Männistö T (2019) Revisiting continuous deployment maturity: a two-year perspective. In: Proceedings of the 34th ACM/SIGAPP symposium on applied computing, pp 1810–1817
Huijgens H, Spadini D, Stevens D, Visser N, Van Deursen A (2018) Software analytics in continuous delivery: a case study on success factors. In: Proceedings of the 12th ACM/IEEE international symposium on empirical software engineering and measurement, pp 1–10
Cardoso TE, Santos AR, Chanin R, Sales A (2020) Communication of changes in continuous software development. In: International conference on software business, pp 86–101
Bosch J (2014) Continuous software engineering: an introduction. In: Continuous software engineering, ed: Springer, pp 3–13
Koskinen M, Mikkonen T, Abrahamsson P (2019) Containers in software development: a systematic mapping study. In: International conference on product-focused software process improvement, pp 176–191
Siebra C, Lacerda R, Cerqueira I, Quintino JP, Florentin F, Silva F et al (2018) Empowering continuous delivery in software development: the DevOps strategy. In: International conference on software technologies, pp 247–265
Sandkuhl K (2017) Aligning software architecture and business strategy with continuous business engineering. In: International conference on advanced information systems engineering, pp 14–26
Feilhauer M, Häring J, Buchner J (2016) Continuous delivery for simulation-model development. In: 16. Internationales Stuttgarter Symposium, pp 467–477
Theunissen T, van Heesch U, Avgeriou P (2022) A mapping study on documentation in Continuous Software Development. Inf Softw Technol 142:106733
Fitzgerald B, Stol K-J (2017) Continuous software engineering: a roadmap and agenda. J Syst Softw 123:176–189
Nakagawa EY, Antonino PO, Schnicke F, Kuhn T, Liggesmeyer P (2021) Continuous systems and software engineering for Industry 4.0: a disruptive view. Inf Softw Technol 135:106562
Chen L (2017) Continuous delivery: overcoming adoption challenges. J Syst Softw 128:72–86
Khan HU, Ali F, Ghadi YY, Nazir S, Ullah I, Mohamed HG (2023) Human–computer interaction and participation in software crowdsourcing. Electronics 12:934
Papatheocharous E, Belk M, Nyfjord J, Germanakos P, Samaras G (2014) Personalised continuous software engineering. In: Proceedings of the 1st international workshop on rapid continuous software engineering, pp 57–62
Liu C, Wu T, Li Z, Ma T, Huang J (2022) Robust online tensor completion for IoT streaming data recovery. IEEE Trans Neural Netw Learn Syst 10178–10192
Wätzoldt S, Neumann S, Benke F, Giese H (2012) Integrated software development for embedded robotic systems. In: International Conference on simulation, modeling, and programming for autonomous robots, pp 335–348
Liu X, Shi T, Zhou G, Liu M, Yin Z, Yin L et al (2023) Emotion classification for short texts: an improved multi-label method. Humanit Soc Sci Commun 10:1–9
Cheng B, Zhu D, Zhao S, Chen J (2016) Situation-aware IoT service coordination using the event-driven SOA paradigm. IEEE Trans Netw Serv Manage 13:349–361
Ni Q, Guo J, Wu W, Wang H, Wu J (2021) Continuous influence-based community partition for social networks. IEEE Trans Netw Sci Eng 9:1187–1197
Li B, Zhou X, Ning Z, Guan X, Yiu K-FC (2022) Dynamic event-triggered security control for networked control systems with cyber-attacks: a model predictive control approach. Inf Sci 612:384–398
Wu Z, Cao J, Wang Y, Wang Y, Zhang L, Wu J (2018) hPSD: a hybrid PU-learning-based spammer detection model for product reviews. IEEE Trans Cybern 50:1595–1606
Ahmad I, Ullah I, Khan WU, Ur Rehman A, Adrees MS, Saleem MQ et al (2021) Efficient algorithms for E-healthcare to solve multiobject fuse detection problem. J Healthc Eng 21:1–16
Acknowledgements
We are thankful to all the authors of this manuscript. *These authors contributed equally and are considered as first co-authors.
Funding
Princess Nourah bint Abdulrahman University Researchers Supporting Project number (PNURSP2023R237), Princess Nourah bint Abdulrahman University, Riyadh, Saudi Arabia. Research Supporting Project number (RSPD2023R787), King Saud University, Riyadh, Saudi Arabia.
Author information
Authors and Affiliations
Contributions
H.U.K and W.A are concern with the methodology, A.N and M.K are concern with Analysis and writing, S.N is concern with validation, M.M and H.MA are concern with data extraction, data validation, presentation and grammar checking.
Corresponding authors
Ethics declarations
Conflict of interest
The authors declare that there is no conflict of interest.
Ethics approval and consent to participate
Not applicable.
Consent for publication
Not applicable.
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Khan, H.U., Afsar, W., Nazir, S. et al. Revolutionizing software developmental processes by utilizing continuous software approaches. J Supercomput 80, 9579–9608 (2024). https://doi.org/10.1007/s11227-023-05818-8
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-023-05818-8