About
343
Publications
188,794
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
3,691
Citations
Citations since 2017
Introduction
Additional affiliations
August 2002 - present
Publications
Publications (343)
Resumo Este relatório técnico apresenta um jogo educacional chamado ActGame (Activity Diagram Game). O ActGame é um jogo educacional baseado em cartas, que visa ajudar os alunos durante a modelagem de diagrama de atividades. O jogo auxilia na identificação dos elementos do diagrama de atividades e também na construção do diagrama a partir de uma de...
Pressure for higher productivity and faster delivery is increasingly pervading software organizations. This can lead software engineers to act like chess players playing a gambit -- making sacrifices of their technically sound estimates, thus submitting their teams to time pressure. In turn, time pressure can have varied detrimental effects, such a...
Este relatório técnico apresenta um mapeamento sistemático que visa identificar, avaliar e analisar quais as tecnologias abordadas em IHC (Interação Humano-Computador) que promovem a usabilidade no processo de software. E através deste, documentar os estudos relacionados encontrados nas bibliotecas digitais IEEE Xplore e Scopus por meio de uma abor...
Context: Unified Modeling Language (UML) is a widely used modeling language for object-oriented systems development. However, software engineers either did not use the UML at all or used it only selectively and informally. One of the reasons for this is related to the difficulties software engineers face in learning UML. Objective: This study aims...
Este arquivo apresenta um relatório técnico sobre um Estudo de Mapeamento Sistemático (MSL) sobre as dificuldades relacionadas à UML e seus diagramas.
Chatbots têm sido estabelecidos com múltiplos propósitos para apoiar atividades educacionais. Em razão disso, o número de relatos sobre o impacto decorrente do uso desse tipo de software tem aumentado e estudos secundários têm surgido na literatura. Apesar de existirem estudos secundários, ainda não há estudos terciários que ofereçam uma visão crít...
Developer Experience (DX) is defined concerning how developers think, feel and value their work. Considering that developers’ satisfaction and feelings impact the productivity and success of projects, it is necessary to understand how to improve their experience throughout the stages of the development process. Within this context, we investigated...
Context: The Internet of Things (IoT) consists of networks of physical objects embedded with sensors, software, and other technologies to maintain communication and exchange data over a network. These characteristics bring new challenges to the entire development cycle, including requirements engineering (RE). RE practices have been adapted to meet...
Context: Requirements Engineering (RE) is essential to software quality. Studies have shown that software engineers often make mistakes , such as insufficient or misunderstood requirements. Therefore , it is necessary to support all the RE phases, especially eliciting requirements. In this context, Design Thinking (DT) is commonly used to deal with...
User eXperience (UX) evaluations play an essential role in the software development process. As the results from such evaluations can drive future releases, it is necessary to identify which factors can substantially change users’ judgments about their experience to have more precise results and understand UX better. This article investigates how i...
Researchers and practitioners are becoming aware of the importance of User eXperience (UX) in mobile app development. Developing merely usable apps became insufficient to meet users’ needs, requiring developers to focus on promoting pleasurable experiences to get a competitive advantage. To that end, it is crucial to understand what factors can lea...
The main goal of the Brazilian Conference on Software: Practice and Theory (CBSoft) is to bring together researchers, practitioners, and students aiming at fostering the exchange of experience about the most recent research, tendencies, and theoretical and practical innovations in software. The conference is the top conference in the field of Latin...
Software teams are increasingly adopting different tools and communication channels to aid the software collaborative development model and coordinate tasks. Among such resources, Programming Community-based Question Answering (PCQA) forums have become widely used by developers. Such environments enable developers to get and share technical informa...
Diversas técnicas de Design Thinking (DT) têm sido usadas no desenvolvimento de software para fomentar a empatia, a colaboração, a criatividade, e auxiliar as equipes a entender as necessidades do usuário, gerar várias ideias, prototipar e selecionar a solução que atenda tais necessidades. Portanto, neste universo de várias técnicas, selecionar qua...
No contexto educacional, e comum que professores utilizem trabalhos em grupo como prática pedagógica para desenvolver nos alunos habilidades sociais que são importantes requisitos no mercado de trabalho. Assim, algumas estratégias de formação de grupos são comuns, como: grupos formados pelos próprios alunos, que podem ser por afinidades ou interess...
Software estimation is critical for a software project's success and a challenging activity. We argue that estimation problems are not restricted to the generation of estimates but also their use for commitment establishment: project stakeholders pressure estimators to change their estimates or to accept unrealistic commitments to attain business g...
Design Thinking (DT) has been incorporated into software processes by teams from startups to large companies, used in problem exploration fostering innovative solutions, and integrated into agile methods to satisfy the real stakeholders’ needs. DT places the customer needs up-front and helps to empathize with users, examining their behaviors, and p...
Conversational agents represent applications that interact in a natural language with humans. Due to their ability to process the human language, they have been explored in diverse areas, e.g., e-commerce, health, entertainment, and education. Particularly in the education field, they have been used as mechanisms that support the teaching of a seco...
Nowadays, few professionals understand the techniques and testing criteria to systematize the software testing activity in the software industry. Towards shedding some light on such problems and promoting software testing, professors in the area have established Massive Open Online Courses as educational initiatives. However, the main limitation is...
Software companies have been using Design Thinking (DT) as a user-centered design approach, putting the user at the center of the software development process. In this article, we report a Systematic Mapping Study to investigate the use of DT in software development. We evaluated 127 papers from 2010 to 2021. We analyzed how DT is integrated in sof...
Software bots automate tasks within Open Source Software (OSS) projects' pull requests and save reviewing time and effort ("the good"). However, their interactions can be disruptive and noisy and lead to information overload ("the bad"). To identify strategies to overcome such problems, we applied Design Fiction as a participatory method with 32 pr...
Human-Computer Interaction (HCI) is a complex communication phenomenon involving human beings and computer systems that gained large attention from industry and academia with the advent of new types of interactive systems (mobile applications, smart cities, smart homes, ubiquitous systems and so on). Despite of its importance, there is still a lack...
Requirements specifications are essential to properly communicate requirements among the software development team members. However, each role in the team has different informational needs in order to perform their activities. Thus, the requirements engineer should provide the necessary information to meet each team member's necessities to reduce e...
Research seeks to understand the preferences of different user profiles in games and gamified environments. In this sense, this paper aims to identify and analyze the preferences and behaviors of users of different profiles within a gamification platform created around a multiplayer RPG game, developed and implemented in real introductory programmi...
The popularity of mobile computing has led to the development of several mobile apps to solve end-users everyday problems. Nowadays, app stores allow users to write reviews reporting their experiences using the apps. Negative experiences can reveal the reasons why users are moving from one app to another and drive app adoption by future users. Thus...
The software artifacts developed in the early stages of the development process describe the proposed solutions for the software. For this reason, these artifacts are commonly used to support communication among members of the development team. Miscommunication through software artifacts occurs because practitioners typically focus on their modelin...
Context
Software projects involve technical and managerial activities, including software estimation. Inaccurate estimates are harmful and improving estimation methods is not enough: we need to understand more of the factors that impact estimates.
Objective
Our study aims to identify the existing evidence about the factors that affect estimates in...
User experience (UX) is a quality aspect that considers the emotions evoked by the system, extending the usability concept beyond effectiveness, efficiency, and satisfaction. Practitioners and researchers are aware of the importance of evaluating UX. Thus, UX evaluation is a growing field with diverse approaches. Despite various approaches, most of...
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Success in Open Source Software (OSS) is often perceived as an exclusively code-centric endeavor. This perception can exclude a variety of individuals with a diverse set of skills and backgrounds, in turn helping exacerbate the current diversity & inclusion imbalance in OSS. Because ones perspective of success can affect ones personal, professional...
Resumo This paper reports further on Helius, a collaborative recommendation system of Design Thinking techniques for software development. DT has been using as an approach for problem-solving, supporting software development activities such as Requirement Engineering (RE). DT integrated to RE fosters empathy, team collaboration, creativity, and an...
Code review is essentially the process of assessing code made by a developer from the perspective of others. Considering the Modern Code Review (MCR) activities within the industry, many opportunities can be evaluated with the practitioners that adopt MCR within everyday software development. Based on that, we evaluated the perspective of software...
Together with many success stories, promises such as the increase in production speed and the improvement in stakeholders' collaboration have contributed to making agile a transformation in the software industry in which many companies want to take part. However, driven either by a natural and expected evolution or by contextual factors that challe...
Success in Open Source Software (OSS) is often perceived as an exclusively code-centric endeavor. This perception can exclude a variety of individuals with a diverse set of skills and backgrounds, in turn helping create the current diversity \& inclusion imbalance in OSS. Because people's perspectives of success affect their personal, professional,...
The success of a software application is related to users’ willingness to keep using it. In this sense, evaluating User eXperience (UX) became an important part of the software development process. Researchers have been carrying out studies by employing various methods to evaluate the UX of software products. Some studies reported varied and even c...
Despite years of research for improving accuracy, software practitioners still face software estimation difficulties. Expert judgment has been the prevalent method used in industry, and researchers' focus on raising realism in estimates when using it seems not to be enough for the much-expected improvements. Instead of focusing on the estimation pr...
Neste trabalho em progresso está sendo realizado um estudo sobre quais elementos de jogos mais motivam e atraem os diferentes tipos de usuários de sistemas gamificados, bem como quais são as tendências e interesses típicos dos usuários de cada tipo. O modelo HEXAD será adotado para classificar os usuários em seis tipos distintos. Para realizar esse...
Neste trabalho em progresso está sendo realizado um estudo sobre quais elementos de jogos mais motivam e atraem os diferentes tipos de usuários de sistemas gamificados, bem como quais são as tendências e interesses típicos dos usuários de cada tipo. O modelo HEXAD será adotado para classificar os usuários em seis tipos distintos. Para realizar esse...
Software engineering educators are continually challenged by rapidly evolving concepts, technologies, and industry demands. Due to the omnipresence of software in a digitalized society, higher education institutions (HEIs) have to educate the students such that they learn how to learn, and that they are equipped with a profound basic knowledge and...
Data-Driven Requirements Engineering (DDRE) proposes that software requirements development goes beyond the application of traditional elicitation techniques (e.g., interviews and questionnaires) by considering other sources of data, such as user reviews available on app stores, social networks, and forums. While many studies are looking for requir...
The development of systems with different features becomes increasingly challenging, given the actual context, implying on the search for new approaches for requirements elicitation. One of these approaches is design thinking (DT), a process of encouraging innovation used by designers, which presents itself as fundamental in the success of new prod...
Social isolation was a strategy adopted during the COVID-19 pandemic to slow down transmitting the disease-causing virus. Some higher education institutions have adopted Emergency Remote Education (ERE) to avoid the complete suspension of classes in this context. However, the ERE poses specific challenges for the teaching and learning process. In t...
Artificial Intelligence (AI) or Machine Learning (ML) systems have been widely adopted as value propositions by companies in all industries in order to create or extend the services and products they offer. However, developing AI/ML systems has presented several engineering problems that are different from those that arise in, non-AI/ML software de...