131 research outputs found

    A Pilot Case Study on Innovative Behaviour: Lessons Learned and Directions for Future Work

    Get PDF
    Context: A case study is a powerful research strategy for investigating complex social-technical and managerial phenomena in real life settings. However, when the phenomenon has not been fully discovered or understood, pilot case studies are important to refine the research problem, the research variables, and the case study design before launching a full-scale investigation. The role of pilot case studies has not been fully addressed in empirical software engineering research literature. Objective: To explore the use of pilot case studies in the design of full-scale case studies, and to report the main lessons learned from an industrial pilot study. Method: We designed and conducted an exploratory case study to identify new relevant research variables that influence the innovative behaviour of software engineers in the industrial setting and to refine the full-scale case study design for the next phase of our research. Results: The use of a pilot case study identified several important research variables that were missing in the initial framework. The pilot study also supported a more sophisticated case study design, which was used to guide a full-scale study. Conclusions: When a research topic is has not been fully discovered or understood, it is difficult to create a case study design that covers the relevant research variables and their potential relationships. Conducting a full-scale case study using an untested case design can lead to waste of resources and time if the design has to be reworked during the study. In these situations, the use of pilot case studies can significantly improve the case study design

    Do Models Improve the Understanding of Safety Compliance Needs?: Insights from a Pilot Experiment

    Get PDF
    Context. Many critical systems must meet safety compliance needs from safety standards. These standards are usually large textual documents whose compliance needs can be hard to understand. As a solution, the use of models has been proposed. Goal. We aim to provide evidence of the extent to which models improve the understanding of safety compliance needs. Method. We designed an experiment and ran a pilot to study the effectiveness, efficiency, and perceived benefits of understanding these needs, with the text of standards and with models in the form of UML object diagrams. Results. The overall results from 15 Bachelor students show that the effectiveness of understanding safety compliance needs increases very little with models (2%), and the efficiency even decreases (24%). Nonetheless, the results improve when the potential complexity in navigating the models is taken into account (15% effectiveness increase). The students find benefits in using the models but most consider that the models are hard to understand. Conclusions. The extent to which models improve the understanding of safety compliance needs seems to be lower than what the research community expects. New studies are necessary to confirm our initial insights.European CommissionThe research leading to this paper has received funding from the AMASS project (H2020-ECSEL grant agreement no 692474; Spain’s MINECO ref. PCIN-2015-262) and the AMoDDI project (Ref. 11130583)

    A Call to Promote Soft Skills in Software Engineering

    Get PDF
    We have been thinking about other aspects of software engineering for many years; the missing link in engineering software is the soft skills set, essential in the software development process. Although soft skills are among the most important aspects in the creation of software, they are often overlooked by educators and practitioners. One of the main reasons for the oversight is that soft skills are usually related to social and personality factors, i.e., teamwork, motivation, commitment, leadership, multi-culturalism, emotions, interpersonal skills, etc. This editorial is a manifesto declaring the importance of soft skills in software engineering with the intention to draw professionals’ attention to these topics. We have approached this issue by mentioning what we know about the field, what we believe to be evident, and which topics need further investigation. Important references to back up our claims are also included. In summary, technical people tend to overlook the importance of soft skills as it is unrelated to their technical area and because their training is in dealing with technical issue; thus considering the soft skills in the software development process to be foreign to them, since the field deals with human factors and touches social sciences. These are topics that software professionals do not have expertise in. We believe that it is high time for the software development community to realize that the human element is pivotal to success in the engineering of software. We have to recognize that software engineering is a people-intensive discipline, hence requires appropriate treatment. Therefore, human aspects of software engineering are important subjects to teach, study and research. We urge software engineers to take on this challenge

    Predictive analysis of incidents based on software deployments

    Get PDF
    A high number of IT organizations have problems when deploying their services, this alongside with the high number of services that organizations have daily, makes Incident Management (IM) process quite demanding. An effective IM system need to enable decision makers to detect problems easily otherwise the organizations can face unscheduled system downtime and/or unplanned costs. By predicting these problems, the decision makers can better allocate resources and mitigate costs. Therefore, this research aims to help predicting those problems by looking at the history of past deployments and incident ticket creation and relate them by using machine learning algorithms to predict the number of incidents of a certain deployment. This research aims to analyze the results with the most used algorithms found in the literature.info:eu-repo/semantics/publishedVersio

    Predicting Software Performance with Divide-and-Learn

    Full text link
    Predicting the performance of highly configurable software systems is the foundation for performance testing and quality assurance. To that end, recent work has been relying on machine/deep learning to model software performance. However, a crucial yet unaddressed challenge is how to cater for the sparsity inherited from the configuration landscape: the influence of configuration options (features) and the distribution of data samples are highly sparse. In this paper, we propose an approach based on the concept of 'divide-and-learn', dubbed DaLDaL. The basic idea is that, to handle sample sparsity, we divide the samples from the configuration landscape into distant divisions, for each of which we build a regularized Deep Neural Network as the local model to deal with the feature sparsity. A newly given configuration would then be assigned to the right model of division for the final prediction. Experiment results from eight real-world systems and five sets of training data reveal that, compared with the state-of-the-art approaches, DaLDaL performs no worse than the best counterpart on 33 out of 40 cases (within which 26 cases are significantly better) with up to 1.94Ă—1.94\times improvement on accuracy; requires fewer samples to reach the same/better accuracy; and producing acceptable training overhead. Practically, DaLDaL also considerably improves different global models when using them as the underlying local models, which further strengthens its flexibility. To promote open science, all the data, code, and supplementary figures of this work can be accessed at our repository: https://github.com/ideas-labo/DaL.Comment: This paper has been accepted by The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), 202

    Critical Success Factors of Continuous Practices in a DevOps Context

    Get PDF
    Context: Software companies try to achieve adaptive near to real-time software delivery and apply continuous practices in a DevOps context. While continuous practices may create new business opportunities, continuous practices also present new challenges. Objective: This study aims to aid in adopting continuous practices and performance improvements by increasing our understanding of these practices in a DevOps context. Method: By conducting a systematic literature review we identified critical success factors on continuous practices and grouped the found factors. This led to the construction of our initial framework. We started to validate the critical success factors in this framework in a DevOps context by conducting a first pilot interview. Results: We developed an initial framework of critical success factors and conducted a pilot interview to make a first step to validate the framework. Some factors were confirmed and clarified i.e., enriched, on the basis of the retrieved information. In future work we will strive at further validation of the framework. Conclusions: We took a first step to validate our framework and retrieved valuable information, which is promising to take the next steps for further development of the framework
    • …
    corecore