ABSTRACT
Characteristics and demands of the modern and digital society have transformed the software development scenario and presented new challenges to software developers and engineers, such as the need for faster deliveries, frequent changes in requirements, lower tolerance to failures and the need to adapt to contemporary business models. The adoption of agile practices has allowed organizations to shorten development cycles and increase customer collaboration. However, this has not been enough. Continuous actions of planning, construction, operation, deployment and evaluation are necessary to produce products that meet customers' needs and behaviors, to make well-informed decisions and identify business opportunities. Thus, organizations should evolve from traditional to continuous and data-driven development in a continuous software engineering approach. Continuous Software Engineering (CSE) consists of a set of practices and tools that support a holistic view of software development with the purpose of making it faster, iterative, integrated, continuous and aligned with business. It is a recent topic of Software Engineering, thus there are many open questions. This paper introduces a CSE framework that represents CSE processes, points out some research questions and discusses proposals to address them.
- Monalessa P. Barcellos and Ricardo A. Falbo. 2013. A software measurement task ontology. In Proceedings of the 28th ACM Symposium on Applied Computing, 311--318. https://doi.org/10.1145/2480362.2480428Google ScholarDigital Library
- Monalessa P. Barcellos, Ricardo A. Falbo, and Ana Regina Rocha. 2013. A strategy for preparing software organizations for statistical process control. Journal of the Brazilian Computer Society 19, 4.Google ScholarCross Ref
- Kent Beck. 2000. Extreme Programming Explained: Embrace Change. Addison-Wesley.Google ScholarDigital Library
- Jan Bosch (ed.). 2014. Continuous Software Engineering. Springer.Google Scholar
- Rodrigo F. Calhau and Ricardo A. Falbo. 2010. An Ontology-based Approach for Semantic Integration. In Proceedings 14th IEEE International Enterprise Distributed Object Computing Conference, 111--120.Google Scholar
- Patrick Debois. 2011. Devops: a software revolution in the making? Cutter IT Journal 24, 8.Google Scholar
- Brian Fitzgerald and Klaas-Jan Stol. 2017. Continuous software engineering: A roadmap and agenda. Journal of Systems and Software 123: 176--189.Google ScholarCross Ref
- Nina D. Fogelström, Tony Gorschek, Mikael Svahnberg, and Peo Olsson. 2010. The impact of agile principles on market-driven software product development. Journal of Software Maintenance and Evolution: Research and Practice 22, 1: 53--80. https://doi.org/10.1002/spip.420Google ScholarCross Ref
- Vinícius. S. Fonseca, Monalessa P. Barcellos, and Ricardo A. Falbo. 2017. An ontology-based approach for integrating tools supporting the software measurement process. Science of Computer Programming 135: 20--44. https://doi.org/10.1016/j.scico.2016.10.004Google ScholarCross Ref
- Nicola Guarino. 1998. Formal Ontology and Information Systems. In: Proceedings of the International Conference in Formal Ontology and Information Systems - FOIS'98, Trento, Italy: 3--15.Google Scholar
- Giancarlo Guizzardi. 2007. On Ontology, Ontologies, Conceptualizations, Modeling Languages and (Meta)Models. Frontiers in Artificial Intelligence and Applications, Databases and Information Systems IV. IOS Press, Amsterdam.Google Scholar
- Jez Humble and David Farley. 2010. Continuous delivery: reliable software releases through build, test, and deployment automation. Pearson.Google Scholar
- Jez Humble and Joanne Molesky. 2011. Why enterprises must adopt devops to enable continuous delivery. CUTTER IT JOURNAL 24, 8.Google Scholar
- ISO/IEC. 2008. ISO/IEC 12207:2008 - Systems and Software Engineering - Software Life Cycle Process. International Organization for Standardization and the International Electrotechnical Commission, Geneva, Switzerland.Google Scholar
- Jan O. Johanssen, Anja Kleebaum, Bernd Bruegge, and Barbara Paech. 2019. How do Practitioners Capture and Utilize User Feedback During Continuous Software Engineering? In IEEE 27th International Requirements Engineering Conference (RE), 153--164. https://doi.org/10.1109/RE.2019.00026Google ScholarCross Ref
- Jan O. Johanssen, Anja Kleebaum, Barbara Paech, and Bernd Bruegge. 2018. Practitioners' Eye on Continuous Software Engineering: An Interview Study. In Proceedings of the International Conference on Software and System Process, 41--50. https://doi.org/10.1145/3202710.3203150Google ScholarDigital Library
- Jan Ole Johanssen, Anja Kleebaum, Barbara Paech, and Bernd Bruegge. 2019. Continuous software engineering and its support by usage and decision knowledge: An interview study with practitioners. Journal of Software: Evolution and Process 31, 5: e2169. https://doi.org/10.1002/smr.2169Google ScholarDigital Library
- Teemu Karvonen, Lucy E.T. Lwakatare, Tanja Sauvola, Jan Bosch, Helena H. Olsson, Pasi Kuvaja, and Markku Oivo. 2015. Hitting the Target: Practices for Moving Toward Innovation Experiment Systems. In International Conference of Software Business, 117--131.Google Scholar
- Teemu Karvonen, Tanja Suomalainen, Marko Juntunen, Tanja Sauvola, Pasi Kuvaja, and Markku Oivo. 2016. The CRUSOE Framework: A Holistic Approach to Analysing Prerequisites for Continuous Software Engineering. In 17th International Conference on Product-Focused Software Process Improvement, 643--661.Google ScholarCross Ref
- Anja Kleebaum, Jan O. Johanssen, Barbara Paech, Rana Alkadhi, and Bernd Bruegge. 2018. Decision Knowledge Triggers in Continuous Software Engineering. In Proceedings of the 4th International Workshop on Rapid Continuous Software Engineering, 23--26. https://doi.org/10.1145/3194760.3194765Google ScholarDigital Library
- Stephan Krusche and Bernd Bruegge. 2017. CSEPM - A Continuous Software Engineering Process Metamodel. In IEEE/ACM 3rd International Workshop on Rapid Continuous Software Engineering, 2--8. https://doi.org/10.1109/RCoSE.2017.6Google ScholarCross Ref
- Walid Maalej, Hans-Jörg Happel, and Asarnusch Rashid. 2009. 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, 981--990. https://doi.org/10.1145/1639950.1640068Google ScholarDigital Library
- Donella Meadows. 2008. Thinking in Systems: A Primer. Chelsea Green Publishing Company.Google Scholar
- Martin Michlmayr, Brian Fitzgerald, and Klaas-Jan Stol. 2015. Why and How Should Open Source Projects Adopt Time-Based Releases? IEEE Software 32, 2: 55--63. https://doi.org/10.1109/MS.2015.55Google ScholarDigital Library
- Julio C. Nardi, Ricardo A. Falbo, and João Paulo A. Almeida. 2013. Foundational Ontologies for Semantic Integration in EAI: A Systematic Literature Review. In Proceedings 12th IFIP WG 6.11 Conference on e-Business, e-Services, and e-Society, I3E 2013, 238--249.Google ScholarCross Ref
- Helena H. Olsson, Hiva Alahyari, and Jan Bosch. 2012. 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, 392--399. https://doi.org/10.1109/SEAA.2012.54Google ScholarDigital Library
- Efi Papatheocharous and Andreas S Andreou. 2014. Empirical evidence and state of practice of software agile teams. Journal of Software: Evolution and Process 26, 9: 855--866. https://doi.org/10.1002/smr.1664Google ScholarDigital Library
- Efi Papatheocharous, Marios Belk, Jaana Nyfjord, Panagiotis Germanakos, and George Samaras. 2014. Personalised Continuous Software Engineering. In Proceedings of the 1st International Workshop on Rapid Continuous Software Engineering, 57--62. https://doi.org/10.1145/2593812.2593815Google ScholarDigital Library
- Laylla D. C. Renault, Monalessa P. Barcellos, and Ricardo A. Falbo. 2018. Using an Ontology-based Approach for Integrating Applications to Support Software Processes. In Proc. of the XVII Brazilian Symposium on Software Quality.Google Scholar
- Fabiano Ruy, Ricardo A. Falbo, Monalessa P. Barcellos, Simone D. Costa, and Giancarlo Guizzardi. 2016. SEON: A software engineering ontology network. In Proceedings of the 20th International Conference on Knowledge Engineering and Knowledge Management. https://doi.org/10.1007/978-3-319-49004-5_34Google ScholarDigital Library
- Paulo Sérgio Santos Jr, Monalessa P. Barcellos, and Rodrigo F. Calhau. 2020. Am I going to Heaven? First step climbing the Stairway to Heaven Model - Results from a Case Study in Industry. In Proceedings of the 34th Brazilian Symposium on Software Engineering (SBES).Google Scholar
- Mojtaba Shahin, Muhammad A. Babar, and Liming Zhu. 2017. Continuous Integration, Delivery and Deployment: A Systematic Review on Approaches, Tools, Challenges and Practices. IEEE Access 5: 3909--3943.Google ScholarCross Ref
- Software Engineering Institute. 2018. Capability Maturity Model Integration (CMMI 2.0).Google Scholar
- Érica F. Souza, Ricardo A. Falbo, and Nandamudi L. Vijaykumar. 2017. ROoST: Reference Ontology on Software Testing. Applied Ontology 12: 59--90.Google ScholarDigital Library
- Richard B. Svensson, Robert Feldt, and Richard Torkar. 2019. The Unfulfilled Potential of Data-Driven Decision Making in Agile Software Development. In Agile Processes in Software Engineering and Extreme Programming, 69--85.Google Scholar
- Holger Wache, Thomas Vogele, Ubbo Visser, Heiner Stuckenschmidt, Gerhard Schuster, H. Neumann, and S. Hubner. 2001. Ontology-Based Information Integration: A Survey of Existing Approaches. In Proceedings of the IJCAI'01-Workshop: Ontology and Information Sharing, 108--117.Google Scholar
Index Terms
- Towards a Framework for Continuous Software Engineering
Recommendations
Rapid Continuous Software Engineering - State of the Practice and Open Research Questions: Report on the 6th International Workshop on Rapid Continuous Software Engineering (RCoSE 2020)
We need to built software rapidly and with a high quality. These goals seem to be contradictory, but actually, implementing automation in build and deployment procedures as well as quality analysis can improve both the development pace and the resulting ...
Continuous software engineering and beyond: trends and challenges
RCoSE 2014: Proceedings of the 1st International Workshop on Rapid Continuous Software EngineeringThroughout its short history, software development has been characterized by harmful disconnects between important activities e.g., planning, development and implementation. The problem is further exacerbated by the episodic and infrequent performance ...
Continuous Requirements Engineering
CompSysTech '17: Proceedings of the 18th International Conference on Computer Systems and TechnologiesThe paper presents fractal functional architecture of the FREEDOM framework of continuous requirements engineering and illustrates its applicability using three methods of continuous requirements engineering. The fractal architecture of the continuous ...
Comments