Workshop Program

13:30-14:30: Keynote
14:30-15:30: Session 1
15:30-16:00: Break
16:00-17:00: Session 2
17:00-17:30: Discussion

Keynote (13:30-14:30), Chair: Rakesh Rana

Prof. Jan Bosch
Title: Speed, Data and Ecosystems: The Future of Software Engineering

Session 1: (14:30-15:30), Chair: Rakesh Rana

*20min presentation + 10min Q&A for each paper

Title: What is DevOps? A Systematic Review on Definitions and Practices
Authors: Ramtin Jabbari, Nauman Bin Ali, Kai Petersen and Binish Tanveer

Title: Exploring Peopleware in Continuous Delivery
Authors: Pauli Kärpänoja, Antti Virtanen, Timo Lehtonen and Tommi Mikkonen

Session 2: (16:00-17:00), Chair: Miroslaw Staron

*20min presentation + 10min Q&A for each paper

Title: Continuous Experimentation on Cyber-Physical Systems: Challenges and Opportunities
Authors: Federico Giaimo, Hang Yin, Christian Berger and Ivica Crnkovic

Title: Traceability Data in Early Development Phases as an Enabler for Decision Support
Authors: Bashar Nassar, Ali Shahrokni and Riccardo Scandariato

Open discussion & Conclusion (17:00 – 17:30), Chair: Miroslaw Staron

——————————————————————

Workshop Keynote by Prof. Jan Bosch

Jan_Bosch

Keynote title: Speed, Data and Ecosystems: The Future of Software Engineering

Abstract: We are living in the most exciting time in the history of mankind. The last century has seen unprecedented improvements in the quality of the human condition and technology is at the heart of this progress. Now we are experiencing an even bigger leap as we move towards a new level of digitisation and automation. Ranging from self-driving cars to factories without workers to societal infrastructure, every sensor and actuator is becoming connected and new applications that enable new opportunities are appearing daily. The fuel of this emerging Internet of Things reality is software. There are three areas where the companies seeking to survive and thrive in this new world need to be world leading: speed, data and ecosystems. Speed is concerned with converting new customer insights into deployed solutions in hours and days rather than months and years. Effective use of data coming from the field, both in development as in the applications themselves, is critical to ensure that we are building the right products that can successfully act in a DevOps environment. Finally, successfully integrating ourselves in our business and technology ecosystems such that speed and data-driven development and execution expand beyond the boundaries of the company is crucial for success. The keynote first introduces the aforementioned development, then discusses the key areas of speed, data and ecosystems and finally presents the implications for organisations that seek to continue to be successful.

Keynote Speaker Bio:

Jan Bosch is professor of software engineering and director of the Software Center at Chalmers University Technology in Gothenburg, Sweden. Earlier, he worked as Vice President Engineering Process at Intuit Inc where he also lead Intuit’s Open Innovation efforts and headed the central mobile technologies team. Before Intuit, he was head of the Software and Application Technologies Laboratory at Nokia Research Center, Finland. Prior to joining Nokia, he headed the software engineering research group at the University of Groningen, The Netherlands. He received a MSc degree from the University of Twente, The Netherlands, and a PhD degree from Lund University, Sweden. His research activities include evidence-based development, software architecture, innovation experiment systems, compositional software engineering, software ecosystems, software product families and software variability management. He is the author of a book “Design and Use of Software Architectures: Adopting and Evolving a Product Line Approach” published by Pearson Education (Addison-Wesley & ACM Press), editor of several books and volumes and author of a significant number of research articles. He is editor for Journal of Systems and Software as well as Science of Computer Programming, chaired several conferences as general and program chair, served on many program committees and organized numerous workshops.

In the startup space, Jan is chairman of the board of Fidesmo in Stockholm, and Remente, in Gothenburg, Sweden. He serves on the advisory board of Assia Inc. in Redwood City, CA and Burt AB in Gothenburg, Sweden. Jan also runs a consulting firm, Boschonian AB, that offers its clients support around R&D and innovation management. More information about his background can be found at his website: www.janbosch.com.

 

Workshop Themes and Goals

The question of how companies like Amazon, Netflix, and Facebook can deliver features regularly to their customers in some cases several time per day while other companies need several months for their releases is a particularly interesting one. According to Duvall, the companies listed here have been able to deliver quality software regularly by adopting a “DevOps” approach with or without realizing it. By dismantling the traditional silos and creating an environment where development and operations teams work together and learn from each other enabled them to meet their business demands.

Recognizing the harmful disconnect that tends to exist between important activities such as planning, development and implementation, Fitzgerald and Stol provide a roadmap for continuous software engineering, which positions a wide variety of “continuous” trends, including continuous integration, continuous delivery/deployment, but also concepts such as continuous trust and continuous usage. The roadmap recognizes that customers do not make a single adoption choice for a specific product, but that customers continuously re-evaluate their decision. For example, incidents may cause issues of trust and security, leading users to potentially abandoning a product in favor of a competitive product. Also, as competing products are continuously updated with new features, customers may expect this from their current product choice also. Thus, software suppliers must also be concerned with the later lifecycle phases of a product.  The emerging phenomena such as DevOps, Continuous Delivery, and Infrastructure as Code reflect the attempts to address the disconnects to enable delivery of high quality software in a continuous manner.

DevOps-image

Figure 1: Simplified Continuous* view of activities from business to operations

The main theme of proposed workshop will revolve around the four principles suggested by Humble and Molesky that characterize DevOps, namely:

  1. Culture: DevOps need a cultural shift where code “thrown over the wall” is no longer acceptable, while the responsibility for delivery of high quality software to end users is jointly accepted by the development and operations working together.
  2. Automation: To achieve shorter lead times, rapid delivery and fast feedback from end users, DevOps relies on full automation for build, testing, and deployment.
  3. Measurement: The status of current delivery and goal setting for improvement for future deliveries can only be done through measurements. DevOps use various forms of measurements and monitoring which include business metrics (e.g revenue) to metrics for technical overview (e.g. test coverage) and customer satisfaction.
  4. Sharing: DevOps are built upon the foundation of sharing, the sharing happens at different levels which most often includes sharing of knowledge, tools and infrastructure. Further any failure and successes are also shared which bring the development and operations teams even closer together.

Roche summarized the importance and improvements the DevOps wave has brought in the Quality Assurance domain. He suggests that the specific focus on metrics and process standardization under DevOps principles has significantly improved product development and ownership in many specific areas. DevOps principles have been particularly useful in building large and complex web based projects, but how DevOps principles are being used in more traditional industries that are now fast becoming software intensive (e.g. automotive) remains largely unknown.

Elliot’s [6] recent survey identifies the high average cost of unplanned application downtime for large organizations. The study also suggest that average cost of critical application failure is between $500,000 to $1 million per hour. While the survey show that most respondents are either using or evaluating DevOps practices, some challenges remain impeding their uptake on a larger scale. The three leading challenges that have been consistently reported are:

  1. Cultural inhibitors preventing risk taking and teamwork,
  2. Fragmented processes within organizations limiting automation and cross-collaboration, and
  3. Lack of strong executive stakeholder support.