Systems we build are ultimately evaluated based on the value they deliver to their users and stakeholders. To increase the value, systems are subject to fast-paced evolution of the systems, due to unpredictable markets, complex and changing customer requirements, pressures of shorter time-to-market, and rapidly advancing information technologies.
To address this situation, agile practices advocate flexibility, efficiency and speed. Rapid continuous software engineering refers to the organizational capability to develop, release and learn from software in rapid parallel cycles, typically hours, days or very small numbers of weeks. This includes to determine new functionality to build, evolving and refactoring the architecture, developing the functionality, validating it, and releasing it to customers, and collecting experimental feedback from the customers to inform the next cycle of development. One needs to relate the changes performed on the system with their effect on the metrics of interest, keep the changes with positive effects, and discard the rest. This requires not only agile processes in teams but in the complete research and development organization. Additionally, the technology used in the different development phases, like requirements engineering and system integration, must support the quick development cycles.
The capability to perform all these activities in days or a few weeks requires significant changes in the entire software engineering approach, including parallelising activities, empowering cross functional teams to allow for rapid decision making and light weight coordination across teams. It also requires significant technical advances in the engineering infrastructure, including continuous integration and deployment, collection of post-deployment product usage data, support for running automatic live experiments to evaluate different system alternatives, e.g., A/B testing.
Reaching this goal requires crosscutting research which spans from the area of process and organisational aspects in software engineering to technical aspects in the individual phases of the software engineering lifecycle. Rapidly developing and evolving software systems is important in control-flow oriented as well as data-centric systems, from internet services to cyber-physical systems, and many more. Still, the processes and technology need to respect the differences between these types of systems.
to identify the problems in adoption and use of continuous software engineering and data-driven decisions
to discuss new ideas that apply successfull and established concepts to other domains and use cases
to build a community between software engineers and data scientists working on a common research agenda
As RCoSE goes virtual, we adapt our workshop to the new circumstances.
Our workshops always had a very interactive character with long phases of discussions and work meetings. Accepted papers will be presented asynchronously in the form of videos. The authors will comment on their presentations and answer questions using a virtual conference software.
We will also have synchronous audio discussions in break out groups that discuss topics in the context of Rapid and Continuous Software Engineering and a virtual panel where the discussions will be summarized and where we will discuss further actions.
You will find the recorded videos linked from this page on June 27. Please watch the talks whenever you like. Then join our Q&A sessions on July 1.
Robert Martin working for the BMW Group is responsible for the design, the implementation, and the roll-out of an Continuous Integration System used by SW projects developing software for BMW automobiles. He is a Senior Project Leader with many years of experience in large scale Continuous Integration Systems for embedded devices inside Nokia and BMW. His focus is always to simplify the daily life of SW developers and to speed-up the development cycle for products.
Speed and quality is the key for success in the SW industry - both areas are addressed by the SW development principle Continuous Integration. For bigger SW projects with hundreds of SW Developers distributed to different organizations and locations there is the need to structure the CI system into a so called Multi-Stage-CI System. This enables the distributed SW development teams to develop, integrate and validate independently the different parts of the SW product as fast as possible by keeping the SW quality on the defined and implemented level.
The talk will cover the following agenda topics:
Your submission will be reviewed by at least 3 members of the PC and judged based on their relevance to the workshop scope, quality and originality of their results. Please note, that this workshop does NOT use a double blind review process. Accepted papers will be published in the ICSE 2020 Companion Volume, published by ACM.