Búsqueda avanzada

El autor Natalia Juristo ha publicado 5 artículo(s):

3 - Investigating the Impact of Development Task on External Quality in Test-Driven Development: An Industry Experiment

Reviews on test-driven development (TDD) studies suggest that the conflicting results reported in the literature are due to unobserved factors, such as the tasks used in the experiments, and highlight that there are very few industry experiments conducted with professionals. The goal of this study is to investigate the impact of a new factor, the chosen task, and the development approach on external quality in an industrial experimental setting with 17 professionals. The participants are junior to senior developers in programming with Java, beginner to novice in unit testing, JUnit, and they have no prior experience in TDD. The experimental design is a 2 x 2 cross-over, i.e., we use two tasks for each of the two approaches, namely TDD and incremental test-last development (ITLD). Our results reveal that both development approach and task are significant factors with regards to the external quality achieved by the participants. More specifically, the participants produce higher quality code during ITLD in which splitting user stories into subtasks, coding, and testing activities are followed, compared to TDD. The results also indicate that the participants produce higher quality code during the implementation of Bowling Score Keeper, compared to that of Mars Rover API, although they perceived both tasks as of similar complexity. An interaction between the development approach and task could not be observed in this experiment. We conclude that variables that have not been explored so often, such as the extent to which the task is specified in terms of smaller subtasks, and developers+IBk unit testing experience might be critical factors in TDD experiments. The real-world appliance of TDD and its implications on external quality still remain to be challenging unless these uncontrolled and unconsidered factors are further investigated by researchers in both academic and industrial settings.

Autores: Ayse Tosun / Oscar Dieste / Sira Vegas / Dietmar Pfahl / Kerli Rungi / Natalia Juristo / 
Palabras Clave: Experimental task - external quality - Incremental test-last development - Industry experiment - Test-driven development

4 - Impact of usability mechanisms: An experiment on efficiency, effectiveness and user satisfaction

Context: As a software quality characteristic, usability includes the attributes of efficiency, effectiveness and user satisfaction. There are several recommendations in the literature on how to build usable software systems, but there are not very many empirical studies that provide evidence about their impact.Objective: We report an experiment carried out with users to understand the effect of three usability mechanisms +IBQ-Abort Operation, Progress Feedback and Preferences+IBQ on efficiency, effectiveness and user satisfaction. Usability mechanisms are functionalities that should, according to the HCI community, be implemented within a software system to increase its usability.Method: The experiment was conducted with 168 users divided into 24 experimental groups. Each group performs three online shopping tasks. We measure efficiency variables (number of clicks and time taken), effectiveness (percentage of task completion) and user satisfaction gathered from a questionnaire.Results: The adoption of Abort Operation has a signi++wE-cantly positive effect on efficiency (time taken), effectiveness and user satisfaction. The adoption of Progress Feedback does not appear to have any impact on any of the variables. The adoption of Preferences has a signi++wE-cantly positive effect on effectiveness and user satisfaction but no in++wI-uence on efficiency.Conclusions: We provide relevant evidence of the impact of the three usability mechanisms on efficiency, effectiveness and user satisfaction. In no case do the usability mechanisms degrade user performance. The effort to adopt Abort Operation and Preferences appears to be justi++wE-ed by the bene++wE-ts in terms of effectiveness and user satisfaction. Also Abort Operation enables the user to be more productive. We believe that the effects on efficiency, effectiveness and satisfaction depend not only on mechanism functionality but also on the problem domain. The impact of a mechanism in other contexts could differ. Therefore, we need to conduct further experiments to gather more evidence and con++wE-rm these results.

Autores: Juan M. Ferreira / Silvia T. Acuña / Oscar Dieste / Sira Vegas / Adrián Santos / Francy Rodríguez / Natalia Juristo / 
Palabras Clave: Effectiveness - Efficiency - Empirical study - Experimental design - Satisfaction - software engineering - Usability - Usability mechanism

5 - A HCI Technique for Improving Requirements Elicitation

Human computer interaction (HCI) uses development processes and techniques to assure that software product usability complies with minimum requirements. The Personas technique [3] gathers, analyses and synthesizes information related to the users that are to interact with the software system. This technique helps to focus software analysis and design on end user features and goals. However, it shares the shortcomings of other HCI techniques: it has no detailed definition of activities and products. These problems make the introduction of Personas into the software engineering (SE) requirements stage overly complex and unclear for developers. In order to design and implement a usable system, there should, according to HCI, be an understanding not only of users’ needs and goals but also of their characteristics and capabilities. The understanding of the people that interact with the system should constitute the groundwork for software development. The SE requirements activity could be improved by incorporating Personas technique tasks to understand the user. The goal of our research is to modify Personas to readily build the technique into the requirements stage of regular SE developments.
We studied Cooper’s version of the Personas technique [3] and set out to apply this technique in a case study [2]. From the very outset, we had trouble applying the technique. For example, the first step of the technique recommended by Cooper is Identify Behavioural Variables, that is, Cooper assumes that users have already been researched and the gathered data have been roughly organized. This task is not however explicitly mentioned in his description of Personas. The user study necessary to extract behavioural variables is not an altogether straightforward step and should be specified rather than implied as the technique’s first activity. Additionally, some technique activities, like Identify Significant Behaviour Patterns and Check for Completeness and Redundancy, fail to specify any output product. Finally, the final technique outputs are not related to the software engineering requirements stage. To be able to build Personas into routine SE developments, it is necessary to define activities and products associated with each activity. For each of the identified limitations, we devised an improvement to be built into Personas. We opted to incorporate these improvements into the latest version of the Personas technique published by Cooper et al. [3]. The grounds for this choice were: (i) Cooper made the original proposal; (ii) this proposal was the groundwork for research by other authors; and (iii) this proposal has been successfully used in a number of real projects. In [1], we incorporated these improvements into a SE version of Personas. Our proposal is composed of a group of activities and their associated inputs and outputs that, together, lead to the creation of personas [1]. As part of the first new activity, State Hypotheses for Personas, for example, a List of Hypotheses for the Personas to be created should be generated, and interviews should be designed and held with potential users. The responses from the Transcribed Interviews should then be used to gather the information required to carry out other activities. Second, as part of the Identify Behavioural Variables activity, we propose a new activity for synthesizing each response to the interviews held in the previous activity as behavioural variables. Third, we have defined a new activity that links the user research using Personas with the remainder of the requirements stage: Build Use Cases. This activity should output an Annotated Use Case Diagram. This diagram is based on the traditional use case diagram, to which we add a brief description of each persona involved in the use case. We applied our proposed technique to several case studies for validation [1]. Additionally, we designed and implemented a prototype tool to support the proposed Personas technique.
The improved Personas avoids the obstacles encountered by an average software developer unfamiliar with HCI techniques applying the original Personas. We think it is worthwhile adapting Personas for integration into SE development process. The integration of Personas into the SE requirements stage could improve the understanding of what the software product should do and how it should behave. The Personas technique appears to help focus the software analysis and design activities on end user characteristics and goals. We have enriched the SE requirements process by incorporating Personas activities into requirements activities. Requirements elicitation and requirements analysis are the requirements engineering activities most affected by incorporating Personas.
Acknowledgements. This work has been funded by the Spanish Ministry of Science and Innovation as part of the Tecnologías para la Replicación y Síntesis de Experimentos en IS (TIN2011-23216) and Go Lite (TIN2011-24139), and by Community of Madrid R&D program e-Madrid project (S2009/TIC-1650).

Autores: John W. Castro / Silvia T. Acuña / Natalia Juristo / 
Palabras Clave: