33 research outputs found
On Integrating Student Empirical Software Engineering Studies with Research and Teaching Goals
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
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
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?
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
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
Empirical Evaluation of Semi-automated XML Annotation of Text Documents with the GoldenGATE Editor
uploaded by Plaz
How Do You Feel, Developer? An Explanatory Theory of the Impact of Affects on Programming Performance
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