{"title":"Technology Enabled Continuous Software Development","authors":"Paul M. Clarke, Peter Elger, Rory V. O'Connor","doi":"10.1145/2896941.2896943","DOIUrl":"https://doi.org/10.1145/2896941.2896943","url":null,"abstract":"Given that organizations need to innovate and release software in faster parallel cycles of days or even hours, there are good reasons why new practices are being adopted in industry. In this paper, we present the case of a highly responsive process that is driven by tooling technology and which facilitates continual delivery of software at up to hourly intervals. Understanding and analyzing such industry practices can inform academic and practitioner dialogue on current challenges and potential solutions, and on the evolution of new ‘better’ practices.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"20 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128096693","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":"From Requirements to Continuous Re-prioritization of Hypotheses","authors":"H. H. Olsson, J. Bosch","doi":"10.1145/2896941.2896955","DOIUrl":"https://doi.org/10.1145/2896941.2896955","url":null,"abstract":"Typically, customer feedback collected in the pre-study, and during the early stages of software development, determines what new features to develop. However, once the decision to develop a new feature is taken, companies stop validating if this feature adds value to its intended customers. Instead, focus is shifted towards developing and implementing the feature. As a result, re-prioritization of feature content is rare, and companies find it difficult to continuously assess and validate feature value. In this paper, we explore the data collection practices in five software development companies. We introduce a model that allows continuous re-prioritization of features. Our model advocates a development approach in which requirements are viewed as hypotheses that need to be continuously validated, and where customer feedback is used to continuously re-prioritize feature content. We identify how the model helps companies transition from early specification of requirements towards continuous re-prioritization of hypotheses.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124556880","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}
Steven Versteeg, Miao Du, J. Bird, Jean-Guy Schneider, J. Grundy, Jun Han
{"title":"Enhanced Playback of Automated Service Emulation Models Using Entropy Analysis","authors":"Steven Versteeg, Miao Du, J. Bird, Jean-Guy Schneider, J. Grundy, Jun Han","doi":"10.1145/2896941.2896950","DOIUrl":"https://doi.org/10.1145/2896941.2896950","url":null,"abstract":"Service virtualisation is a supporting tool for DevOps to generate interactive service models of dependency systems on which a system-under-test relies. These service models allow applications under development to be continuously tested against production-like conditions. Generating these virtual service models requires expert knowledge of the service protocol, which may not always be available. However, service models may be generated automatically from network traces. Previous work has used the Needleman-Wunsch algorithm to select a response from the service model to play back for a live request. We propose an extension of the Needleman-Wunsch algorithm, which uses entropy analysis to automatically detect the critical matching fields for selecting a response. Empirical tests against four enterprise protocols demonstrate that entropy weighted matching can improve response accuracy.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"89 2-3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123572224","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}
Dora Dzvonyar, Stephan Krusche, Rana Alkadhi, B. Bruegge
{"title":"Context-Aware User Feedback in Continuous Software Evolution","authors":"Dora Dzvonyar, Stephan Krusche, Rana Alkadhi, B. Bruegge","doi":"10.1145/2896941.2896952","DOIUrl":"https://doi.org/10.1145/2896941.2896952","url":null,"abstract":"User feedback is an important means of validating requirements and discovering new requirements in continuous software evolution. However, users have a low motivation to provide feedback and prefer applications which do not interrupt their work. Due to missing context information, developers have difficulties to analyze feedback, and to integrate it into their development work. In this paper, we describe CAFE, a context-aware feedback system which consists of: (1) a framework for collecting in-situ user feedback enriched with usage context data; and (2) a process for integrating feedback into a team’s development activities. While the process is applicable to all kinds of applications, the implemented framework concentrates on mobile user feedback and its particular challenges. We evaluated CAFE in a mobile application. Our results indicate that the system is a valuable step toward increasing user motivation to provide feedback and decreasing the developers’ effort to integrate feedback, ultimately improving user involvement.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"22 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129591742","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":"From Ideas to Implementations: Closing the Gaps between Technical Experts and Software Solutions","authors":"Karen Smiley, Jeff Harding, Pankesh Patel","doi":"10.1145/2896941.2896945","DOIUrl":"https://doi.org/10.1145/2896941.2896945","url":null,"abstract":"Rapid delivery strategies strive to balance critical performance qualities vs. reducing the time between an idea and deployment of a software implementation of that idea. For industrial software solutions that encapsulate expertise in deliverable components, technical SMEs (Subject Matter Experts) with ideas and knowledge have traditionally partnered as requirements providers with software development teams. These human processes are not optimally fast, are vulnerable to errors in translating or interpreting requirements, and do not scale when software teams need to integrate the knowledge of many SMEs into multiple software solutions and deployments. To address these limitations, ABB has pursued an industrial research initiative for innovative SME toolsets with focus on two goals: to accelerate the creation, evolution, reuse, and delivery of expert algorithms, and to streamline the deployment of these algorithms into releases and fielded solutions. The vision underpinning the initiative is to empower technical SMEs as “end-user developers” to convert their knowledge into reusable software solution components without having to learn, perform, or partner on traditional software development, integration, or deployment. In this paper, we summarize our experiences and lessons learned to date from this initiative, key continuing challenges, and some positional thoughts on how end-user development by technical SMEs aligns with emerging approaches for rapid delivery and evolution.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129220895","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":"Will My Tests Tell Me If I Break This Code?","authors":"Rainer Niedermayr, Elmar Jürgens, S. Wagner","doi":"10.1145/2896941.2896944","DOIUrl":"https://doi.org/10.1145/2896941.2896944","url":null,"abstract":"Automated tests play an important role in software evolution because they can rapidly detect faults introduced during changes. In practice, code-coverage metrics are often used as criteria to evaluate the effectiveness of test suites with focus on regression faults. However, code coverage only expresses which portion of a system has been executed by tests, but not how effective the tests actually are in detecting regression faults. Our goal was to evaluate the validity of code coverage as a measure for test effectiveness. To do so, we conducted an empirical study in which we applied an extreme mutation testing approach to analyze the tests of open-source projects written in Java. We assessed the ratio of pseudo-tested methods (those tested in a way such that faults would not be detected) to all covered methods and judged their impact on the software project. The results show that the ratio of pseudo-tested methods is acceptable for unit tests but not for system tests (that execute large portions of the whole system). Therefore, we conclude that the coverage metric is only a valid effectiveness indicator for unit tests.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125135578","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 Applying a Safety Analysis and Verification Method Based on STPA to Agile Software Development","authors":"Yang Wang, S. Wagner","doi":"10.1145/2896941.2896948","DOIUrl":"https://doi.org/10.1145/2896941.2896948","url":null,"abstract":"Agile methodologies are becoming widespread in modern software development. However, due to a lack of safety assurance activities, agile methods are criticized for being inadequate for the development of safe software. Safety analysis and safety verication are complementary methods for safety assurance. Yet, both usually rely on traditional, waterfall-like processes. Therefore, it is strongly needed to integrate an appropriate safety analysis approach into agile software development processes driving architecture design and verify the safe design at the code level. This paper presents a novel agile process model \"S-Scrum\" based on the existing development process \"Safe Scrum\"and extended by a safety analysis method and a safety verica- tion approach based on STPA (System-Theoretic Process Analysis). The proposed agile development process S-Scrum can be separated into three parts: (1) performing safety-guided de- sign by STPA inside each sprint. (2) Verifying safety re- quirements at the code level by using model checking. (3) Replacing traditional RAMS (Reliability, Availability, Main- tainability, Safety) validation on thenal product by STPA safety analysis. We adopt other aspects from the original Safe Scrum. Finally, the feasibility of S-Scrum is illustrated with the example of an airbag system.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"78 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121800295","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":"Software Security in DevOps: Synthesizing Practitioners’ Perceptions and Practices","authors":"A. Rahman, L. Williams","doi":"10.1145/2896941.2896946","DOIUrl":"https://doi.org/10.1145/2896941.2896946","url":null,"abstract":"In organizations that use DevOps practices, software changes can be deployed as fast as 500 times or more per day. Without adequate involvement of the security team, rapidly deployed software changes are more likely to contain vulnerabilities due to lack of adequate reviews. The goal of this paper is to aid software practitioners in integrating security and DevOps by summarizing experiences in utilizing security practices in a DevOps environment. We analyzed a selected set of Internet artifacts and surveyed representatives of nine organizations that are using DevOps to systematically explore experiences in utilizing security practices. We observe that the majority of the software practitioners have expressed the potential of common DevOps activities, such as automated monitoring, to improve the security of a system. Furthermore, organizations that integrate DevOps and security utilize additional security activities, such as security requirements analysis and performing security configurations. Additionally, these teams also have established collaboration between the security team and the development and operations teams.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"2 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132479914","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":"Semi-automatic Generation of Audience-Specific Release Notes","authors":"Sebastian Klepper, Stephan Krusche, B. Brügge","doi":"10.1145/2896941.2896953","DOIUrl":"https://doi.org/10.1145/2896941.2896953","url":null,"abstract":"Agile development methodologies encourage frequent releases. However, many releases can overwhelm clients, testers and users if they do not understand what the actual difference is between two versions. Every release raises questions like whether they need to update right away, whether functionality has been added or problems have been fixed and finally whether it is worth their time to try out a new version. Release notes can alleviate this problem by informing their audience about the contents of a particular release, but the creation of high quality release notes takes time and effort. A release manager needs to have the release`s target audience in mind, access information from project management, issue tracker, and build system and might even need input from designers and developers. We describe a semi-automated approach for generating targeted, informative release notes. Our solution is designed from the point of view of a release manager who acts as an editor of auto-generated content based on information gathered from both build server and issue tracker. Furthermore, it allows release notes to be tailored to a specific audience depending on their specific information needs.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117100175","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 Delivery: Overcoming Adoption Obstacles","authors":"Lianping Chen","doi":"10.1109/CSED.2016.023","DOIUrl":"https://doi.org/10.1109/CSED.2016.023","url":null,"abstract":"Continuous Delivery (CD) can bring huge benefits, but implementing CD is challenging. For some challenges, one can only see them when he/she travels on the journey far enough. Paddy Power has been implementing CD for more than three years. In this talk, I will present the major obstacles we encountered and how we addressed them. These obstacles cover various areas, including organizational, cultural, process, and technical. I will also discuss the areas where I see researchers can help.","PeriodicalId":438234,"journal":{"name":"2016 IEEE/ACM International Workshop on Continuous Software Evolution and Delivery (CSED)","volume":"180 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2016-05-14","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128828307","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}