Sebastian Klepper, Stephan Krusche, Sebastian Peters, B. Brügge, Lukas Alperowitz
{"title":"Introducing Continuous Delivery of Mobile Apps in a Corporate Environment: A Case Study","authors":"Sebastian Klepper, Stephan Krusche, Sebastian Peters, B. Brügge, Lukas Alperowitz","doi":"10.1109/RCOSE.2015.9","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.9","url":null,"abstract":"Software development is conducted in increasingly dynamic business environments. Organizations need the capability to develop, release and learn from software in rapid parallel cycles. The abilities to continuously deliver software, to involve users, and to collect and prioritize their feedback are necessary for software evolution. In 2014, we introduced Rugby, an agile process model with workflows for continuous delivery and feedback management, and evaluated it in university projects together with industrial clients. Based on Rugby's release management workflow we identified the specific needs for project-based organizations developing mobile applications. Varying characteristics and restrictions in projects teams in corporate environments impact both process and infrastructure. We found that applicability and acceptance of continuous delivery in industry depend on its adaptability. To address issues in industrial projects with respect to delivery process, infrastructure, neglected testing and continuity, we extended Rugby's workflow and made it tailor able. Eight projects at Cap Gemini, a global provider of consulting, technology and outsourcing services, applied a tailored version of the workflow. The evaluation of these projects shows anecdotal evidence that the application of the workflow significantly reduces the time required to build and deliver mobile applications in industrial projects, while at the same time increasing the number of builds and internal deliveries for feedback.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"126 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128077545","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Towards Post-Agile Development Practices through Productized Development Infrastructure","authors":"Marko Leppänen, Terhi Kilamo, T. Mikkonen","doi":"10.1109/RCOSE.2015.14","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.14","url":null,"abstract":"Modern software is developed to meet evolving customer needs in a timely fashion. The need for a rapid time-to-market together with changing requirements has led software intensive companies to utilize agile development, where each iteration aims at producing end-user value and change is embraced. In today's post-agile software development world, there is a need for processes and tools that deliver new software to the end-user as fast as possible. The level of adoption of these continuous software engineering practices depends on the product, customers, and the business domain. In this paper, we investigate the benefits gained from implementing a completely continuous delivery workflow using a domain specific productized development infrastructure through a descriptive single case study. Embracing the continuous delivery mindset throughout the development pipeline allows the case customer company to gain fast insight on new business directions and lends the services to live experimentation which in turn adds to end-user value. Up-to-date feedback cycles between all stakeholders all the way from concept design to end-users are offered.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114974906","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Rolling Out a Mission Critical System in an Agilish Way. Reflections on Building a Large-Scale Dependable Information System for Public Sector","authors":"Aapo Koski, T. Mikkonen","doi":"10.1109/RCOSE.2015.15","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.15","url":null,"abstract":"Despite the increasing pace of development and deployment of new software systems, the expectations regarding critical information systems have not changed. Consequently, to ensure high quality in spite of rapid updates, the fashion these facilities are taken to use need careful considerations. This paper presents and analyses real-life experiences gathered during the many years of planning, design, implementation, testing and finally deploying as a service a large, multi-million euro, extremely mission critical information system for emergency services. The project was to be carried out in an agile way, although the scope, the price and the duration were fixed by signed contracts. Fortunately, the customer was willing and able to learn how to do system development iteratively and incrementally, as well as to provide personnel to constantly collaborate with the developers. Along the way, we learned that to truly succeed in such an endeavor as this one, it is not enough to do the things almost right or by the book. Instead, everyone involved must keep raising the bar every day, in a continuous, disciplined, and controlled way.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115481838","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
E. Knauss, M. Staron, Wilhelm Meding, Ola Soder, A. Nilsson, Magnus Castell
{"title":"Supporting Continuous Integration by Code-Churn Based Test Selection","authors":"E. Knauss, M. Staron, Wilhelm Meding, Ola Soder, A. Nilsson, Magnus Castell","doi":"10.1109/RCOSE.2015.11","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.11","url":null,"abstract":"Continuous integration promises advantages in large-scale software development by enabling software development organizations to deliver new functions faster. However, implementing continuous integration in large software development organizations is challenging because of organizational, social and technical reasons. One of the technical challenges is the ability to rapidly prioritize the test cases which can be executed quickly and trigger the most failures as early as possible. In our research we propose and evaluate a method for selecting a suitable set of functional regression tests on system level. The method is based on analysis of correlations between test-case failures and source code changes and is evaluated by combining semi-structured interviews and workshops with practitioners at Ericsson and Axis Communications in Sweden. The results show that using measures of precision and recall, the test cases can be prioritized. The prioritization leads to finding an optimal test suite to execute before the integration.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"209 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121482414","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Build Waiting Time in Continuous Integration -- An Initial Interdisciplinary Literature Review","authors":"E. Laukkanen, M. Mäntylä","doi":"10.1109/RCOSE.2015.8","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.8","url":null,"abstract":"In this position paper, we present and demonstrate the idea of using an interdisciplinary literature review to accelerate the research on continuous integration practice. A common suggestion has been that build waiting time in continuous integration cycle should be less than 10 minutes. This guideline is based on practitioners' opinion and has not been further investigated. The objective of this study is to understand the effects of build waiting time in software engineering and to get input from waiting time research in other disciplines. The objective is met by performing two literature reviews, first on build waiting time and second on waiting times in the contexts of service operation, web use and computer use. The found effects of build waiting time were categorized into continuous integration specific, cognitive and emotional. Two minute build waiting time was considered optimal, but under 10 minutes was considered acceptable. Insight from other waiting time research suggests that the perceptions of waiting time are important and the perceptions can be lowered by providing feedback and giving developers other activities during the integration.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"14 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130774152","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
A. Mattila, Timo Lehtonen, H. Terho, T. Mikkonen, Kari Systä
{"title":"Mashing Up Software Issue Management, Development, and Usage Data","authors":"A. Mattila, Timo Lehtonen, H. Terho, T. Mikkonen, Kari Systä","doi":"10.1109/RCOSE.2015.12","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.12","url":null,"abstract":"Modern software development approaches rely extensively on tools. Motivated by practices such as continuous integration, deployment and delivery, these tools are used in a fashion where data are automatically accumulated in different databases as a side-effect of everyday development activities. In this paper we introduce an approach for software engineering data visualization as a mash up that combines data from issue management, software development and production use. The visualization can show to all stake holders how well continuous delivery is realized in the project. The visualization clearly shows the time spent to specify and develop the features as well the length of the delivery cycle. Further more the visualization shows how much work is unfinished and waiting for delivery. This can help the development team to decrease the amount of unfinished work and by that help them to keep up in continuous delivery mind set. In addition to development data usage of the features is also visualized.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"147 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115185719","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Continuous API Design for Software Ecosystems","authors":"I. Hammouda, E. Knauss, L. Costantini","doi":"10.5555/2820678.2820686","DOIUrl":"https://doi.org/10.5555/2820678.2820686","url":null,"abstract":"Today more and more software operates in a software ecosystem where software products and services are shared over a common technological platform between business actors. In such a setting, a software platform API becomes the interface between the platform and its owner (s) on the one side and other actors and their extensions on the other side. In such ecosystem context, platform API fitness for application development has a huge impact on the success of the ecosystem. However, software ecosystems are usually evolving at a high pace given their dynamic structure and the continuously changing business strategies of ecosystem actors. The design of APIs for software ecosystems therefore has to co-evolve. In this position paper, we propose a continuous (re-)assessment method for platform API's that takes into account ecosystem needs. We illustrate the method with insights from an ongoing case study.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2015-05-16","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114979666","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
{"title":"Continuous Experimentation in the B2B Domain: A Case Study","authors":"Olli Rissanen, Jürgen Münch","doi":"10.1109/RCOSE.2015.10","DOIUrl":"https://doi.org/10.1109/RCOSE.2015.10","url":null,"abstract":"Rapid value delivery requires a company to utilize empirical evaluation of new features and products in order to avoid unnecessary product risks. This helps to make data-driven decisions and to ensure that the development is focused on features that provide real value for customers. Short feedback loops are a prerequisite as they allow for fast learning and reduced reaction times. Continuous experimentation is a development practice where the entire R&D process is guided by constantly conducting experiments and collecting feedback. Although principles of continuous experimentation have been successfully applied in domains such as game software or SAAS, it is not obvious how to transfer continuous experimentation to the business-to-business domain. In this article, a case study from a medium-sized software company in the B2B domain is presented. The study objective is to analyze the challenges, benefits and organizational aspects of continuous experimentation in the B2B domain. The results suggest that technical challenges are only one part of the challenges a company encounters in this transition. The company also has to address challenges related to the customer and organizational culture. Unique properties in each customer's business play a major role and need to be considered when designing experiments. Additionally, the speed by which experiments can be conducted is relative to the speed by which production deployments can be made. Finally, the article shows how the study results can be used to modify the development in the case company in a way that more feedback and data is used instead of opinions.","PeriodicalId":194076,"journal":{"name":"2015 IEEE/ACM 2nd International Workshop on Rapid Continuous Software Engineering","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-12-03","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"133214481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}