Mojtaba Shahin, Mansooreh Zahedi, M. Babar, Liming Zhu
{"title":"Adopting Continuous Delivery and Deployment: Impacts on Team Structures, Collaboration and Responsibilities","authors":"Mojtaba Shahin, Mansooreh Zahedi, M. Babar, Liming Zhu","doi":"10.1145/3084226.3084263","DOIUrl":"https://doi.org/10.1145/3084226.3084263","url":null,"abstract":"Context: Continuous Delivery and Deployment (CD) practices aim to deliver software features more frequently and reliably. While some efforts have been made to study different aspects of CD practices, a little empirical work has been reported on the impact of CD on team structures, collaboration and team members' responsibilities. Goal: Our goal is to empirically investigate how Development (Dev) and Operations (Ops) teams are organized in software industry for adopting CD practices. Furthermore, we explore the potential impact of practicing CD on collaboration and team members' responsibilities. Method:We conducted a mixed-method empirical study, which collected data from 21 in-depth, semi-structured interviews in 19 organizations and a survey with 93 software practitioners. Results: There are four common types of team structures (i.e., (1) separate Dev and Ops teams with higher collaboration; (2) separate Dev and Ops teams with facilitator(s) in the middle; (3) small Ops team with more responsibilities for Dev team; (4) no visible Ops team) for organizing Dev and Ops teams to effectively initiate and adopt CD practices. Our study also provides insights into how software organizations actually improve collaboration among teams and team members for practicing CD. Furthermore, we highlight new responsibilities and skills (e.g., monitoring and logging skills), which are needed in this regard.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115436398","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":"An Exploratory Study of Functionality and Learning Resources of Web APIs on ProgrammableWeb","authors":"Yuan Tian, Pavneet Singh Kochhar, D. Lo","doi":"10.1145/3084226.3084286","DOIUrl":"https://doi.org/10.1145/3084226.3084286","url":null,"abstract":"Web APIs provide various functionalities that can be leveraged by developers in building their applications. ProgrammableWeb, which is the largest and most active web API and mashup collection, provides a record of thousands of web APIs and mashups. However, important properties about these large number of web APIs, such as their functionality and support/resources for learning, have never been studied by the existing research work. In this study, we perform an exploratory analysis on functionality and learning resources of 9,883 web APIs and 4,315 mashups listed on ProgrammableWeb, and find that: (1) web APIs provide a wide range of functionalities related to business solution, text analysis, data source, etc.; many of them are substitutable; only a minority have been used with other APIs; (2) a majority of web APIs on ProgrammableWeb have provided resources to support developers in learning how to use the APIs.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"70 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125145925","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}
P. Sharma, Bastin Tony Roy Savarimuthu, N. Stanger, Sherlock A. Licorish, A. Rainer
{"title":"Investigating developers' email discussions during decision-making in Python language evolution","authors":"P. Sharma, Bastin Tony Roy Savarimuthu, N. Stanger, Sherlock A. Licorish, A. Rainer","doi":"10.1145/3084226.3084271","DOIUrl":"https://doi.org/10.1145/3084226.3084271","url":null,"abstract":"Context: Open Source Software (OSS) developers use mailing lists as their main forum for discussing the evolution of a project. However, the use of mailing lists by developers for decision-making has not received much research attention. Objective: We have explored this issue by studying developers' email discussions around Python Enhancement Proposals (PEPs). Method: Our dataset comprised 42,672 emails from six different mailing lists pertaining to PEP development. We performed multiple forms of analysis on these emails, involving both quantitative measures (e.g., frequency) and deeper analysis of specific PEP discussions (i.e., outlier analysis). Results: Out of three PEP types (Informational, Process and Standard Track), Standard Track PEPs attract a large amount of discussion (both in volume and average number of messages per proposal). Our study also identified specific PEP states and topics that generated a disproportionate amount of discussion. Conclusion: Our outcomes point to several opportunities for improving the management of an OSS team based on the knowledge generated from discussions. We have also identified several interesting avenues for future work such as identifying individuals or groups that present persuasive arguments during decision-making.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123864918","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":"On the Evaluation of Effort Estimation Models","authors":"L. Lavazza, S. Morasca","doi":"10.1145/3084226.3084260","DOIUrl":"https://doi.org/10.1145/3084226.3084260","url":null,"abstract":"Background. Using accurate effort estimation models can help software companies plan, monitor, and control their development process and development costs. It is therefore important to define sound accuracy indicators that allow practitioners and researchers to assess and rank different effort estimation models so that practitioners can select the most accurate, and therefore useful one. Several accuracy indicators exist, with different advantages and disadvantages. Objective. We propose a general framework for building sound accuracy indicators for effort estimation models. Method. The accuracy indicators that comply with our proposal are built by means of a comparison between a reference effort estimation model and the specific model whose accuracy we would like to assess. Several existing indicators are built this way: we develop a framework so new indicators can be defined in a sound way. Results. From a theoretical point of view, we applied our approach to accuracy indicators based on the square of the residuals and the absolute value of the residuals. We show that using a random model as a reference model, as done in some recent literature, sets too low a bar in terms of what may be acceptable. Instead, we use reference models that are built based on constant functions. From a practical point of view, we applied our approach to datasets containing measures of industrial software development projects. With the proposed method we were able to derive indications both according to criteria already proposed in the literature and according to new criteria. Conclusions. Our method can be used to define sound accuracy indicators for effort estimation models.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"33 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123668258","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}
D. Taibi, Valentina Lenarduzzi, M. Ahmad, K. Liukkunen
{"title":"Comparing Communication Effort within the Scrum, Scrum with Kanban, XP, and Banana Development Processes","authors":"D. Taibi, Valentina Lenarduzzi, M. Ahmad, K. Liukkunen","doi":"10.1145/3084226.3084270","DOIUrl":"https://doi.org/10.1145/3084226.3084270","url":null,"abstract":"[Context]: Communication plays an important role in any development process. However, communication overhead has been rarely compared among development processes. [Objective]: The goal of this work is to compare the communication overhead and the different channels applied in three agile processes (XP, Scrum, Scrum with Kanban) and in an unstructured process. [Method]: We designed an empirical study asking four teams to develop the same application with the four development processes, and we compare the communication overhead among them. [Results]: As expected, face-to-face communication is most frequently employed in the teams. Scrum with Kanban turned out to be the process that requires the least communication. Unexpectedly, despite requiring much more time to develop the same application, the unstructured process required comparable communication overhead (25% of the total development time) as the agile processes.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"64 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114723431","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}
Sarah Meldrum, Sherlock A. Licorish, Bastin Tony Roy Savarimuthu
{"title":"Crowdsourced Knowledge on Stack Overflow: A Systematic Mapping Study","authors":"Sarah Meldrum, Sherlock A. Licorish, Bastin Tony Roy Savarimuthu","doi":"10.1145/3084226.3084267","DOIUrl":"https://doi.org/10.1145/3084226.3084267","url":null,"abstract":"Platforms such as Stack Overflow are available for software practitioners to solicit help and solutions to their challenges and knowledge needs. This community's practices have in recent times however caused quality-related concerns. Academic work tends to provide validation for the practice and processes of these forums, however, previous work did not review the scale of scientific attention that is given to this cause. We conducted a Systematic Mapping study involving 266 papers from six relevant databases to address this gap. In this preliminary work we explored the level of academic interest Stack Overflow has generated, the publication venues, the topics studied and approaches used. Outcomes show that Stack Overflow has attracted increasing research interest, with topics relating to both community dynamics and human factors, and technical issues. In addition, research studies have been largely evaluative or proposed solutions, though this latter approach tends to lack validation. This signals the need for future work to explore the nature of Stack Overflow research contributions that are provided, and their quality. We outline our research agenda for continuing with such efforts.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132831549","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":"Defect Triage Meetings: Challenges and Lessons Learned: Extended Abstract","authors":"Mohsin Irshad","doi":"10.1145/3084226.3084281","DOIUrl":"https://doi.org/10.1145/3084226.3084281","url":null,"abstract":"Defect triaging is a process of determining the relevance, severity, priority and information requisites of a defect, prior to its addition in development backlog. A defect triage meeting is a forum where the triaging of defects takes place. This report describes an industrial experience of conducting defect triage meetings and challenges associated with these meetings. The industrial report narrates the context, challenges, solutions and the lessons identified during the execution of the industrial project. We have found that three major challenges associated with the triage meetings are (i) focusing on relevant aspects i.e. defect triaging, (ii) conflict resolution regarding the validity, priority and quality of defect reports, and (iii) confusion over the delegation of duties. We have provided guidelines that can help in overcoming these challenges and based on the evaluation of these guidelines important lessons are identified and described in this experience report.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"44 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134594218","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}
Hennie Huijgens, A. Deursen, Leandro L. Minku, C. Lokan
{"title":"Effort and Cost in Software Engineering: A Comparison of Two Industrial Data Sets","authors":"Hennie Huijgens, A. Deursen, Leandro L. Minku, C. Lokan","doi":"10.1145/3084226.3084249","DOIUrl":"https://doi.org/10.1145/3084226.3084249","url":null,"abstract":"Context The research literature on software development projects usually assumes that effort is a good proxy for cost. Practice, however, suggests that there are circumstances in which costs and effort should be distinguished. Objectives: We determine similarities and differences between size, effort, cost, duration, and number of defects of software projects. Method: We compare two established repositories (ISBSG and EBSPM) comprising almost 700 projects from industry. Results: We demonstrate a (log)-linear relation between cost on the one hand, and size, duration and number of defects on the other. This justifies conducting linear regression for cost. We establish that ISBSG is substantially different from EBSPM, in terms of cost (cheaper) and duration (faster), and the relation between cost and effort. We show that while in ISBSG effort is the most important cost factor, this is not the case in other repositories, such as EBSPM in which size is the dominant factor. Conclusion: Practitioners and researchers alike should be cautious when drawing conclusions from a single repository.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"92 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124743233","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":"Exploring the outsourcing relationship in software startups: A multiple case study","authors":"Anh Nguyen-Duc, P. Abrahamsson","doi":"10.1145/3084226.3084248","DOIUrl":"https://doi.org/10.1145/3084226.3084248","url":null,"abstract":"Abstract -- Software startups are becoming increasingly popular in software industry as well as other sectors of economy. Startups that lack necessary competences often seek for external resources from outsourcing partners. Little is known how this outsourcing relationship works and whether it makes sense to outsource the technical competence to an external party. This is among the first investigations on the outsourcing relationships in software startups. By conducting exploratory case studies at six startups, we found a mixed experience with outsourcing. The experimental nature of an early product development makes outsourcing a feasible option, although startups often suffer from its uncertainty and managing commitments from partners. Results further propose that early contract-based activities could be transformed into a long-term partnership by adopting a startup boundary spanner's role, establishing an inter-personal relationship and maintaining a mutual commitment.1","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125033869","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}
Elvira-Maria Arvanitou, Apostolos Ampatzoglou, A. Chatzigeorgiou, P. Avgeriou
{"title":"A Method for Assessing Class Change Proneness","authors":"Elvira-Maria Arvanitou, Apostolos Ampatzoglou, A. Chatzigeorgiou, P. Avgeriou","doi":"10.1145/3084226.3084239","DOIUrl":"https://doi.org/10.1145/3084226.3084239","url":null,"abstract":"Change proneness is a quality characteristic of software artifacts that represents their probability to change in the future due to: (a) evolving requirements, (b) bug fixing, or (c) ripple effects. In the literature, change proneness has been associated with many negative consequences along software evolution. For example, artifacts that are change-prone tend to produce more defects, and accumulate more technical debt. Therefore, identifying and monitoring modules of the system that are change-prone is of paramount importance. Assessing change proneness requires information from two sources: (a) the history of changes in the artifact as a proxy of how frequently the artifact itself is changing, and (b) the source code structure that affects the probability of a change being propagated among artifacts. In this paper, we propose a method for assessing the change proneness of classes based on the two aforementioned information sources. To validate the proposed approach, we performed a case study on five open-source projects. Specifically, we compared the accuracy of the proposed approach to the use of other software metrics and change history to assess change proneness, based on the 1061-1998 IEEE Standard on Software Measurement. The results of the case study suggest that the proposed method is the most accurate and reliable assessor of change proneness. The high accuracy of the method suggests that the method and accompanying tool can effectively aid practitioners during software maintenance and evolution.","PeriodicalId":192290,"journal":{"name":"Proceedings of the 21st International Conference on Evaluation and Assessment in Software Engineering","volume":"57 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-06-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131301330","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}