33 research outputs found

    On Integrating Student Empirical Software Engineering Studies with Research and Teaching Goals

    Get PDF
    Background: Many empirical software engineering studies use students as subjects and are conducted as part of university courses. Aim: We aim at reporting our experiences with using guidelines for integrating empirical studies with our research and teaching goals. Method: We document our experience from conducting three studies with graduate students in two software architecture courses. Results: Our results show some problems that we faced when following the guidelines and deviations we made from the original guidelines. Conclusions: Based on our results we propose recommendations for empirical software engineering studies that are integrated in university courses.

    Happy software developers solve problems better: psychological measurements in empirical software engineering

    Full text link
    For more than 30 years, it has been claimed that a way to improve software developers' productivity and software quality is to focus on people and to provide incentives to make developers satisfied and happy. This claim has rarely been verified in software engineering research, which faces an additional challenge in comparison to more traditional engineering fields: software development is an intellectual activity and is dominated by often-neglected human aspects. Among the skills required for software development, developers must possess high analytical problem-solving skills and creativity for the software construction process. According to psychology research, affects-emotions and moods-deeply influence the cognitive processing abilities and performance of workers, including creativity and analytical problem solving. Nonetheless, little research has investigated the correlation between the affective states, creativity, and analytical problem-solving performance of programmers. This article echoes the call to employ psychological measurements in software engineering research. We report a study with 42 participants to investigate the relationship between the affective states, creativity, and analytical problem-solving skills of software developers. The results offer support for the claim that happy developers are indeed better problem solvers in terms of their analytical abilities. The following contributions are made by this study: (1) providing a better understanding of the impact of affective states on the creativity and analytical problem-solving capacities of developers, (2) introducing and validating psychological measurements, theories, and concepts of affective states, creativity, and analytical-problem-solving skills in empirical software engineering, and (3) raising the need for studying the human factors of software engineering by employing a multidisciplinary viewpoint.Comment: 33 pages, 11 figures, published at Peer

    An approach to estimate the saving from negotiation based on cost- benefit anaylsis model

    Get PDF
    This paper presents an approach to estimate the savings from implementing negotiation in requirements elicitation process. The aim of implementing negotiation is to minimize the possibility of introducing defects during the creation of requirements and to decrease later effort required to fix requirements defects. An empirical evaluation study is adopted through a role play experiment to evaluate the benefit of exercising negotiation. The net-gain and the return-oninvestment show positive value which suggest that negotiation activities worth an investment. Based on the return-oninvestment of 197 percent in average, this paper suggests that negotiation is a useful prevention activity to inhibit defects from occurring during the creation of requirements

    Requirements Negotiation: Does Consensus Reduce Software Development Cost?

    Get PDF
    The requirements engineering activities within a software project are known to be critical to the successful production of a correctly functioning system. This is particularly so when considering the varying views of multiple stakeholders. One promising approach for improving the outcome is to introduce formal negotiation. Negotiation is beneficial to identify and to resolve conflicts between stakeholders. Consensus achieved through negotiation represents all key stakeholders’ perspectives and perceptions regarding the system to be developed. The aim of implementing negotiation is to minimize the possibility of introducing defects during the creation of requirements and to decrease later effort required to fix requirements’ defects. This paper answers the question of whether consensus gives positive significant impact to the software project as a whole or not. It presents an approach to estimate the savings from implementing negotiation in the requirements elicitation process. An empirical evaluation study is adopted through a role play experiment to evaluate the benefit of exercising negotiation. The net gain and the return on investment show positive values which suggest that negotiation activities are worth an investment. Based on a return on investment of 197 percent on average, this paper suggests that negotiation is a useful prevention activity to inhibit defects from occurring during the requirements creation process

    Experimental software engineering in educational context

    Get PDF
    Empirical studies are important in software engineering to evaluate new tools, techniques, methods and technologies in a structured way before they are introduced in the industrial (real) software process. Within this PhD thesis we will develop a framework of a consistent process for involving students as subjects of empirical studies of software engineering. In concrete, our experiences with software development teams composed of students will analyze how RUP (Rational Unified Process) processes can be compliant with the CMMI (Capability Maturity Model Integration), namely in the context of MLs (maturity levels) 2 and 3. Additionally, we will also analyze the influence of project management tools to improve the process maturity of the teams. Our final goal of carrying out empirical studies with students is to understand its validity when compared with the corresponding studies in real industrial settings

    How Do You Feel, Developer? An Explanatory Theory of the Impact of Affects on Programming Performance

    Full text link
    Affects---emotions and moods---have an impact on cognitive activities and the working performance of individuals. Development tasks are undertaken through cognitive processes, yet software engineering research lacks theory on affects and their impact on software development activities. In this paper, we report on an interpretive study aimed at broadening our understanding of the psychology of programming in terms of the experience of affects while programming, and the impact of affects on programming performance. We conducted a qualitative interpretive study based on: face-to-face open-ended interviews, in-field observations, and e-mail exchanges. This enabled us to construct a novel explanatory theory of the impact of affects on development performance. The theory is explicated using an established taxonomy framework. The proposed theory builds upon the concepts of events, affects, attractors, focus, goals, and performance. Theoretical and practical implications are given.Comment: 24 pages, 2 figures. Postprin
    corecore