Agile User-Centered Design is an emergent and extremely important theme, but what does it exactly mean? Agile User-Centered Design is the use of user-centered design (UCD) in Agile environments. We build on previous work to provide a systematic mapping of Agile UCD publications at the two major agile and human-computer interaction (HCI) conferences. The analysis presented in this paper allows us to answer primary research questions such as: what is agile UCD; what types of HCI techniques have been used to integrate agile and UCD; what types of studies on agile UCD have been published; what types of research methods have been used in Agile UCD studies; and what benefits do these publications offer? Furthermore, we explore topics such as: who are the major authors in this field; and is the field driven by academics, practitioners, or collaborations? This paper presents our analysis of these topics in order to better structure future work in the field of Agile UCD and to provide a better understanding of what this field actually entails.
Social media visual analytics are becoming important in helping emergency managers gain situation awareness and make better decisions. In this paper, we present a systematic mapping to understand how the field is structured, find out what research topics exists in social media visual analytics for emergencies, and understand what the visual analytics application categories in this area are. This systematic maping demonstrates that the work in this area has been spread over a large number of research communities. There is limited visual analytics work regarding information diffusion, rumor analysis, and location inference for emergency management, and Twitter is still among the most popular social media types.
Manually testing GUIs can be expensive and complex, so the creation of automated GUI test suites has been an area of significant interest. However, to our knowledge, the motivations of testers and the problems they encounter when attempting to create and use automated GUI tests have not been explored. We used Grounded Theory to investigate the goals motivating automated GUI testing, the issues testers encounter, and the best practices applied to overcome these issues. Through this study, we demonstrate that automated GUI test suite evolution and architecture are extremely important to the success of automated GUI testing and describe techniques that can be of use to practitioners. In addition to these best practices, this study identifies additional areas in which future research should be concentrated. Keywordsautomated GUI test; test suite architecture; test suite evolution; best practices;empirical study
Agile software engineering and user-centered design are two important development processes for ensuring that an application has good user experience. However, integrating these two different processes into a single Agile-UX approach remains difficult. We performed a systematic mapping study to identify relevant research and understand what the field of Agile-UX looks like at present. This mapping discovered that there were only a few evaluation and validation papers published to date, so we performed a review of these papers to better understand the recommendations of these types of papers. Based on this, we are able both to provide a discussion of common trends in these papers that should be of interest to practitioners and to identify gaps in existing literature that indicate strong opportunities for future work.
Unit and acceptance testing are central to agile software development, but is that all there is to agile testing? We build on previous work to provide a systematic mapping of agile testing publications at major agile conferences. The analysis presented in this paper allows us to answer research questions like: what is agile testing used for, what types of studies on agile testing have been published, what problems do people have when performing agile testing, and what benefits do these publications offer? We additionally explore topics such as: who are the major authors in this field, in which countries do these authors work, what tools are mentioned, and is the field driven by academics, practitioners, or collaborations? This paper presents our analysis of these topics in order to better structure future work in the field of agile testing and to provide a better understanding of what this field actually entails.
We used existing studies on the integration of user experience design and agile methods as a basis to develop a framework for integrating UX and Agile. We performed a field study in an ongoing project of a medium-sized company in order to check if the proposed framework fits in the real world, and how some aspects of the integration of UX and Agile work in a real project. This led us to some conclusions situating contributions from practice to theory and back again. The framework is briefly described in this paper and consists of a set of practices, artifacts, and techniques derived from the literature. By combining theory and practice we were able to confirm some thoughts and identify some gaps—both in the company process and in our proposed framework—and drive our attention to new issues that need to be addressed. We believe that the most important issues in our case study are: UX designers cannot collaborate closely with developers because UX designers are working on multiple projects and that UX designers cannot work up front because they are too busy with too many projects at the same time.
Modern software development often involves the use of complex, reusable components called Application Programming Interfaces (APIs). Developers use APIs to complete tasks they could not otherwise accomplish in a reasonable time. These components are now vital to mainstream software development. But as APIs have become more important, understanding how to make them more usable is becoming a significant research question. To assess the current state of research in the field, we conducted a systematic mapping. A total of 28 papers were reviewed and categorized based on their research type and on the evaluation method employed by its authors. We extended the analysis of a subset of the papers we reviewed beyond the usual limits of a systematic map in order to more closely examine details of their evaluations - such as their structure and validity - and to summarize their recommendations. Based on these results, common problems in the field are discussed and future research directions are suggested.
Testing has been a cornerstone of agile software development methodologies since early in the history of the field. However, the terminology used to describe the field - as well as the evidence in existing literature - is largely inconsistent. In order to better structure our understanding of the field and to guide future work, we conducted a systematic mapping of agile testing. We investigated five research questions: which authors are most active in agile testing; what is agile testing used for; what types of paper tend to be published in this field; how do practitioners and academics contribute to research in this field; and what tools are used to conduct agile testing? Of particular interest is our investigation into the source of these publications, which indicates that academics and practitioners focus on different types of publication and, disturbingly, that the number of practitioner papers in the sources we searched is strongly down since 2010.
Web services have been gaining popularity since the introduction of Service-oriented architecture and cloud computing. With more and more legacy systems migrating to service-oriented architectures and the cloud, an urgent need for proper testing techniques is becoming apparent. This paper provides an overview of the current state of research into testing of web services. To understand this subject, we conducted a systematic mapping. The results suggest that research into testing web services is still in its early stages. We provide recommendations about holes in existing research that need to be addressed and directions for future research that will have maximum novelty and potential for impact on the field.
This chapter gives an overview of agile software development processes and techniques. The first part of the chapter covers the major agile project management techniques with a focus on project planning. Iteration planning and interaction design approaches are given special focus. The second part of the chapter covers agile quality assurance with a focus on test-driven development and the state space of testing. Current problems in agile testing, including measuring test quality and testing applications with large state spaces, are discussed.
This paper presents a technique for test-driven development of GUI based applications, as well as a pilot evaluation. In our approach, user interface prototypes are created in such a way as to allow capture/replay tools to record interactions with them. These recordings can then be replayed on the actual GUI as it is being developed in a test-driven fashion. The pilot evaluation found that developers integrated GUI tests, based on user interface prototypes,into their development process and used them as a way to determine when a feature is actually complete.Study participants felt that TDD of GUI based applications is useful.
This paper introduces rule-based exploratory testing, an approach to GUI testing that combines aspects of manual exploratory testing with rule-based test automation. This approach uses short, automated rules to increase the bug-detection capability of recorded exploratory test sessions. A preliminary evaluation found that this approach can be used to detect both general and application-specific bugs, but that rules for general bugs are easier to transfer between applications. Also, despite the advantages of keyword-based testing, it interferes with the transfer of rules between applications.
Lack of tool support is hindering the growing interest in incorporating usability evaluation into agile software development practices. To address this concern we have developed ActiveStory Enhanced, a tool for creation and remote evaluation of low-fidelity prototypes. Building on its predecessor, ActiveStory Enhanced remotely collects more forms of usability data and provides new visualizations of this data to aid in the detection of usability flaws.
This chapter describes the development of GUI-based applications, from usability engineering and prototyping to acceptance test-driven development, in an agile context. An overview of current agile interaction design practices will be presented, including a thorough analysis of the current role of prototyping and current attempts to facilitate test-driven development of GUI systems, as presented in academic and industrial literature. Traditional usability engineering approaches shows that if user input is taken into consideration early in the development process by repeatedly conducting usability tests on low-fidelity prototypes of the GUI system, the final version of the GUI will be both more usable and less likely to require revision. The major risk associated with test-driven development of GUIs is the high likelihood of change in the target GUI, which can make test development unnecessarily expensive and time consuming. A unification of these styles of development will be presented, along with a prediction of how this process can be used to simplify creating testable GUI-based applications by agile teams.
Test-driven development of GUIs is currently very difficult. On the one hand, to avoid frequent updates of the tests, test-driven development requires a degree of stability in the application under development, whereas GUIs are very likely to change during development. On the other hand, the easiest way of creating GUI tests - using a capture/replay tool - requires the GUI to exist. This paper introduces a new approach to user-interface test-driven development, wherein a capture-replay tool is used to record test scripts from low-fidelity prototypes. This allows GUI tests to be